import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { OperationState } from '@azure/core-lro'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; import { SimplePollerLike } from '@azure/core-lro'; /** * Defines values for CreatedByType. \ * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **User** \ * **Application** \ * **ManagedIdentity** \ * **Key** */ export declare type CreatedByType = string; /** Datadog resource can be created or not properties. */ export declare interface CreateResourceSupportedProperties { /** * The ARM id of the subscription. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * Indicates if selected subscription supports Datadog resource creation, if not it is already being monitored for the selected organization via multi subscription feature. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly creationSupported?: boolean; } /** Datadog resource can be created or not. */ export declare interface CreateResourceSupportedResponse { /** Represents the properties of the resource. */ properties?: CreateResourceSupportedProperties; } export declare interface CreateResourceSupportedResponseList { value?: CreateResourceSupportedResponse[]; } /** Interface representing a CreationSupported. */ export declare interface CreationSupported { /** * Informs if the current subscription is being already monitored for selected Datadog organization. * @param datadogOrganizationId Datadog Organization Id * @param options The options parameters. */ list(datadogOrganizationId: string, options?: CreationSupportedListOptionalParams): PagedAsyncIterableIterator; /** * Informs if the current subscription is being already monitored for selected Datadog organization. * @param datadogOrganizationId Datadog Organization Id * @param options The options parameters. */ get(datadogOrganizationId: string, options?: CreationSupportedGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface CreationSupportedGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type CreationSupportedGetResponse = CreateResourceSupportedResponse; /** Optional parameters. */ export declare interface CreationSupportedListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type CreationSupportedListResponse = CreateResourceSupportedResponseList; /** Terms properties. */ export declare interface DatadogAgreementProperties { /** Publisher identifier string. */ publisher?: string; /** Product identifier string. */ product?: string; /** Plan identifier string. */ plan?: string; /** Link to HTML with Microsoft and Publisher terms. */ licenseTextLink?: string; /** Link to the privacy policy of the publisher. */ privacyPolicyLink?: string; /** Date and time in UTC of when the terms were accepted. This is empty if Accepted is false. */ retrieveDatetime?: Date; /** Terms signature. */ signature?: string; /** If any version of the terms have been accepted, otherwise false. */ accepted?: boolean; } export declare interface DatadogAgreementResource { /** * ARM id of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Name of the agreement. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The type of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** Represents the properties of the resource. */ properties?: DatadogAgreementProperties; /** * Metadata pertaining to creation and last modification of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; } /** Response of a list operation. */ export declare interface DatadogAgreementResourceListResponse { /** Results of a list operation. */ value?: DatadogAgreementResource[]; /** Link to the next set of results, if any. */ nextLink?: string; } export declare interface DatadogApiKey { /** The user that created the API key. */ createdBy?: string; /** The name of the API key. */ name?: string; /** The value of the API key. */ key: string; /** The time of creation of the API key. */ created?: string; } /** Response of a list operation. */ export declare interface DatadogApiKeyListResponse { /** Results of a list operation. */ value?: DatadogApiKey[]; /** Link to the next set of results, if any. */ nextLink?: string; } export declare interface DatadogHost { /** The name of the host. */ name?: string; /** The aliases for the host installed via the Datadog agent. */ aliases?: string[]; /** The Datadog integrations reporting metrics for the host. */ apps?: string[]; meta?: DatadogHostMetadata; } /** Response of a list operation. */ export declare interface DatadogHostListResponse { /** Results of a list operation. */ value?: DatadogHost[]; /** Link to the next set of results, if any. */ nextLink?: string; } export declare interface DatadogHostMetadata { /** The agent version. */ agentVersion?: string; installMethod?: DatadogInstallMethod; logsAgent?: DatadogLogsAgent; } export declare interface DatadogInstallMethod { /** The tool. */ tool?: string; /** The tool version. */ toolVersion?: string; /** The installer version. */ installerVersion?: string; } export declare interface DatadogLogsAgent { /** The transport. */ transport?: string; } export declare interface DatadogMonitorResource { /** * ARM id of the monitor resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Name of the monitor resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The type of the monitor resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; sku?: ResourceSku; /** Properties specific to the monitor resource. */ properties?: MonitorProperties; identity?: IdentityProperties; /** Dictionary of */ tags?: { [propertyName: string]: string; }; location: string; /** * Metadata pertaining to creation and last modification of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; } /** Response of a list operation. */ export declare interface DatadogMonitorResourceListResponse { /** Results of a list operation. */ value?: DatadogMonitorResource[]; /** Link to the next set of results, if any. */ nextLink?: string; } /** The parameters for a PATCH request to a monitor resource. */ export declare interface DatadogMonitorResourceUpdateParameters { /** The set of properties that can be update in a PATCH request to a monitor resource. */ properties?: MonitorUpdateProperties; /** The new tags of the monitor resource. */ tags?: { [propertyName: string]: string; }; sku?: ResourceSku; } /** Specify the Datadog organization name. In the case of linking to existing organizations, Id, ApiKey, and Applicationkey is required as well. */ export declare interface DatadogOrganizationProperties { /** Name of the Datadog organization. */ name?: string; /** Id of the Datadog organization. */ id?: string; /** The auth code used to linking to an existing Datadog organization. */ linkingAuthCode?: string; /** The client_id from an existing in exchange for an auth token to link organization. */ linkingClientId?: string; /** The redirect URI for linking. */ redirectUri?: string; /** Api key associated to the Datadog organization. */ apiKey?: string; /** Application key associated to the Datadog organization. */ applicationKey?: string; /** The Id of the Enterprise App used for Single sign on. */ enterpriseAppId?: string; /** The configuration which describes the state of cloud security posture management. This collects configuration information for all resources in a subscription and track conformance to industry benchmarks. */ cspm?: boolean; } export declare interface DatadogSetPasswordLink { setPasswordLink?: string; } export declare interface DatadogSingleSignOnProperties { /** NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; /** Various states of the SSO resource */ singleSignOnState?: SingleSignOnStates; /** The Id of the Enterprise App used for Single sign-on. */ enterpriseAppId?: string; /** * The login URL specific to this Datadog Organization. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly singleSignOnUrl?: string; } export declare interface DatadogSingleSignOnResource { /** * ARM id of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * Name of the configuration. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The type of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; properties?: DatadogSingleSignOnProperties; /** * Metadata pertaining to creation and last modification of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; } /** Response of a list operation. */ export declare interface DatadogSingleSignOnResourceListResponse { /** Results of a list operation. */ value?: DatadogSingleSignOnResource[]; /** Link to the next set of results, if any. */ nextLink?: string; } /** The resource management error additional info. */ export declare interface ErrorAdditionalInfo { /** * The additional info type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** * The additional info. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly info?: Record; } /** The error detail. */ export declare interface ErrorDetail { /** * The error code. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly code?: string; /** * The error message. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly message?: string; /** * The error target. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly target?: string; /** * The error details. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly details?: ErrorDetail[]; /** * The error additional info. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly additionalInfo?: ErrorAdditionalInfo[]; } /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ export declare interface ErrorResponse { /** The error object. */ error?: ErrorDetail; } /** The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored. */ export declare interface FilteringTag { /** The name (also known as the key) of the tag. */ name?: string; /** The value of the tag. */ value?: string; /** Valid actions for a filtering tag. Exclusion takes priority over inclusion. */ action?: TagAction; } /** * Given the last `.value` produced by the `byPage` iterator, * returns a continuation token that can be used to begin paging from * that point later. * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator. * @returns The continuation token that can be passed into byPage() during future calls. */ export declare function getContinuationToken(page: unknown): string | undefined; export declare interface IdentityProperties { /** * The identity ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly principalId?: string; /** * The tenant ID of resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly tenantId?: string; /** Specifies the identity type of the Datadog Monitor. At this time the only allowed value is 'SystemAssigned'. */ type?: ManagedIdentityTypes; } /** Known values of {@link CreatedByType} that the service accepts. */ export declare enum KnownCreatedByType { /** User */ User = "User", /** Application */ Application = "Application", /** ManagedIdentity */ ManagedIdentity = "ManagedIdentity", /** Key */ Key = "Key" } /** Known values of {@link LiftrResourceCategories} that the service accepts. */ export declare enum KnownLiftrResourceCategories { /** Unknown */ Unknown = "Unknown", /** MonitorLogs */ MonitorLogs = "MonitorLogs" } /** Known values of {@link ManagedIdentityTypes} that the service accepts. */ export declare enum KnownManagedIdentityTypes { /** SystemAssigned */ SystemAssigned = "SystemAssigned", /** UserAssigned */ UserAssigned = "UserAssigned" } /** Known values of {@link MarketplaceSubscriptionStatus} that the service accepts. */ export declare enum KnownMarketplaceSubscriptionStatus { /** Provisioning */ Provisioning = "Provisioning", /** Active */ Active = "Active", /** Suspended */ Suspended = "Suspended", /** Unsubscribed */ Unsubscribed = "Unsubscribed" } /** Known values of {@link MonitoringStatus} that the service accepts. */ export declare enum KnownMonitoringStatus { /** Enabled */ Enabled = "Enabled", /** Disabled */ Disabled = "Disabled" } /** Known values of {@link Operation} that the service accepts. */ export declare enum KnownOperation { /** AddBegin */ AddBegin = "AddBegin", /** AddComplete */ AddComplete = "AddComplete", /** DeleteBegin */ DeleteBegin = "DeleteBegin", /** DeleteComplete */ DeleteComplete = "DeleteComplete", /** Active */ Active = "Active" } /** Known values of {@link ProvisioningState} that the service accepts. */ export declare enum KnownProvisioningState { /** Accepted */ Accepted = "Accepted", /** Creating */ Creating = "Creating", /** Updating */ Updating = "Updating", /** Deleting */ Deleting = "Deleting", /** Succeeded */ Succeeded = "Succeeded", /** Failed */ Failed = "Failed", /** Canceled */ Canceled = "Canceled", /** Deleted */ Deleted = "Deleted", /** NotSpecified */ NotSpecified = "NotSpecified" } /** Known values of {@link SingleSignOnStates} that the service accepts. */ export declare enum KnownSingleSignOnStates { /** Initial */ Initial = "Initial", /** Enable */ Enable = "Enable", /** Disable */ Disable = "Disable", /** Existing */ Existing = "Existing" } /** Known values of {@link Status} that the service accepts. */ export declare enum KnownStatus { /** InProgress */ InProgress = "InProgress", /** Active */ Active = "Active", /** Failed */ Failed = "Failed", /** Deleting */ Deleting = "Deleting" } /** Known values of {@link TagAction} that the service accepts. */ export declare enum KnownTagAction { /** Include */ Include = "Include", /** Exclude */ Exclude = "Exclude" } /** * Defines values for LiftrResourceCategories. \ * {@link KnownLiftrResourceCategories} can be used interchangeably with LiftrResourceCategories, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Unknown** \ * **MonitorLogs** */ export declare type LiftrResourceCategories = string; /** The definition of a linked resource. */ export declare interface LinkedResource { /** The ARM id of the linked resource. */ id?: string; } /** Response of a list operation. */ export declare interface LinkedResourceListResponse { /** Results of a list operation. */ value?: LinkedResource[]; /** Link to the next set of results, if any. */ nextLink?: string; } /** Set of rules for sending logs for the Monitor resource. */ export declare interface LogRules { /** Flag specifying if AAD logs should be sent for the Monitor resource. */ sendAadLogs?: boolean; /** Flag specifying if Azure subscription logs should be sent for the Monitor resource. */ sendSubscriptionLogs?: boolean; /** Flag specifying if Azure resource logs should be sent for the Monitor resource. */ sendResourceLogs?: boolean; /** List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags. */ filteringTags?: FilteringTag[]; } /** * Defines values for ManagedIdentityTypes. \ * {@link KnownManagedIdentityTypes} can be used interchangeably with ManagedIdentityTypes, * this enum contains the known values that the service supports. * ### Known values supported by the service * **SystemAssigned** \ * **UserAssigned** */ export declare type ManagedIdentityTypes = string; /** Interface representing a MarketplaceAgreements. */ export declare interface MarketplaceAgreements { /** * List Datadog marketplace agreements in the subscription. * @param options The options parameters. */ list(options?: MarketplaceAgreementsListOptionalParams): PagedAsyncIterableIterator; /** * Create Datadog marketplace agreement in the subscription. * @param options The options parameters. */ createOrUpdate(options?: MarketplaceAgreementsCreateOrUpdateOptionalParams): Promise; } /** Optional parameters. */ export declare interface MarketplaceAgreementsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { body?: DatadogAgreementResource; } /** Contains response data for the createOrUpdate operation. */ export declare type MarketplaceAgreementsCreateOrUpdateResponse = DatadogAgreementResource; /** Optional parameters. */ export declare interface MarketplaceAgreementsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type MarketplaceAgreementsListNextResponse = DatadogAgreementResourceListResponse; /** Optional parameters. */ export declare interface MarketplaceAgreementsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type MarketplaceAgreementsListResponse = DatadogAgreementResourceListResponse; /** * Defines values for MarketplaceSubscriptionStatus. \ * {@link KnownMarketplaceSubscriptionStatus} can be used interchangeably with MarketplaceSubscriptionStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Provisioning** \ * **Active** \ * **Suspended** \ * **Unsubscribed** */ export declare type MarketplaceSubscriptionStatus = string; /** Set of rules for sending metrics for the Monitor resource. */ export declare interface MetricRules { /** List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags. */ filteringTags?: FilteringTag[]; } export declare class MicrosoftDatadogClient extends coreClient.ServiceClient { $host: string; subscriptionId: string; apiVersion: string; /** * Initializes a new instance of the MicrosoftDatadogClient class. * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The ID of the target subscription. * @param options The parameter options */ constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: MicrosoftDatadogClientOptionalParams); /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ private addCustomApiVersionPolicy; marketplaceAgreements: MarketplaceAgreements; creationSupported: CreationSupported; monitors: Monitors; operations: Operations; tagRules: TagRules; singleSignOnConfigurations: SingleSignOnConfigurations; monitoredSubscriptions: MonitoredSubscriptions; } /** Optional parameters. */ export declare interface MicrosoftDatadogClientOptionalParams extends coreClient.ServiceClientOptions { /** server parameter */ $host?: string; /** Api Version */ apiVersion?: string; /** Overrides client endpoint. */ endpoint?: string; } /** The properties of a resource currently being monitored by the Datadog monitor resource. */ export declare interface MonitoredResource { /** The ARM id of the resource. */ id?: string; /** Flag indicating if resource is sending metrics to Datadog. */ sendingMetrics?: boolean; /** Reason for why the resource is sending metrics (or why it is not sending). */ reasonForMetricsStatus?: string; /** Flag indicating if resource is sending logs to Datadog. */ sendingLogs?: boolean; /** Reason for why the resource is sending logs (or why it is not sending). */ reasonForLogsStatus?: string; } /** Response of a list operation. */ export declare interface MonitoredResourceListResponse { /** Results of a list operation. */ value?: MonitoredResource[]; /** Link to the next set of results, if any. */ nextLink?: string; } /** The list of subscriptions and it's monitoring status by current Datadog monitor. */ export declare interface MonitoredSubscription { /** The subscriptionId to be monitored. */ subscriptionId?: string; /** The state of monitoring. */ status?: Status; /** The reason of not monitoring the subscription. */ error?: string; /** Definition of the properties for a TagRules resource. */ tagRules?: MonitoringTagRulesProperties; } /** The request to update subscriptions needed to be monitored by the Datadog monitor resource. */ export declare interface MonitoredSubscriptionProperties { /** * Name of the monitored subscription resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The id of the monitored subscription resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * The type of the monitored subscription resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** The request to update subscriptions needed to be monitored by the Datadog monitor resource. */ properties?: SubscriptionList; } export declare interface MonitoredSubscriptionPropertiesList { value?: MonitoredSubscriptionProperties[]; } /** Interface representing a MonitoredSubscriptions. */ export declare interface MonitoredSubscriptions { /** * List the subscriptions currently being monitored by the Datadog monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ list(resourceGroupName: string, monitorName: string, options?: MonitoredSubscriptionsListOptionalParams): PagedAsyncIterableIterator; /** * List the subscriptions currently being monitored by the Datadog monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName The configuration name. Only 'default' value is supported. * @param options The options parameters. */ get(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsGetOptionalParams): Promise; /** * Add the subscriptions that should be monitored by the Datadog monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName The configuration name. Only 'default' value is supported. * @param options The options parameters. */ beginCreateorUpdate(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsCreateorUpdateOptionalParams): Promise, MonitoredSubscriptionsCreateorUpdateResponse>>; /** * Add the subscriptions that should be monitored by the Datadog monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName The configuration name. Only 'default' value is supported. * @param options The options parameters. */ beginCreateorUpdateAndWait(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsCreateorUpdateOptionalParams): Promise; /** * Updates the subscriptions that are being monitored by the Datadog monitor resource * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName The configuration name. Only 'default' value is supported. * @param options The options parameters. */ beginUpdate(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsUpdateOptionalParams): Promise, MonitoredSubscriptionsUpdateResponse>>; /** * Updates the subscriptions that are being monitored by the Datadog monitor resource * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName The configuration name. Only 'default' value is supported. * @param options The options parameters. */ beginUpdateAndWait(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsUpdateOptionalParams): Promise; /** * Updates the subscriptions that are being monitored by the Datadog monitor resource * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName Configuration name * @param options The options parameters. */ beginDelete(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsDeleteOptionalParams): Promise, void>>; /** * Updates the subscriptions that are being monitored by the Datadog monitor resource * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName Configuration name * @param options The options parameters. */ beginDeleteAndWait(resourceGroupName: string, monitorName: string, configurationName: string, options?: MonitoredSubscriptionsDeleteOptionalParams): Promise; } /** Optional parameters. */ export declare interface MonitoredSubscriptionsCreateorUpdateOptionalParams extends coreClient.OperationOptions { /** The request to update subscriptions needed to be monitored by the Datadog monitor resource. */ body?: MonitoredSubscriptionProperties; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Contains response data for the createorUpdate operation. */ export declare type MonitoredSubscriptionsCreateorUpdateResponse = MonitoredSubscriptionProperties; /** Optional parameters. */ export declare interface MonitoredSubscriptionsDeleteOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Optional parameters. */ export declare interface MonitoredSubscriptionsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type MonitoredSubscriptionsGetResponse = MonitoredSubscriptionProperties; /** Optional parameters. */ export declare interface MonitoredSubscriptionsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type MonitoredSubscriptionsListResponse = MonitoredSubscriptionPropertiesList; /** Optional parameters. */ export declare interface MonitoredSubscriptionsUpdateOptionalParams extends coreClient.OperationOptions { /** The request to update subscriptions needed to be monitored by the Datadog monitor resource. */ body?: MonitoredSubscriptionProperties; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Contains response data for the update operation. */ export declare type MonitoredSubscriptionsUpdateResponse = MonitoredSubscriptionProperties; /** * Defines values for MonitoringStatus. \ * {@link KnownMonitoringStatus} can be used interchangeably with MonitoringStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Enabled** \ * **Disabled** */ export declare type MonitoringStatus = string; /** Capture logs and metrics of Azure resources based on ARM tags. */ export declare interface MonitoringTagRules { /** * Name of the rule set. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The id of the rule set. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * The type of the rule set. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** Definition of the properties for a TagRules resource. */ properties?: MonitoringTagRulesProperties; /** * Metadata pertaining to creation and last modification of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; } /** Response of a list operation. */ export declare interface MonitoringTagRulesListResponse { /** Results of a list operation. */ value?: MonitoringTagRules[]; /** Link to the next set of results, if any. */ nextLink?: string; } /** Definition of the properties for a TagRules resource. */ export declare interface MonitoringTagRulesProperties { /** NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; /** Set of rules for sending logs for the Monitor resource. */ logRules?: LogRules; /** Set of rules for sending metrics for the Monitor resource. */ metricRules?: MetricRules; /** Configuration to enable/disable auto-muting flag */ automuting?: boolean; } /** Properties specific to the monitor resource. */ export declare interface MonitorProperties { /** NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; /** Flag specifying if the resource monitoring is enabled or disabled. */ monitoringStatus?: MonitoringStatus; /** * Flag specifying the Marketplace Subscription Status of the resource. If payment is not made in time, the resource will go in Suspended state. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly marketplaceSubscriptionStatus?: MarketplaceSubscriptionStatus; /** Specify the Datadog organization name. In the case of linking to existing organizations, Id, ApiKey, and Applicationkey is required as well. */ datadogOrganizationProperties?: DatadogOrganizationProperties; /** Includes name, email and optionally, phone number. User Information can't be null. */ userInfo?: UserInfo; /** NOTE: This property will not be serialized. It can only be populated by the server. */ readonly liftrResourceCategory?: LiftrResourceCategories; /** * The priority of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly liftrResourcePreference?: number; } /** Interface representing a Monitors. */ export declare interface Monitors { /** * List the api keys for a given monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ listApiKeys(resourceGroupName: string, monitorName: string, options?: MonitorsListApiKeysOptionalParams): PagedAsyncIterableIterator; /** * List the hosts for a given monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ listHosts(resourceGroupName: string, monitorName: string, options?: MonitorsListHostsOptionalParams): PagedAsyncIterableIterator; /** * List all Azure resources associated to the same Datadog organization as the target resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ listLinkedResources(resourceGroupName: string, monitorName: string, options?: MonitorsListLinkedResourcesOptionalParams): PagedAsyncIterableIterator; /** * List the resources currently being monitored by the Datadog monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ listMonitoredResources(resourceGroupName: string, monitorName: string, options?: MonitorsListMonitoredResourcesOptionalParams): PagedAsyncIterableIterator; /** * List all monitors under the specified subscription. * @param options The options parameters. */ list(options?: MonitorsListOptionalParams): PagedAsyncIterableIterator; /** * List all monitors under the specified resource group. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ listByResourceGroup(resourceGroupName: string, options?: MonitorsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; /** * Get the default api key. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ getDefaultKey(resourceGroupName: string, monitorName: string, options?: MonitorsGetDefaultKeyOptionalParams): Promise; /** * Set the default api key. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ setDefaultKey(resourceGroupName: string, monitorName: string, options?: MonitorsSetDefaultKeyOptionalParams): Promise; /** * Get the properties of a specific monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ get(resourceGroupName: string, monitorName: string, options?: MonitorsGetOptionalParams): Promise; /** * Create a monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ beginCreate(resourceGroupName: string, monitorName: string, options?: MonitorsCreateOptionalParams): Promise, MonitorsCreateResponse>>; /** * Create a monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ beginCreateAndWait(resourceGroupName: string, monitorName: string, options?: MonitorsCreateOptionalParams): Promise; /** * Update a monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ beginUpdate(resourceGroupName: string, monitorName: string, options?: MonitorsUpdateOptionalParams): Promise, MonitorsUpdateResponse>>; /** * Update a monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ beginUpdateAndWait(resourceGroupName: string, monitorName: string, options?: MonitorsUpdateOptionalParams): Promise; /** * Delete a monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ beginDelete(resourceGroupName: string, monitorName: string, options?: MonitorsDeleteOptionalParams): Promise, void>>; /** * Delete a monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ beginDeleteAndWait(resourceGroupName: string, monitorName: string, options?: MonitorsDeleteOptionalParams): Promise; /** * Refresh the set password link and return a latest one. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ refreshSetPasswordLink(resourceGroupName: string, monitorName: string, options?: MonitorsRefreshSetPasswordLinkOptionalParams): Promise; } /** Optional parameters. */ export declare interface MonitorsCreateOptionalParams extends coreClient.OperationOptions { body?: DatadogMonitorResource; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Contains response data for the create operation. */ export declare type MonitorsCreateResponse = DatadogMonitorResource; /** Optional parameters. */ export declare interface MonitorsDeleteOptionalParams extends coreClient.OperationOptions { /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Optional parameters. */ export declare interface MonitorsGetDefaultKeyOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the getDefaultKey operation. */ export declare type MonitorsGetDefaultKeyResponse = DatadogApiKey; /** Optional parameters. */ export declare interface MonitorsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type MonitorsGetResponse = DatadogMonitorResource; /** Optional parameters. */ export declare interface MonitorsListApiKeysNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listApiKeysNext operation. */ export declare type MonitorsListApiKeysNextResponse = DatadogApiKeyListResponse; /** Optional parameters. */ export declare interface MonitorsListApiKeysOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listApiKeys operation. */ export declare type MonitorsListApiKeysResponse = DatadogApiKeyListResponse; /** Optional parameters. */ export declare interface MonitorsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listByResourceGroupNext operation. */ export declare type MonitorsListByResourceGroupNextResponse = DatadogMonitorResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListByResourceGroupOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listByResourceGroup operation. */ export declare type MonitorsListByResourceGroupResponse = DatadogMonitorResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListHostsNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listHostsNext operation. */ export declare type MonitorsListHostsNextResponse = DatadogHostListResponse; /** Optional parameters. */ export declare interface MonitorsListHostsOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listHosts operation. */ export declare type MonitorsListHostsResponse = DatadogHostListResponse; /** Optional parameters. */ export declare interface MonitorsListLinkedResourcesNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listLinkedResourcesNext operation. */ export declare type MonitorsListLinkedResourcesNextResponse = LinkedResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListLinkedResourcesOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listLinkedResources operation. */ export declare type MonitorsListLinkedResourcesResponse = LinkedResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListMonitoredResourcesNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listMonitoredResourcesNext operation. */ export declare type MonitorsListMonitoredResourcesNextResponse = MonitoredResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListMonitoredResourcesOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listMonitoredResources operation. */ export declare type MonitorsListMonitoredResourcesResponse = MonitoredResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type MonitorsListNextResponse = DatadogMonitorResourceListResponse; /** Optional parameters. */ export declare interface MonitorsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type MonitorsListResponse = DatadogMonitorResourceListResponse; /** Optional parameters. */ export declare interface MonitorsRefreshSetPasswordLinkOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the refreshSetPasswordLink operation. */ export declare type MonitorsRefreshSetPasswordLinkResponse = DatadogSetPasswordLink; /** Optional parameters. */ export declare interface MonitorsSetDefaultKeyOptionalParams extends coreClient.OperationOptions { body?: DatadogApiKey; } /** Optional parameters. */ export declare interface MonitorsUpdateOptionalParams extends coreClient.OperationOptions { /** The parameters for a PATCH request to a monitor resource. */ body?: DatadogMonitorResourceUpdateParameters; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Contains response data for the update operation. */ export declare type MonitorsUpdateResponse = DatadogMonitorResource; /** The set of properties that can be update in a PATCH request to a monitor resource. */ export declare interface MonitorUpdateProperties { /** Flag specifying if the resource monitoring is enabled or disabled. */ monitoringStatus?: MonitoringStatus; /** The new cloud security posture management value of the monitor resource. This collects configuration information for all resources in a subscription and track conformance to industry benchmarks. */ cspm?: boolean; } /** * Defines values for Operation. \ * {@link KnownOperation} can be used interchangeably with Operation, * this enum contains the known values that the service supports. * ### Known values supported by the service * **AddBegin** \ * **AddComplete** \ * **DeleteBegin** \ * **DeleteComplete** \ * **Active** */ export declare type Operation = string; /** The object that represents the operation. */ export declare interface OperationDisplay { /** Service provider, i.e., Microsoft.Datadog. */ provider?: string; /** Type on which the operation is performed, e.g., 'monitors'. */ resource?: string; /** Operation type, e.g., read, write, delete, etc. */ operation?: string; /** Description of the operation, e.g., 'Write monitors'. */ description?: string; } /** Result of GET request to list the Microsoft.Datadog operations. */ export declare interface OperationListResult { /** List of operations supported by the Microsoft.Datadog provider. */ value?: OperationResult[]; /** URL to get the next set of operation list results if there are any. */ nextLink?: string; } /** A Microsoft.Datadog REST API operation. */ export declare interface OperationResult { /** Operation name, i.e., {provider}/{resource}/{operation}. */ name?: string; /** The object that represents the operation. */ display?: OperationDisplay; /** Indicates whether the operation is a data action */ isDataAction?: boolean; } /** Interface representing a Operations. */ export declare interface Operations { /** * List all operations provided by Microsoft.Datadog for the 2023-01-01 api version. * @param options The options parameters. */ list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; } /** Optional parameters. */ export declare interface OperationsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type OperationsListNextResponse = OperationListResult; /** Optional parameters. */ export declare interface OperationsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type OperationsListResponse = OperationListResult; /** * Defines values for ProvisioningState. \ * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Accepted** \ * **Creating** \ * **Updating** \ * **Deleting** \ * **Succeeded** \ * **Failed** \ * **Canceled** \ * **Deleted** \ * **NotSpecified** */ export declare type ProvisioningState = string; export declare interface ResourceSku { /** Name of the SKU in {PlanId} format. For Terraform, the only allowed value is 'linking'. */ name: string; } /** Interface representing a SingleSignOnConfigurations. */ export declare interface SingleSignOnConfigurations { /** * List the single sign-on configurations for a given monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ list(resourceGroupName: string, monitorName: string, options?: SingleSignOnConfigurationsListOptionalParams): PagedAsyncIterableIterator; /** * Configures single-sign-on for this resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName Configuration name * @param options The options parameters. */ beginCreateOrUpdate(resourceGroupName: string, monitorName: string, configurationName: string, options?: SingleSignOnConfigurationsCreateOrUpdateOptionalParams): Promise, SingleSignOnConfigurationsCreateOrUpdateResponse>>; /** * Configures single-sign-on for this resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName Configuration name * @param options The options parameters. */ beginCreateOrUpdateAndWait(resourceGroupName: string, monitorName: string, configurationName: string, options?: SingleSignOnConfigurationsCreateOrUpdateOptionalParams): Promise; /** * Gets the datadog single sign-on resource for the given Monitor. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param configurationName Configuration name * @param options The options parameters. */ get(resourceGroupName: string, monitorName: string, configurationName: string, options?: SingleSignOnConfigurationsGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface SingleSignOnConfigurationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { body?: DatadogSingleSignOnResource; /** Delay to wait until next poll, in milliseconds. */ updateIntervalInMs?: number; /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ resumeFrom?: string; } /** Contains response data for the createOrUpdate operation. */ export declare type SingleSignOnConfigurationsCreateOrUpdateResponse = DatadogSingleSignOnResource; /** Optional parameters. */ export declare interface SingleSignOnConfigurationsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type SingleSignOnConfigurationsGetResponse = DatadogSingleSignOnResource; /** Optional parameters. */ export declare interface SingleSignOnConfigurationsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type SingleSignOnConfigurationsListNextResponse = DatadogSingleSignOnResourceListResponse; /** Optional parameters. */ export declare interface SingleSignOnConfigurationsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type SingleSignOnConfigurationsListResponse = DatadogSingleSignOnResourceListResponse; /** * Defines values for SingleSignOnStates. \ * {@link KnownSingleSignOnStates} can be used interchangeably with SingleSignOnStates, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Initial** \ * **Enable** \ * **Disable** \ * **Existing** */ export declare type SingleSignOnStates = string; /** * Defines values for Status. \ * {@link KnownStatus} can be used interchangeably with Status, * this enum contains the known values that the service supports. * ### Known values supported by the service * **InProgress** \ * **Active** \ * **Failed** \ * **Deleting** */ export declare type Status = string; /** The request to update subscriptions needed to be monitored by the Datadog monitor resource. */ export declare interface SubscriptionList { /** The operation for the patch on the resource. */ operation?: Operation; /** List of subscriptions and the state of the monitoring. */ monitoredSubscriptionList?: MonitoredSubscription[]; } /** Metadata pertaining to creation and last modification of the resource. */ export declare interface SystemData { /** The identity that created the resource. */ createdBy?: string; /** The type of identity that created the resource. */ createdByType?: CreatedByType; /** The timestamp of resource creation (UTC). */ createdAt?: Date; /** The identity that last modified the resource. */ lastModifiedBy?: string; /** The type of identity that last modified the resource. */ lastModifiedByType?: CreatedByType; /** The timestamp of resource last modification (UTC) */ lastModifiedAt?: Date; } /** * Defines values for TagAction. \ * {@link KnownTagAction} can be used interchangeably with TagAction, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Include** \ * **Exclude** */ export declare type TagAction = string; /** Interface representing a TagRules. */ export declare interface TagRules { /** * List the tag rules for a given monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param options The options parameters. */ list(resourceGroupName: string, monitorName: string, options?: TagRulesListOptionalParams): PagedAsyncIterableIterator; /** * Create or update a tag rule set for a given monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param ruleSetName Rule set name * @param options The options parameters. */ createOrUpdate(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: TagRulesCreateOrUpdateOptionalParams): Promise; /** * Get a tag rule set for a given monitor resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param monitorName Monitor resource name * @param ruleSetName Rule set name * @param options The options parameters. */ get(resourceGroupName: string, monitorName: string, ruleSetName: string, options?: TagRulesGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface TagRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { /** Capture logs and metrics of Azure resources based on ARM tags. */ body?: MonitoringTagRules; } /** Contains response data for the createOrUpdate operation. */ export declare type TagRulesCreateOrUpdateResponse = MonitoringTagRules; /** Optional parameters. */ export declare interface TagRulesGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type TagRulesGetResponse = MonitoringTagRules; /** Optional parameters. */ export declare interface TagRulesListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type TagRulesListNextResponse = MonitoringTagRulesListResponse; /** Optional parameters. */ export declare interface TagRulesListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type TagRulesListResponse = MonitoringTagRulesListResponse; /** Includes name, email and optionally, phone number. User Information can't be null. */ export declare interface UserInfo { /** Name of the user */ name?: string; /** Email of the user used by Datadog for contacting them if needed */ emailAddress?: string; /** Phone number of the user used by Datadog for contacting them if needed */ phoneNumber?: string; } export { }