import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Monitor resource in Oracle Cloud Infrastructure Apm Synthetics service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/apm-synthetic-monitoring/latest/Monitor * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/apm/apm_synthetics * * Creates a new monitor. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testMonitor = new oci.apmsynthetics.Config("test_monitor", { * apmDomainId: testApmDomain.id, * displayName: monitorDisplayName, * monitorType: monitorMonitorType, * repeatIntervalInSeconds: Number(monitorRepeatIntervalInSeconds), * vantagePoints: [{ * name: monitorVantagePointsName, * displayName: monitorVantagePointsParamDisplayName, * }], * availabilityConfiguration: { * maxAllowedFailuresPerInterval: Number(monitorAvailabilityConfigurationMaxAllowedFailuresPerInterval), * minAllowedRunsPerInterval: Number(monitorAvailabilityConfigurationMinAllowedRunsPerInterval), * }, * batchIntervalInSeconds: Number(monitorBatchIntervalInSeconds), * configuration: { * clientCertificateDetails: { * clientCertificate: { * content: monitorConfigurationClientCertificateDetailsClientCertificateContent, * fileName: monitorConfigurationClientCertificateDetailsClientCertificateFileName, * }, * privateKey: { * content: monitorConfigurationClientCertificateDetailsPrivateKeyContent, * fileName: monitorConfigurationClientCertificateDetailsPrivateKeyFileName, * }, * }, * configType: monitorConfigurationConfigType, * connectionString: monitorConfigurationConnectionString, * databaseAuthenticationDetails: { * password: { * password: monitorConfigurationDatabaseAuthenticationDetailsPasswordPassword, * passwordType: monitorConfigurationDatabaseAuthenticationDetailsPasswordPasswordType, * vaultSecretId: testSecret.id, * }, * username: monitorConfigurationDatabaseAuthenticationDetailsUsername, * }, * databaseConnectionType: monitorConfigurationDatabaseConnectionType, * databaseRole: monitorConfigurationDatabaseRole, * databaseType: monitorConfigurationDatabaseType, * databaseWalletDetails: { * databaseWallet: monitorConfigurationDatabaseWalletDetailsDatabaseWallet, * serviceName: testService.name, * }, * dnsConfiguration: { * isOverrideDns: monitorConfigurationDnsConfigurationIsOverrideDns === "true", * overrideDnsIp: monitorConfigurationDnsConfigurationOverrideDnsIp, * }, * downloadSizeLimitInBytes: Number(monitorConfigurationDownloadSizeLimitInBytes), * ftpBasicAuthenticationDetails: { * password: { * password: monitorConfigurationFtpBasicAuthenticationDetailsPasswordPassword, * passwordType: monitorConfigurationFtpBasicAuthenticationDetailsPasswordPasswordType, * vaultSecretId: testSecret.id, * }, * username: monitorConfigurationFtpBasicAuthenticationDetailsUsername, * }, * ftpProtocol: monitorConfigurationFtpProtocol, * ftpRequestType: monitorConfigurationFtpRequestType, * isActiveMode: monitorConfigurationIsActiveMode === "true", * isCertificateValidationEnabled: monitorConfigurationIsCertificateValidationEnabled === "true", * isDefaultSnapshotEnabled: monitorConfigurationIsDefaultSnapshotEnabled === "true", * isFailureRetried: monitorConfigurationIsFailureRetried === "true", * isQueryRecursive: monitorConfigurationIsQueryRecursive === "true", * isRedirectionEnabled: monitorConfigurationIsRedirectionEnabled === "true", * nameServer: monitorConfigurationNameServer, * networkConfiguration: { * numberOfHops: Number(monitorConfigurationNetworkConfigurationNumberOfHops), * probeMode: monitorConfigurationNetworkConfigurationProbeMode, * probePerHop: Number(monitorConfigurationNetworkConfigurationProbePerHop), * protocol: monitorConfigurationNetworkConfigurationProtocol, * transmissionRate: Number(monitorConfigurationNetworkConfigurationTransmissionRate), * }, * protocol: monitorConfigurationProtocol, * query: monitorConfigurationQuery, * recordType: monitorConfigurationRecordType, * reqAuthenticationDetails: { * authHeaders: [{ * headerName: monitorConfigurationReqAuthenticationDetailsAuthHeadersHeaderName, * headerValue: monitorConfigurationReqAuthenticationDetailsAuthHeadersHeaderValue, * }], * authRequestMethod: monitorConfigurationReqAuthenticationDetailsAuthRequestMethod, * authRequestPostBody: monitorConfigurationReqAuthenticationDetailsAuthRequestPostBody, * authToken: monitorConfigurationReqAuthenticationDetailsAuthToken, * authUrl: monitorConfigurationReqAuthenticationDetailsAuthUrl, * authUserName: testUser.name, * authUserPassword: monitorConfigurationReqAuthenticationDetailsAuthUserPassword, * oauthScheme: monitorConfigurationReqAuthenticationDetailsOauthScheme, * }, * reqAuthenticationScheme: monitorConfigurationReqAuthenticationScheme, * requestHeaders: [{ * headerName: monitorConfigurationRequestHeadersHeaderName, * headerValue: monitorConfigurationRequestHeadersHeaderValue, * }], * requestMethod: monitorConfigurationRequestMethod, * requestPostBody: monitorConfigurationRequestPostBody, * requestQueryParams: [{ * paramName: monitorConfigurationRequestQueryParamsParamName, * paramValue: monitorConfigurationRequestQueryParamsParamValue, * }], * uploadFileSizeInBytes: Number(monitorConfigurationUploadFileSizeInBytes), * verifyResponseCodes: monitorConfigurationVerifyResponseCodes, * verifyResponseContent: monitorConfigurationVerifyResponseContent, * verifyTexts: [{ * text: monitorConfigurationVerifyTextsText, * }], * }, * definedTags: { * "foo-namespace.bar-key": "value", * }, * freeformTags: { * "bar-key": "value", * }, * isIpv6: monitorIsIpv6 === "true", * isRunNow: monitorIsRunNow === "true", * isRunOnce: monitorIsRunOnce === "true", * maintenanceWindowSchedule: { * timeEnded: monitorMaintenanceWindowScheduleTimeEnded, * timeStarted: monitorMaintenanceWindowScheduleTimeStarted, * }, * schedulingPolicy: monitorSchedulingPolicy, * scriptId: testScript.id, * scriptParameters: [{ * paramName: monitorScriptParametersParamName, * paramValue: monitorScriptParametersParamValue, * }], * status: monitorStatus, * target: monitorTarget, * timeoutInSeconds: Number(monitorTimeoutInSeconds), * }); * ``` * * ## Import * * Monitors can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:ApmSynthetics/config:Config test_monitor "monitors/{monitorId}/apmDomainId/{apmDomainId}" * ``` */ export declare class Config extends pulumi.CustomResource { /** * Get an existing Config resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ConfigState, opts?: pulumi.CustomResourceOptions): Config; /** * Returns true if the given object is an instance of Config. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Config; /** * (Updatable) The APM domain ID the request is intended for. */ readonly apmDomainId: pulumi.Output; /** * (Updatable) Monitor availability configuration details. */ readonly availabilityConfiguration: pulumi.Output; /** * (Updatable) Time interval between 2 runs in round robin batch mode (*SchedulingPolicy - BATCHED_ROUND_ROBIN). */ readonly batchIntervalInSeconds: pulumi.Output; /** * (Updatable) Details of monitor configuration. */ readonly configuration: pulumi.Output; /** * Content type of the script. */ readonly contentType: pulumi.Output; /** * Name of the user that created the monitor. */ readonly createdBy: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) Unique name that can be edited. The name should not contain any confidential information. */ readonly displayName: pulumi.Output; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) If enabled, domain name will resolve to an IPv6 address. */ readonly isIpv6: pulumi.Output; /** * (Updatable) If isRunNow is enabled, then the monitor will run immediately. */ readonly isRunNow: pulumi.Output; /** * (Updatable) If runOnce is enabled, then the monitor will run once. */ readonly isRunOnce: pulumi.Output; /** * Name of the user that recently updated the monitor. */ readonly lastUpdatedBy: pulumi.Output; /** * (Updatable) Details required to schedule maintenance window. */ readonly maintenanceWindowSchedule: pulumi.Output; /** * Type of monitor. */ readonly monitorType: pulumi.Output; /** * (Updatable) Interval in seconds after the start time when the job should be repeated. Minimum repeatIntervalInSeconds should be 300 seconds for Scripted REST, Scripted Browser and Browser monitors, and 60 seconds for REST monitor. */ readonly repeatIntervalInSeconds: pulumi.Output; /** * (Updatable) Scheduling policy to decide the distribution of monitor executions on vantage points. */ readonly schedulingPolicy: pulumi.Output; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the script. scriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null. */ readonly scriptId: pulumi.Output; /** * Name of the script. */ readonly scriptName: pulumi.Output; /** * (Updatable) List of script parameters in the monitor. This is valid only for SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null. Example: `[{"paramName": "userid", "paramValue":"testuser"}]` */ readonly scriptParameters: pulumi.Output; /** * (Updatable) Enables or disables the monitor. */ readonly status: pulumi.Output; /** * (Updatable) Specify the endpoint on which to run the monitor. For BROWSER, REST, NETWORK, DNS and FTP monitor types, target is mandatory. If target is specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script (specified by scriptId in monitor) against the specified target endpoint. If target is not specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script as it is. For NETWORK monitor with TCP protocol, a port needs to be provided along with target. Example: 192.168.0.1:80. */ readonly target: pulumi.Output; /** * The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z` */ readonly timeCreated: pulumi.Output; /** * The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z` */ readonly timeUpdated: pulumi.Output; /** * (Updatable) Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. */ readonly timeoutInSeconds: pulumi.Output; /** * Number of vantage points where monitor is running. */ readonly vantagePointCount: pulumi.Output; /** * (Updatable) A list of public and dedicated vantage points from which to execute the monitor. Use /publicVantagePoints to fetch public vantage points, and /dedicatedVantagePoints to fetch dedicated vantage points. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly vantagePoints: pulumi.Output; /** * Create a Config resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ConfigArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Config resources. */ export interface ConfigState { /** * (Updatable) The APM domain ID the request is intended for. */ apmDomainId?: pulumi.Input; /** * (Updatable) Monitor availability configuration details. */ availabilityConfiguration?: pulumi.Input; /** * (Updatable) Time interval between 2 runs in round robin batch mode (*SchedulingPolicy - BATCHED_ROUND_ROBIN). */ batchIntervalInSeconds?: pulumi.Input; /** * (Updatable) Details of monitor configuration. */ configuration?: pulumi.Input; /** * Content type of the script. */ contentType?: pulumi.Input; /** * Name of the user that created the monitor. */ createdBy?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Unique name that can be edited. The name should not contain any confidential information. */ displayName?: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) If enabled, domain name will resolve to an IPv6 address. */ isIpv6?: pulumi.Input; /** * (Updatable) If isRunNow is enabled, then the monitor will run immediately. */ isRunNow?: pulumi.Input; /** * (Updatable) If runOnce is enabled, then the monitor will run once. */ isRunOnce?: pulumi.Input; /** * Name of the user that recently updated the monitor. */ lastUpdatedBy?: pulumi.Input; /** * (Updatable) Details required to schedule maintenance window. */ maintenanceWindowSchedule?: pulumi.Input; /** * Type of monitor. */ monitorType?: pulumi.Input; /** * (Updatable) Interval in seconds after the start time when the job should be repeated. Minimum repeatIntervalInSeconds should be 300 seconds for Scripted REST, Scripted Browser and Browser monitors, and 60 seconds for REST monitor. */ repeatIntervalInSeconds?: pulumi.Input; /** * (Updatable) Scheduling policy to decide the distribution of monitor executions on vantage points. */ schedulingPolicy?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the script. scriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null. */ scriptId?: pulumi.Input; /** * Name of the script. */ scriptName?: pulumi.Input; /** * (Updatable) List of script parameters in the monitor. This is valid only for SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null. Example: `[{"paramName": "userid", "paramValue":"testuser"}]` */ scriptParameters?: pulumi.Input[] | undefined>; /** * (Updatable) Enables or disables the monitor. */ status?: pulumi.Input; /** * (Updatable) Specify the endpoint on which to run the monitor. For BROWSER, REST, NETWORK, DNS and FTP monitor types, target is mandatory. If target is specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script (specified by scriptId in monitor) against the specified target endpoint. If target is not specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script as it is. For NETWORK monitor with TCP protocol, a port needs to be provided along with target. Example: 192.168.0.1:80. */ target?: pulumi.Input; /** * The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z` */ timeCreated?: pulumi.Input; /** * The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z` */ timeUpdated?: pulumi.Input; /** * (Updatable) Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. */ timeoutInSeconds?: pulumi.Input; /** * Number of vantage points where monitor is running. */ vantagePointCount?: pulumi.Input; /** * (Updatable) A list of public and dedicated vantage points from which to execute the monitor. Use /publicVantagePoints to fetch public vantage points, and /dedicatedVantagePoints to fetch dedicated vantage points. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ vantagePoints?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a Config resource. */ export interface ConfigArgs { /** * (Updatable) The APM domain ID the request is intended for. */ apmDomainId: pulumi.Input; /** * (Updatable) Monitor availability configuration details. */ availabilityConfiguration?: pulumi.Input; /** * (Updatable) Time interval between 2 runs in round robin batch mode (*SchedulingPolicy - BATCHED_ROUND_ROBIN). */ batchIntervalInSeconds?: pulumi.Input; /** * (Updatable) Details of monitor configuration. */ configuration?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) Unique name that can be edited. The name should not contain any confidential information. */ displayName: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) If enabled, domain name will resolve to an IPv6 address. */ isIpv6?: pulumi.Input; /** * (Updatable) If isRunNow is enabled, then the monitor will run immediately. */ isRunNow?: pulumi.Input; /** * (Updatable) If runOnce is enabled, then the monitor will run once. */ isRunOnce?: pulumi.Input; /** * (Updatable) Details required to schedule maintenance window. */ maintenanceWindowSchedule?: pulumi.Input; /** * Type of monitor. */ monitorType: pulumi.Input; /** * (Updatable) Interval in seconds after the start time when the job should be repeated. Minimum repeatIntervalInSeconds should be 300 seconds for Scripted REST, Scripted Browser and Browser monitors, and 60 seconds for REST monitor. */ repeatIntervalInSeconds: pulumi.Input; /** * (Updatable) Scheduling policy to decide the distribution of monitor executions on vantage points. */ schedulingPolicy?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the script. scriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null. */ scriptId?: pulumi.Input; /** * Name of the script. */ scriptName?: pulumi.Input; /** * (Updatable) List of script parameters in the monitor. This is valid only for SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null. Example: `[{"paramName": "userid", "paramValue":"testuser"}]` */ scriptParameters?: pulumi.Input[] | undefined>; /** * (Updatable) Enables or disables the monitor. */ status?: pulumi.Input; /** * (Updatable) Specify the endpoint on which to run the monitor. For BROWSER, REST, NETWORK, DNS and FTP monitor types, target is mandatory. If target is specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script (specified by scriptId in monitor) against the specified target endpoint. If target is not specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script as it is. For NETWORK monitor with TCP protocol, a port needs to be provided along with target. Example: 192.168.0.1:80. */ target?: pulumi.Input; /** * (Updatable) Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that. */ timeoutInSeconds?: pulumi.Input; /** * (Updatable) A list of public and dedicated vantage points from which to execute the monitor. Use /publicVantagePoints to fetch public vantage points, and /dedicatedVantagePoints to fetch dedicated vantage points. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ vantagePoints: pulumi.Input[]>; } //# sourceMappingURL=config.d.ts.map