From 2f29fc3fba9c1358b68ea9d271fe47762bddd306 Mon Sep 17 00:00:00 2001 From: "bot@pulumi.com" Date: Wed, 18 Dec 2024 03:15:56 +0000 Subject: [PATCH] make build_sdks --- .../GetIntegrationAvailableLogsServices.cs | 56 + .../Aws/GetIntegrationAvailableNamespaces.cs | 56 + .../IntegrationAccountAuthConfigArgs.cs | 26 + ...nAccountAuthConfigAwsAuthConfigKeysArgs.cs | 38 + ...countAuthConfigAwsAuthConfigKeysGetArgs.cs | 38 + ...nAccountAuthConfigAwsAuthConfigRoleArgs.cs | 32 + ...countAuthConfigAwsAuthConfigRoleGetArgs.cs | 32 + .../IntegrationAccountAuthConfigGetArgs.cs | 26 + .../IntegrationAccountAwsRegionsArgs.cs | 38 + .../IntegrationAccountAwsRegionsGetArgs.cs | 38 + .../IntegrationAccountLogsConfigArgs.cs | 23 + .../IntegrationAccountLogsConfigGetArgs.cs | 23 + ...ionAccountLogsConfigLambdaForwarderArgs.cs | 44 + ...AccountLogsConfigLambdaForwarderGetArgs.cs | 44 + .../IntegrationAccountMetricsConfigArgs.cs | 59 + .../IntegrationAccountMetricsConfigGetArgs.cs | 59 + ...ccountMetricsConfigNamespaceFiltersArgs.cs | 44 + ...untMetricsConfigNamespaceFiltersGetArgs.cs | 44 + ...rationAccountMetricsConfigTagFilterArgs.cs | 38 + ...ionAccountMetricsConfigTagFilterGetArgs.cs | 38 + .../IntegrationAccountResourcesConfigArgs.cs | 32 + ...ntegrationAccountResourcesConfigGetArgs.cs | 32 + .../IntegrationAccountTracesConfigArgs.cs | 26 + .../IntegrationAccountTracesConfigGetArgs.cs | 26 + ...tionAccountTracesConfigXrayServicesArgs.cs | 38 + ...nAccountTracesConfigXrayServicesGetArgs.cs | 38 + sdk/dotnet/Aws/IntegrationAccount.cs | 221 ++ .../Outputs/IntegrationAccountAuthConfig.cs | 29 + ...ationAccountAuthConfigAwsAuthConfigKeys.cs | 32 + ...ationAccountAuthConfigAwsAuthConfigRole.cs | 35 + .../Outputs/IntegrationAccountAwsRegions.cs | 35 + .../Outputs/IntegrationAccountLogsConfig.cs | 24 + ...grationAccountLogsConfigLambdaForwarder.cs | 35 + .../IntegrationAccountMetricsConfig.cs | 60 + ...ionAccountMetricsConfigNamespaceFilters.cs | 35 + ...ntegrationAccountMetricsConfigTagFilter.cs | 35 + .../IntegrationAccountResourcesConfig.cs | 35 + .../Outputs/IntegrationAccountTracesConfig.cs | 27 + ...egrationAccountTracesConfigXrayServices.cs | 35 + sdk/dotnet/Cloudflare/IntegrationAccount.cs | 6 +- sdk/dotnet/Dashboard.cs | 8 +- .../GetSensitiveDataScannerStandardPattern.cs | 9 +- .../Inputs/SyntheticsTestApiStepArgs.cs | 6 + .../Inputs/SyntheticsTestApiStepGetArgs.cs | 6 + .../Inputs/SyntheticsTestApiStepRetryArgs.cs | 4 +- .../SyntheticsTestApiStepRetryGetArgs.cs | 4 +- .../SyntheticsTestMobileOptionsListArgs.cs | 108 + ...theticsTestMobileOptionsListBindingArgs.cs | 34 + ...ticsTestMobileOptionsListBindingGetArgs.cs | 34 + .../SyntheticsTestMobileOptionsListCiArgs.cs | 26 + ...yntheticsTestMobileOptionsListCiGetArgs.cs | 26 + .../SyntheticsTestMobileOptionsListGetArgs.cs | 108 + ...tMobileOptionsListMobileApplicationArgs.cs | 32 + ...bileOptionsListMobileApplicationGetArgs.cs | 32 + ...TestMobileOptionsListMonitorOptionsArgs.cs | 38 + ...tMobileOptionsListMonitorOptionsGetArgs.cs | 38 + ...yntheticsTestMobileOptionsListRetryArgs.cs | 32 + ...heticsTestMobileOptionsListRetryGetArgs.cs | 32 + ...ticsTestMobileOptionsListSchedulingArgs.cs | 38 + ...sTestMobileOptionsListSchedulingGetArgs.cs | 38 + ...obileOptionsListSchedulingTimeframeArgs.cs | 38 + ...leOptionsListSchedulingTimeframeGetArgs.cs | 38 + .../Inputs/SyntheticsTestMobileStepArgs.cs | 74 + .../Inputs/SyntheticsTestMobileStepGetArgs.cs | 74 + .../SyntheticsTestMobileStepParamsArgs.cs | 91 + ...ntheticsTestMobileStepParamsElementArgs.cs | 52 + ...eticsTestMobileStepParamsElementGetArgs.cs | 52 + ...leStepParamsElementRelativePositionArgs.cs | 26 + ...tepParamsElementRelativePositionGetArgs.cs | 26 + ...tMobileStepParamsElementUserLocatorArgs.cs | 31 + ...bileStepParamsElementUserLocatorGetArgs.cs | 31 + ...leStepParamsElementUserLocatorValueArgs.cs | 29 + ...tepParamsElementUserLocatorValueGetArgs.cs | 29 + .../SyntheticsTestMobileStepParamsGetArgs.cs | 91 + ...theticsTestMobileStepParamsPositionArgs.cs | 26 + ...ticsTestMobileStepParamsPositionGetArgs.cs | 26 + ...theticsTestMobileStepParamsVariableArgs.cs | 32 + ...ticsTestMobileStepParamsVariableGetArgs.cs | 32 + .../SyntheticsTestOptionsListRetryArgs.cs | 4 +- .../SyntheticsTestOptionsListRetryGetArgs.cs | 4 +- sdk/dotnet/Monitor.cs | 9 +- sdk/dotnet/Outputs/SyntheticsTestApiStep.cs | 7 + .../Outputs/SyntheticsTestApiStepRetry.cs | 4 +- .../SyntheticsTestMobileOptionsList.cs | 110 + .../SyntheticsTestMobileOptionsListBinding.cs | 32 + .../SyntheticsTestMobileOptionsListCi.cs | 27 + ...sTestMobileOptionsListMobileApplication.cs | 36 + ...ticsTestMobileOptionsListMonitorOptions.cs | 43 + .../SyntheticsTestMobileOptionsListRetry.cs | 35 + ...ntheticsTestMobileOptionsListScheduling.cs | 35 + ...estMobileOptionsListSchedulingTimeframe.cs | 42 + .../Outputs/SyntheticsTestMobileStep.cs | 84 + .../Outputs/SyntheticsTestMobileStepParams.cs | 100 + .../SyntheticsTestMobileStepParamsElement.cs | 56 + ...MobileStepParamsElementRelativePosition.cs | 29 + ...sTestMobileStepParamsElementUserLocator.cs | 29 + ...MobileStepParamsElementUserLocatorValue.cs | 32 + .../SyntheticsTestMobileStepParamsPosition.cs | 29 + .../SyntheticsTestMobileStepParamsVariable.cs | 35 + .../Outputs/SyntheticsTestOptionsListRetry.cs | 4 +- sdk/dotnet/SyntheticsTest.cs | 269 +- .../getIntegrationAvailableLogsServices.go | 67 + .../aws/getIntegrationAvailableNamespaces.go | 67 + sdk/go/datadog/aws/init.go | 7 + sdk/go/datadog/aws/integrationAccount.go | 324 ++ sdk/go/datadog/aws/pulumiTypes.go | 1900 ++++++++++++ .../datadog/cloudflare/integrationAccount.go | 12 +- sdk/go/datadog/dashboard.go | 26 +- .../getSensitiveDataScannerStandardPattern.go | 15 +- sdk/go/datadog/monitor.go | 12 +- sdk/go/datadog/pulumiTypes2.go | 2752 ++++++++++++++++- sdk/go/datadog/syntheticsTest.go | 221 +- .../java/com/pulumi/datadog/Dashboard.java | 10 +- .../com/pulumi/datadog/DashboardArgs.java | 24 +- .../main/java/com/pulumi/datadog/Monitor.java | 6 +- .../java/com/pulumi/datadog/MonitorArgs.java | 41 + .../com/pulumi/datadog/SyntheticsTest.java | 188 +- .../pulumi/datadog/SyntheticsTestArgs.java | 113 +- .../com/pulumi/datadog/aws/AwsFunctions.java | 100 + .../datadog/aws/IntegrationAccount.java | 186 ++ .../datadog/aws/IntegrationAccountArgs.java | 323 ++ .../IntegrationAccountAuthConfigArgs.java | 81 + ...ccountAuthConfigAwsAuthConfigKeysArgs.java | 100 + ...ccountAuthConfigAwsAuthConfigRoleArgs.java | 120 + .../IntegrationAccountAwsRegionsArgs.java | 132 + .../IntegrationAccountLogsConfigArgs.java | 63 + ...nAccountLogsConfigLambdaForwarderArgs.java | 141 + .../IntegrationAccountMetricsConfigArgs.java | 261 ++ ...ountMetricsConfigNamespaceFiltersArgs.java | 141 + ...tionAccountMetricsConfigTagFilterArgs.java | 135 + ...IntegrationAccountResourcesConfigArgs.java | 120 + .../aws/inputs/IntegrationAccountState.java | 316 ++ .../IntegrationAccountTracesConfigArgs.java | 83 + ...onAccountTracesConfigXrayServicesArgs.java | 132 + ...ntegrationAvailableLogsServicesResult.java | 85 + ...tIntegrationAvailableNamespacesResult.java | 85 + .../outputs/IntegrationAccountAuthConfig.java | 63 + ...ionAccountAuthConfigAwsAuthConfigKeys.java | 70 + ...ionAccountAuthConfigAwsAuthConfigRole.java | 78 + .../outputs/IntegrationAccountAwsRegions.java | 83 + .../outputs/IntegrationAccountLogsConfig.java | 49 + ...ationAccountLogsConfigLambdaForwarder.java | 84 + .../IntegrationAccountMetricsConfig.java | 160 + ...nAccountMetricsConfigNamespaceFilters.java | 84 + ...egrationAccountMetricsConfigTagFilter.java | 84 + .../IntegrationAccountResourcesConfig.java | 78 + .../IntegrationAccountTracesConfig.java | 57 + ...rationAccountTracesConfigXrayServices.java | 83 + .../cloudflare/IntegrationAccount.java | 4 +- .../cloudflare/IntegrationAccountArgs.java | 10 +- .../inputs/IntegrationAccountState.java | 10 +- .../pulumi/datadog/inputs/DashboardState.java | 24 +- .../inputs/SyntheticsTestApiStepArgs.java | 37 + .../SyntheticsTestApiStepRetryArgs.java | 16 +- .../SyntheticsTestMobileOptionsListArgs.java | 512 +++ ...eticsTestMobileOptionsListBindingArgs.java | 105 + ...SyntheticsTestMobileOptionsListCiArgs.java | 85 + ...obileOptionsListMobileApplicationArgs.java | 125 + ...stMobileOptionsListMonitorOptionsArgs.java | 155 + ...theticsTestMobileOptionsListRetryArgs.java | 120 + ...csTestMobileOptionsListSchedulingArgs.java | 137 + ...ileOptionsListSchedulingTimeframeArgs.java | 166 + .../inputs/SyntheticsTestMobileStepArgs.java | 392 +++ .../SyntheticsTestMobileStepParamsArgs.java | 458 +++ ...heticsTestMobileStepParamsElementArgs.java | 205 ++ ...StepParamsElementRelativePositionArgs.java | 80 + ...obileStepParamsElementUserLocatorArgs.java | 86 + ...StepParamsElementUserLocatorValueArgs.java | 100 + ...eticsTestMobileStepParamsPositionArgs.java | 80 + ...eticsTestMobileStepParamsVariableArgs.java | 124 + .../SyntheticsTestOptionsListRetryArgs.java | 16 +- .../datadog/inputs/SyntheticsTestState.java | 113 +- ...itiveDataScannerStandardPatternResult.java | 35 +- .../outputs/SyntheticsTestApiStep.java | 21 + .../outputs/SyntheticsTestApiStepRetry.java | 8 +- .../SyntheticsTestMobileOptionsList.java | 338 ++ ...yntheticsTestMobileOptionsListBinding.java | 74 + .../SyntheticsTestMobileOptionsListCi.java | 58 + ...estMobileOptionsListMobileApplication.java | 88 + ...csTestMobileOptionsListMonitorOptions.java | 105 + .../SyntheticsTestMobileOptionsListRetry.java | 78 + ...heticsTestMobileOptionsListScheduling.java | 86 + ...tMobileOptionsListSchedulingTimeframe.java | 105 + .../outputs/SyntheticsTestMobileStep.java | 235 ++ .../SyntheticsTestMobileStepParams.java | 287 ++ ...SyntheticsTestMobileStepParamsElement.java | 151 + ...bileStepParamsElementRelativePosition.java | 62 + ...estMobileStepParamsElementUserLocator.java | 67 + ...bileStepParamsElementUserLocatorValue.java | 70 + ...yntheticsTestMobileStepParamsPosition.java | 62 + ...yntheticsTestMobileStepParamsVariable.java | 81 + .../SyntheticsTestOptionsListRetry.java | 8 +- .../getIntegrationAvailableLogsServices.ts | 36 + .../aws/getIntegrationAvailableNamespaces.ts | 36 + sdk/nodejs/aws/index.ts | 18 + sdk/nodejs/aws/integrationAccount.ts | 174 ++ sdk/nodejs/cloudflare/integrationAccount.ts | 6 +- sdk/nodejs/dashboard.ts | 14 +- .../getSensitiveDataScannerStandardPattern.ts | 8 +- sdk/nodejs/monitor.ts | 9 +- sdk/nodejs/syntheticsTest.ts | 182 +- sdk/nodejs/tsconfig.json | 3 + sdk/nodejs/types/input.ts | 381 ++- sdk/nodejs/types/output.ts | 382 ++- sdk/python/pulumi_datadog/__init__.py | 8 + sdk/python/pulumi_datadog/_inputs.py | 1495 ++++++++- sdk/python/pulumi_datadog/aws/__init__.py | 4 + sdk/python/pulumi_datadog/aws/_inputs.py | 669 ++++ ...get_integration_available_logs_services.py | 84 + .../get_integration_available_namespaces.py | 84 + .../pulumi_datadog/aws/integration_account.py | 490 +++ sdk/python/pulumi_datadog/aws/outputs.py | 576 ++++ .../cloudflare/integration_account.py | 14 +- sdk/python/pulumi_datadog/dashboard.py | 32 +- ...sensitive_data_scanner_standard_pattern.py | 19 +- sdk/python/pulumi_datadog/monitor.py | 26 +- sdk/python/pulumi_datadog/outputs.py | 1101 ++++++- sdk/python/pulumi_datadog/synthetics_test.py | 426 ++- 218 files changed, 24727 insertions(+), 229 deletions(-) create mode 100644 sdk/dotnet/Aws/GetIntegrationAvailableLogsServices.cs create mode 100644 sdk/dotnet/Aws/GetIntegrationAvailableNamespaces.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigGetArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesArgs.cs create mode 100644 sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesGetArgs.cs create mode 100644 sdk/dotnet/Aws/IntegrationAccount.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfig.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountAwsRegions.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfig.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfigLambdaForwarder.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfig.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigNamespaceFilters.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigTagFilter.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountResourcesConfig.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfig.cs create mode 100644 sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfigXrayServices.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionGetArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableArgs.cs create mode 100644 sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableGetArgs.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsList.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListBinding.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListCi.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMobileApplication.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMonitorOptions.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListRetry.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListScheduling.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStep.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParams.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElement.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementRelativePosition.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocator.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsPosition.cs create mode 100644 sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsVariable.cs create mode 100644 sdk/go/datadog/aws/getIntegrationAvailableLogsServices.go create mode 100644 sdk/go/datadog/aws/getIntegrationAvailableNamespaces.go create mode 100644 sdk/go/datadog/aws/integrationAccount.go create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccount.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccountArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAwsRegionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigTagFilterArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountResourcesConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountState.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigXrayServicesArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableLogsServicesResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableNamespacesResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAwsRegions.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfigLambdaForwarder.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigNamespaceFilters.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigTagFilter.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountResourcesConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfigXrayServices.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListBindingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListCiArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListRetryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsPositionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsVariableArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsList.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListBinding.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListCi.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMobileApplication.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMonitorOptions.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListRetry.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListScheduling.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStep.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParams.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElement.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementRelativePosition.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocator.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsPosition.java create mode 100644 sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsVariable.java create mode 100644 sdk/nodejs/aws/getIntegrationAvailableLogsServices.ts create mode 100644 sdk/nodejs/aws/getIntegrationAvailableNamespaces.ts create mode 100644 sdk/nodejs/aws/integrationAccount.ts create mode 100644 sdk/python/pulumi_datadog/aws/_inputs.py create mode 100644 sdk/python/pulumi_datadog/aws/get_integration_available_logs_services.py create mode 100644 sdk/python/pulumi_datadog/aws/get_integration_available_namespaces.py create mode 100644 sdk/python/pulumi_datadog/aws/integration_account.py diff --git a/sdk/dotnet/Aws/GetIntegrationAvailableLogsServices.cs b/sdk/dotnet/Aws/GetIntegrationAvailableLogsServices.cs new file mode 100644 index 000000000..cf26cca7b --- /dev/null +++ b/sdk/dotnet/Aws/GetIntegrationAvailableLogsServices.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws +{ + public static class GetIntegrationAvailableLogsServices + { + /// + /// Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + /// + public static Task InvokeAsync(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", InvokeArgs.Empty, options.WithDefaults()); + } + + + [OutputType] + public sealed class GetIntegrationAvailableLogsServicesResult + { + /// + /// List of AWS log ready services. + /// + public readonly ImmutableArray AwsLogsServices; + /// + /// The ID of this resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetIntegrationAvailableLogsServicesResult( + ImmutableArray awsLogsServices, + + string id) + { + AwsLogsServices = awsLogsServices; + Id = id; + } + } +} diff --git a/sdk/dotnet/Aws/GetIntegrationAvailableNamespaces.cs b/sdk/dotnet/Aws/GetIntegrationAvailableNamespaces.cs new file mode 100644 index 000000000..a97a055b2 --- /dev/null +++ b/sdk/dotnet/Aws/GetIntegrationAvailableNamespaces.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws +{ + public static class GetIntegrationAvailableNamespaces + { + /// + /// Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + /// + public static Task InvokeAsync(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", InvokeArgs.Empty, options.WithDefaults()); + } + + + [OutputType] + public sealed class GetIntegrationAvailableNamespacesResult + { + /// + /// List of available AWS namespaces. + /// + public readonly ImmutableArray AwsNamespaces; + /// + /// The ID of this resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetIntegrationAvailableNamespacesResult( + ImmutableArray awsNamespaces, + + string id) + { + AwsNamespaces = awsNamespaces; + Id = id; + } + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigArgs.cs new file mode 100644 index 000000000..bc30e1509 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAuthConfigArgs : global::Pulumi.ResourceArgs + { + [Input("awsAuthConfigKeys")] + public Input? AwsAuthConfigKeys { get; set; } + + [Input("awsAuthConfigRole")] + public Input? AwsAuthConfigRole { get; set; } + + public IntegrationAccountAuthConfigArgs() + { + } + public static new IntegrationAccountAuthConfigArgs Empty => new IntegrationAccountAuthConfigArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.cs new file mode 100644 index 000000000..ec0c8a51d --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAuthConfigAwsAuthConfigKeysArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS Access Key ID + /// + [Input("accessKeyId")] + public Input? AccessKeyId { get; set; } + + [Input("secretAccessKey")] + private Input? _secretAccessKey; + public Input? SecretAccessKey + { + get => _secretAccessKey; + set + { + var emptySecret = Output.CreateSecret(0); + _secretAccessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public IntegrationAccountAuthConfigAwsAuthConfigKeysArgs() + { + } + public static new IntegrationAccountAuthConfigAwsAuthConfigKeysArgs Empty => new IntegrationAccountAuthConfigAwsAuthConfigKeysArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs.cs new file mode 100644 index 000000000..3a04ade99 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS Access Key ID + /// + [Input("accessKeyId")] + public Input? AccessKeyId { get; set; } + + [Input("secretAccessKey")] + private Input? _secretAccessKey; + public Input? SecretAccessKey + { + get => _secretAccessKey; + set + { + var emptySecret = Output.CreateSecret(0); + _secretAccessKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs() + { + } + public static new IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs Empty => new IntegrationAccountAuthConfigAwsAuthConfigKeysGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.cs new file mode 100644 index 000000000..294a37a1c --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAuthConfigAwsAuthConfigRoleArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS IAM External ID for associated role + /// + [Input("externalId")] + public Input? ExternalId { get; set; } + + /// + /// AWS IAM Role name + /// + [Input("roleName")] + public Input? RoleName { get; set; } + + public IntegrationAccountAuthConfigAwsAuthConfigRoleArgs() + { + } + public static new IntegrationAccountAuthConfigAwsAuthConfigRoleArgs Empty => new IntegrationAccountAuthConfigAwsAuthConfigRoleArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs.cs new file mode 100644 index 000000000..ff4f77f87 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS IAM External ID for associated role + /// + [Input("externalId")] + public Input? ExternalId { get; set; } + + /// + /// AWS IAM Role name + /// + [Input("roleName")] + public Input? RoleName { get; set; } + + public IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs() + { + } + public static new IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs Empty => new IntegrationAccountAuthConfigAwsAuthConfigRoleGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigGetArgs.cs new file mode 100644 index 000000000..e7afe7104 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAuthConfigGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAuthConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("awsAuthConfigKeys")] + public Input? AwsAuthConfigKeys { get; set; } + + [Input("awsAuthConfigRole")] + public Input? AwsAuthConfigRole { get; set; } + + public IntegrationAccountAuthConfigGetArgs() + { + } + public static new IntegrationAccountAuthConfigGetArgs Empty => new IntegrationAccountAuthConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsArgs.cs new file mode 100644 index 000000000..19f433809 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAwsRegionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Include all regions. Defaults to `true`. + /// + [Input("includeAll")] + public Input? IncludeAll { get; set; } + + [Input("includeOnlies")] + private InputList? _includeOnlies; + + /// + /// Include only these regions. + /// + public InputList IncludeOnlies + { + get => _includeOnlies ?? (_includeOnlies = new InputList()); + set => _includeOnlies = value; + } + + public IntegrationAccountAwsRegionsArgs() + { + } + public static new IntegrationAccountAwsRegionsArgs Empty => new IntegrationAccountAwsRegionsArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsGetArgs.cs new file mode 100644 index 000000000..ff5bf8829 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountAwsRegionsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountAwsRegionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Include all regions. Defaults to `true`. + /// + [Input("includeAll")] + public Input? IncludeAll { get; set; } + + [Input("includeOnlies")] + private InputList? _includeOnlies; + + /// + /// Include only these regions. + /// + public InputList IncludeOnlies + { + get => _includeOnlies ?? (_includeOnlies = new InputList()); + set => _includeOnlies = value; + } + + public IntegrationAccountAwsRegionsGetArgs() + { + } + public static new IntegrationAccountAwsRegionsGetArgs Empty => new IntegrationAccountAwsRegionsGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigArgs.cs new file mode 100644 index 000000000..cff8ab43b --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountLogsConfigArgs : global::Pulumi.ResourceArgs + { + [Input("lambdaForwarder")] + public Input? LambdaForwarder { get; set; } + + public IntegrationAccountLogsConfigArgs() + { + } + public static new IntegrationAccountLogsConfigArgs Empty => new IntegrationAccountLogsConfigArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigGetArgs.cs new file mode 100644 index 000000000..10d448346 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountLogsConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("lambdaForwarder")] + public Input? LambdaForwarder { get; set; } + + public IntegrationAccountLogsConfigGetArgs() + { + } + public static new IntegrationAccountLogsConfigGetArgs Empty => new IntegrationAccountLogsConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.cs new file mode 100644 index 000000000..3d169fe0a --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountLogsConfigLambdaForwarderArgs : global::Pulumi.ResourceArgs + { + [Input("lambdas")] + private InputList? _lambdas; + + /// + /// List of Datadog Lambda Log Forwarder ARNs in your AWS account. + /// + public InputList Lambdas + { + get => _lambdas ?? (_lambdas = new InputList()); + set => _lambdas = value; + } + + [Input("sources")] + private InputList? _sources; + + /// + /// List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + public IntegrationAccountLogsConfigLambdaForwarderArgs() + { + } + public static new IntegrationAccountLogsConfigLambdaForwarderArgs Empty => new IntegrationAccountLogsConfigLambdaForwarderArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderGetArgs.cs new file mode 100644 index 000000000..c301157bb --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountLogsConfigLambdaForwarderGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountLogsConfigLambdaForwarderGetArgs : global::Pulumi.ResourceArgs + { + [Input("lambdas")] + private InputList? _lambdas; + + /// + /// List of Datadog Lambda Log Forwarder ARNs in your AWS account. + /// + public InputList Lambdas + { + get => _lambdas ?? (_lambdas = new InputList()); + set => _lambdas = value; + } + + [Input("sources")] + private InputList? _sources; + + /// + /// List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + /// + public InputList Sources + { + get => _sources ?? (_sources = new InputList()); + set => _sources = value; + } + + public IntegrationAccountLogsConfigLambdaForwarderGetArgs() + { + } + public static new IntegrationAccountLogsConfigLambdaForwarderGetArgs Empty => new IntegrationAccountLogsConfigLambdaForwarderGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigArgs.cs new file mode 100644 index 000000000..60d97064c --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountMetricsConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable EC2 automute for AWS metrics Defaults to `true`. + /// + [Input("automuteEnabled")] + public Input? AutomuteEnabled { get; set; } + + /// + /// Enable CloudWatch alarms collection Defaults to `false`. + /// + [Input("collectCloudwatchAlarms")] + public Input? CollectCloudwatchAlarms { get; set; } + + /// + /// Enable custom metrics collection Defaults to `false`. + /// + [Input("collectCustomMetrics")] + public Input? CollectCustomMetrics { get; set; } + + /// + /// Enable AWS metrics collection Defaults to `true`. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("namespaceFilters")] + public Input? NamespaceFilters { get; set; } + + [Input("tagFilters")] + private InputList? _tagFilters; + + /// + /// AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + /// + public InputList TagFilters + { + get => _tagFilters ?? (_tagFilters = new InputList()); + set => _tagFilters = value; + } + + public IntegrationAccountMetricsConfigArgs() + { + } + public static new IntegrationAccountMetricsConfigArgs Empty => new IntegrationAccountMetricsConfigArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigGetArgs.cs new file mode 100644 index 000000000..dbce393f7 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigGetArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountMetricsConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable EC2 automute for AWS metrics Defaults to `true`. + /// + [Input("automuteEnabled")] + public Input? AutomuteEnabled { get; set; } + + /// + /// Enable CloudWatch alarms collection Defaults to `false`. + /// + [Input("collectCloudwatchAlarms")] + public Input? CollectCloudwatchAlarms { get; set; } + + /// + /// Enable custom metrics collection Defaults to `false`. + /// + [Input("collectCustomMetrics")] + public Input? CollectCustomMetrics { get; set; } + + /// + /// Enable AWS metrics collection Defaults to `true`. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("namespaceFilters")] + public Input? NamespaceFilters { get; set; } + + [Input("tagFilters")] + private InputList? _tagFilters; + + /// + /// AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + /// + public InputList TagFilters + { + get => _tagFilters ?? (_tagFilters = new InputList()); + set => _tagFilters = value; + } + + public IntegrationAccountMetricsConfigGetArgs() + { + } + public static new IntegrationAccountMetricsConfigGetArgs Empty => new IntegrationAccountMetricsConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.cs new file mode 100644 index 000000000..0f689ec0d --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountMetricsConfigNamespaceFiltersArgs : global::Pulumi.ResourceArgs + { + [Input("excludeOnlies")] + private InputList? _excludeOnlies; + + /// + /// Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + /// + public InputList ExcludeOnlies + { + get => _excludeOnlies ?? (_excludeOnlies = new InputList()); + set => _excludeOnlies = value; + } + + [Input("includeOnlies")] + private InputList? _includeOnlies; + + /// + /// Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + /// + public InputList IncludeOnlies + { + get => _includeOnlies ?? (_includeOnlies = new InputList()); + set => _includeOnlies = value; + } + + public IntegrationAccountMetricsConfigNamespaceFiltersArgs() + { + } + public static new IntegrationAccountMetricsConfigNamespaceFiltersArgs Empty => new IntegrationAccountMetricsConfigNamespaceFiltersArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersGetArgs.cs new file mode 100644 index 000000000..d77d70985 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigNamespaceFiltersGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountMetricsConfigNamespaceFiltersGetArgs : global::Pulumi.ResourceArgs + { + [Input("excludeOnlies")] + private InputList? _excludeOnlies; + + /// + /// Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + /// + public InputList ExcludeOnlies + { + get => _excludeOnlies ?? (_excludeOnlies = new InputList()); + set => _excludeOnlies = value; + } + + [Input("includeOnlies")] + private InputList? _includeOnlies; + + /// + /// Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + /// + public InputList IncludeOnlies + { + get => _includeOnlies ?? (_includeOnlies = new InputList()); + set => _includeOnlies = value; + } + + public IntegrationAccountMetricsConfigNamespaceFiltersGetArgs() + { + } + public static new IntegrationAccountMetricsConfigNamespaceFiltersGetArgs Empty => new IntegrationAccountMetricsConfigNamespaceFiltersGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterArgs.cs new file mode 100644 index 000000000..d830eef0e --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountMetricsConfigTagFilterArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS service for which the tag filters defined in `tags` will be applied. + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// The AWS resource tags to filter on for the service specified by `namespace`. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public IntegrationAccountMetricsConfigTagFilterArgs() + { + } + public static new IntegrationAccountMetricsConfigTagFilterArgs Empty => new IntegrationAccountMetricsConfigTagFilterArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterGetArgs.cs new file mode 100644 index 000000000..b15642072 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountMetricsConfigTagFilterGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountMetricsConfigTagFilterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The AWS service for which the tag filters defined in `tags` will be applied. + /// + [Input("namespace", required: true)] + public Input Namespace { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// The AWS resource tags to filter on for the service specified by `namespace`. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public IntegrationAccountMetricsConfigTagFilterGetArgs() + { + } + public static new IntegrationAccountMetricsConfigTagFilterGetArgs Empty => new IntegrationAccountMetricsConfigTagFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigArgs.cs new file mode 100644 index 000000000..cb766c7e6 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountResourcesConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + /// + [Input("cloudSecurityPostureManagementCollection")] + public Input? CloudSecurityPostureManagementCollection { get; set; } + + /// + /// Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + /// + [Input("extendedCollection")] + public Input? ExtendedCollection { get; set; } + + public IntegrationAccountResourcesConfigArgs() + { + } + public static new IntegrationAccountResourcesConfigArgs Empty => new IntegrationAccountResourcesConfigArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigGetArgs.cs new file mode 100644 index 000000000..07c7864bb --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountResourcesConfigGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountResourcesConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + /// + [Input("cloudSecurityPostureManagementCollection")] + public Input? CloudSecurityPostureManagementCollection { get; set; } + + /// + /// Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + /// + [Input("extendedCollection")] + public Input? ExtendedCollection { get; set; } + + public IntegrationAccountResourcesConfigGetArgs() + { + } + public static new IntegrationAccountResourcesConfigGetArgs Empty => new IntegrationAccountResourcesConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigArgs.cs new file mode 100644 index 000000000..28fe9249c --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountTracesConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS X-Ray services to collect traces from. + /// + [Input("xrayServices")] + public Input? XrayServices { get; set; } + + public IntegrationAccountTracesConfigArgs() + { + } + public static new IntegrationAccountTracesConfigArgs Empty => new IntegrationAccountTracesConfigArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigGetArgs.cs new file mode 100644 index 000000000..c8ea14c62 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountTracesConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS X-Ray services to collect traces from. + /// + [Input("xrayServices")] + public Input? XrayServices { get; set; } + + public IntegrationAccountTracesConfigGetArgs() + { + } + public static new IntegrationAccountTracesConfigGetArgs Empty => new IntegrationAccountTracesConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesArgs.cs new file mode 100644 index 000000000..0c261f9e1 --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountTracesConfigXrayServicesArgs : global::Pulumi.ResourceArgs + { + /// + /// Include all services + /// + [Input("includeAll")] + public Input? IncludeAll { get; set; } + + [Input("includeOnlies")] + private InputList? _includeOnlies; + + /// + /// Include only these services + /// + public InputList IncludeOnlies + { + get => _includeOnlies ?? (_includeOnlies = new InputList()); + set => _includeOnlies = value; + } + + public IntegrationAccountTracesConfigXrayServicesArgs() + { + } + public static new IntegrationAccountTracesConfigXrayServicesArgs Empty => new IntegrationAccountTracesConfigXrayServicesArgs(); + } +} diff --git a/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesGetArgs.cs b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesGetArgs.cs new file mode 100644 index 000000000..de1f3acaf --- /dev/null +++ b/sdk/dotnet/Aws/Inputs/IntegrationAccountTracesConfigXrayServicesGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Inputs +{ + + public sealed class IntegrationAccountTracesConfigXrayServicesGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Include all services + /// + [Input("includeAll")] + public Input? IncludeAll { get; set; } + + [Input("includeOnlies")] + private InputList? _includeOnlies; + + /// + /// Include only these services + /// + public InputList IncludeOnlies + { + get => _includeOnlies ?? (_includeOnlies = new InputList()); + set => _includeOnlies = value; + } + + public IntegrationAccountTracesConfigXrayServicesGetArgs() + { + } + public static new IntegrationAccountTracesConfigXrayServicesGetArgs Empty => new IntegrationAccountTracesConfigXrayServicesGetArgs(); + } +} diff --git a/sdk/dotnet/Aws/IntegrationAccount.cs b/sdk/dotnet/Aws/IntegrationAccount.cs new file mode 100644 index 000000000..282657fcb --- /dev/null +++ b/sdk/dotnet/Aws/IntegrationAccount.cs @@ -0,0 +1,221 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws +{ + /// + /// ## Import + /// + /// ```sh + /// $ pulumi import datadog:aws/integrationAccount:IntegrationAccount example "<datadog-aws-account-config-id>" + /// ``` + /// + /// AWS Account Config ID can be retrieved by using the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and querying by AWS Account ID, or by accessing the `id` field of an existing `datadog_integration_aws` resource. + /// + [DatadogResourceType("datadog:aws/integrationAccount:IntegrationAccount")] + public partial class IntegrationAccount : global::Pulumi.CustomResource + { + /// + /// Tags to apply to all metrics in the account + /// + [Output("accountTags")] + public Output> AccountTags { get; private set; } = null!; + + [Output("authConfig")] + public Output AuthConfig { get; private set; } = null!; + + /// + /// Your AWS Account ID without dashes. + /// + [Output("awsAccountId")] + public Output AwsAccountId { get; private set; } = null!; + + /// + /// AWS Account partition + /// + [Output("awsPartition")] + public Output AwsPartition { get; private set; } = null!; + + /// + /// AWS Regions to collect data from. + /// + [Output("awsRegions")] + public Output AwsRegions { get; private set; } = null!; + + [Output("logsConfig")] + public Output LogsConfig { get; private set; } = null!; + + [Output("metricsConfig")] + public Output MetricsConfig { get; private set; } = null!; + + [Output("resourcesConfig")] + public Output ResourcesConfig { get; private set; } = null!; + + /// + /// AWS Traces Collection config. + /// + [Output("tracesConfig")] + public Output TracesConfig { get; private set; } = null!; + + + /// + /// Create a IntegrationAccount resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public IntegrationAccount(string name, IntegrationAccountArgs args, CustomResourceOptions? options = null) + : base("datadog:aws/integrationAccount:IntegrationAccount", name, args ?? new IntegrationAccountArgs(), MakeResourceOptions(options, "")) + { + } + + private IntegrationAccount(string name, Input id, IntegrationAccountState? state = null, CustomResourceOptions? options = null) + : base("datadog:aws/integrationAccount:IntegrationAccount", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing IntegrationAccount resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static IntegrationAccount Get(string name, Input id, IntegrationAccountState? state = null, CustomResourceOptions? options = null) + { + return new IntegrationAccount(name, id, state, options); + } + } + + public sealed class IntegrationAccountArgs : global::Pulumi.ResourceArgs + { + [Input("accountTags")] + private InputList? _accountTags; + + /// + /// Tags to apply to all metrics in the account + /// + public InputList AccountTags + { + get => _accountTags ?? (_accountTags = new InputList()); + set => _accountTags = value; + } + + [Input("authConfig")] + public Input? AuthConfig { get; set; } + + /// + /// Your AWS Account ID without dashes. + /// + [Input("awsAccountId", required: true)] + public Input AwsAccountId { get; set; } = null!; + + /// + /// AWS Account partition + /// + [Input("awsPartition", required: true)] + public Input AwsPartition { get; set; } = null!; + + /// + /// AWS Regions to collect data from. + /// + [Input("awsRegions")] + public Input? AwsRegions { get; set; } + + [Input("logsConfig")] + public Input? LogsConfig { get; set; } + + [Input("metricsConfig")] + public Input? MetricsConfig { get; set; } + + [Input("resourcesConfig")] + public Input? ResourcesConfig { get; set; } + + /// + /// AWS Traces Collection config. + /// + [Input("tracesConfig")] + public Input? TracesConfig { get; set; } + + public IntegrationAccountArgs() + { + } + public static new IntegrationAccountArgs Empty => new IntegrationAccountArgs(); + } + + public sealed class IntegrationAccountState : global::Pulumi.ResourceArgs + { + [Input("accountTags")] + private InputList? _accountTags; + + /// + /// Tags to apply to all metrics in the account + /// + public InputList AccountTags + { + get => _accountTags ?? (_accountTags = new InputList()); + set => _accountTags = value; + } + + [Input("authConfig")] + public Input? AuthConfig { get; set; } + + /// + /// Your AWS Account ID without dashes. + /// + [Input("awsAccountId")] + public Input? AwsAccountId { get; set; } + + /// + /// AWS Account partition + /// + [Input("awsPartition")] + public Input? AwsPartition { get; set; } + + /// + /// AWS Regions to collect data from. + /// + [Input("awsRegions")] + public Input? AwsRegions { get; set; } + + [Input("logsConfig")] + public Input? LogsConfig { get; set; } + + [Input("metricsConfig")] + public Input? MetricsConfig { get; set; } + + [Input("resourcesConfig")] + public Input? ResourcesConfig { get; set; } + + /// + /// AWS Traces Collection config. + /// + [Input("tracesConfig")] + public Input? TracesConfig { get; set; } + + public IntegrationAccountState() + { + } + public static new IntegrationAccountState Empty => new IntegrationAccountState(); + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfig.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfig.cs new file mode 100644 index 000000000..263d91023 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfig.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountAuthConfig + { + public readonly Outputs.IntegrationAccountAuthConfigAwsAuthConfigKeys? AwsAuthConfigKeys; + public readonly Outputs.IntegrationAccountAuthConfigAwsAuthConfigRole? AwsAuthConfigRole; + + [OutputConstructor] + private IntegrationAccountAuthConfig( + Outputs.IntegrationAccountAuthConfigAwsAuthConfigKeys? awsAuthConfigKeys, + + Outputs.IntegrationAccountAuthConfigAwsAuthConfigRole? awsAuthConfigRole) + { + AwsAuthConfigKeys = awsAuthConfigKeys; + AwsAuthConfigRole = awsAuthConfigRole; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.cs new file mode 100644 index 000000000..cb6e4aa1a --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountAuthConfigAwsAuthConfigKeys + { + /// + /// AWS Access Key ID + /// + public readonly string? AccessKeyId; + public readonly string? SecretAccessKey; + + [OutputConstructor] + private IntegrationAccountAuthConfigAwsAuthConfigKeys( + string? accessKeyId, + + string? secretAccessKey) + { + AccessKeyId = accessKeyId; + SecretAccessKey = secretAccessKey; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.cs new file mode 100644 index 000000000..2c8489992 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountAuthConfigAwsAuthConfigRole + { + /// + /// AWS IAM External ID for associated role + /// + public readonly string? ExternalId; + /// + /// AWS IAM Role name + /// + public readonly string? RoleName; + + [OutputConstructor] + private IntegrationAccountAuthConfigAwsAuthConfigRole( + string? externalId, + + string? roleName) + { + ExternalId = externalId; + RoleName = roleName; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountAwsRegions.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountAwsRegions.cs new file mode 100644 index 000000000..f50858c33 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountAwsRegions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountAwsRegions + { + /// + /// Include all regions. Defaults to `true`. + /// + public readonly bool? IncludeAll; + /// + /// Include only these regions. + /// + public readonly ImmutableArray IncludeOnlies; + + [OutputConstructor] + private IntegrationAccountAwsRegions( + bool? includeAll, + + ImmutableArray includeOnlies) + { + IncludeAll = includeAll; + IncludeOnlies = includeOnlies; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfig.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfig.cs new file mode 100644 index 000000000..eac01e132 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfig.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountLogsConfig + { + public readonly Outputs.IntegrationAccountLogsConfigLambdaForwarder? LambdaForwarder; + + [OutputConstructor] + private IntegrationAccountLogsConfig(Outputs.IntegrationAccountLogsConfigLambdaForwarder? lambdaForwarder) + { + LambdaForwarder = lambdaForwarder; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfigLambdaForwarder.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfigLambdaForwarder.cs new file mode 100644 index 000000000..df9859a7f --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountLogsConfigLambdaForwarder.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountLogsConfigLambdaForwarder + { + /// + /// List of Datadog Lambda Log Forwarder ARNs in your AWS account. + /// + public readonly ImmutableArray Lambdas; + /// + /// List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + /// + public readonly ImmutableArray Sources; + + [OutputConstructor] + private IntegrationAccountLogsConfigLambdaForwarder( + ImmutableArray lambdas, + + ImmutableArray sources) + { + Lambdas = lambdas; + Sources = sources; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfig.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfig.cs new file mode 100644 index 000000000..3af25b098 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfig.cs @@ -0,0 +1,60 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountMetricsConfig + { + /// + /// Enable EC2 automute for AWS metrics Defaults to `true`. + /// + public readonly bool? AutomuteEnabled; + /// + /// Enable CloudWatch alarms collection Defaults to `false`. + /// + public readonly bool? CollectCloudwatchAlarms; + /// + /// Enable custom metrics collection Defaults to `false`. + /// + public readonly bool? CollectCustomMetrics; + /// + /// Enable AWS metrics collection Defaults to `true`. + /// + public readonly bool? Enabled; + public readonly Outputs.IntegrationAccountMetricsConfigNamespaceFilters? NamespaceFilters; + /// + /// AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + /// + public readonly ImmutableArray TagFilters; + + [OutputConstructor] + private IntegrationAccountMetricsConfig( + bool? automuteEnabled, + + bool? collectCloudwatchAlarms, + + bool? collectCustomMetrics, + + bool? enabled, + + Outputs.IntegrationAccountMetricsConfigNamespaceFilters? namespaceFilters, + + ImmutableArray tagFilters) + { + AutomuteEnabled = automuteEnabled; + CollectCloudwatchAlarms = collectCloudwatchAlarms; + CollectCustomMetrics = collectCustomMetrics; + Enabled = enabled; + NamespaceFilters = namespaceFilters; + TagFilters = tagFilters; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigNamespaceFilters.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigNamespaceFilters.cs new file mode 100644 index 000000000..0210c1679 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigNamespaceFilters.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountMetricsConfigNamespaceFilters + { + /// + /// Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + /// + public readonly ImmutableArray ExcludeOnlies; + /// + /// Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + /// + public readonly ImmutableArray IncludeOnlies; + + [OutputConstructor] + private IntegrationAccountMetricsConfigNamespaceFilters( + ImmutableArray excludeOnlies, + + ImmutableArray includeOnlies) + { + ExcludeOnlies = excludeOnlies; + IncludeOnlies = includeOnlies; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigTagFilter.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigTagFilter.cs new file mode 100644 index 000000000..b85d9da7b --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountMetricsConfigTagFilter.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountMetricsConfigTagFilter + { + /// + /// The AWS service for which the tag filters defined in `tags` will be applied. + /// + public readonly string Namespace; + /// + /// The AWS resource tags to filter on for the service specified by `namespace`. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private IntegrationAccountMetricsConfigTagFilter( + string @namespace, + + ImmutableArray tags) + { + Namespace = @namespace; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountResourcesConfig.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountResourcesConfig.cs new file mode 100644 index 000000000..866469802 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountResourcesConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountResourcesConfig + { + /// + /// Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + /// + public readonly bool? CloudSecurityPostureManagementCollection; + /// + /// Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + /// + public readonly bool? ExtendedCollection; + + [OutputConstructor] + private IntegrationAccountResourcesConfig( + bool? cloudSecurityPostureManagementCollection, + + bool? extendedCollection) + { + CloudSecurityPostureManagementCollection = cloudSecurityPostureManagementCollection; + ExtendedCollection = extendedCollection; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfig.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfig.cs new file mode 100644 index 000000000..43b5629d1 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfig.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountTracesConfig + { + /// + /// AWS X-Ray services to collect traces from. + /// + public readonly Outputs.IntegrationAccountTracesConfigXrayServices? XrayServices; + + [OutputConstructor] + private IntegrationAccountTracesConfig(Outputs.IntegrationAccountTracesConfigXrayServices? xrayServices) + { + XrayServices = xrayServices; + } + } +} diff --git a/sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfigXrayServices.cs b/sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfigXrayServices.cs new file mode 100644 index 000000000..28e54af18 --- /dev/null +++ b/sdk/dotnet/Aws/Outputs/IntegrationAccountTracesConfigXrayServices.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Aws.Outputs +{ + + [OutputType] + public sealed class IntegrationAccountTracesConfigXrayServices + { + /// + /// Include all services + /// + public readonly bool? IncludeAll; + /// + /// Include only these services + /// + public readonly ImmutableArray IncludeOnlies; + + [OutputConstructor] + private IntegrationAccountTracesConfigXrayServices( + bool? includeAll, + + ImmutableArray includeOnlies) + { + IncludeAll = includeAll; + IncludeOnlies = includeOnlies; + } + } +} diff --git a/sdk/dotnet/Cloudflare/IntegrationAccount.cs b/sdk/dotnet/Cloudflare/IntegrationAccount.cs index 26bb0d673..8258cc963 100644 --- a/sdk/dotnet/Cloudflare/IntegrationAccount.cs +++ b/sdk/dotnet/Cloudflare/IntegrationAccount.cs @@ -61,7 +61,7 @@ public partial class IntegrationAccount : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + /// An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). /// [Output("resources")] public Output> Resources { get; private set; } = null!; @@ -148,7 +148,7 @@ public Input? ApiKey private InputList? _resources; /// - /// An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + /// An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). /// public InputList Resources { @@ -196,7 +196,7 @@ public Input? ApiKey private InputList? _resources; /// - /// An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + /// An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). /// public InputList Resources { diff --git a/sdk/dotnet/Dashboard.cs b/sdk/dotnet/Dashboard.cs index 94796540a..174d52027 100644 --- a/sdk/dotnet/Dashboard.cs +++ b/sdk/dotnet/Dashboard.cs @@ -12,6 +12,8 @@ namespace Pulumi.Datadog /// /// Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards. /// + /// !> The `is_read_only` field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. + /// /// ## Example Usage /// /// ```csharp @@ -1071,7 +1073,7 @@ public partial class Dashboard : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + /// Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. /// [Output("isReadOnly")] public Output IsReadOnly { get; private set; } = null!; @@ -1197,7 +1199,7 @@ public InputList DashboardLists public Input? Description { get; set; } /// - /// Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + /// Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. /// [Input("isReadOnly")] public Input? IsReadOnly { get; set; } @@ -1333,7 +1335,7 @@ public InputList DashboardListsRemoveds public Input? Description { get; set; } /// - /// Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + /// Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. /// [Input("isReadOnly")] public Input? IsReadOnly { get; set; } diff --git a/sdk/dotnet/GetSensitiveDataScannerStandardPattern.cs b/sdk/dotnet/GetSensitiveDataScannerStandardPattern.cs index 27adeb4da..f43ff7ce2 100644 --- a/sdk/dotnet/GetSensitiveDataScannerStandardPattern.cs +++ b/sdk/dotnet/GetSensitiveDataScannerStandardPattern.cs @@ -63,6 +63,10 @@ public GetSensitiveDataScannerStandardPatternInvokeArgs() [OutputType] public sealed class GetSensitiveDataScannerStandardPatternResult { + /// + /// Description of the standard pattern. + /// + public readonly string Description; /// /// Filter all the Datadog standard patterns by name. /// @@ -80,7 +84,7 @@ public sealed class GetSensitiveDataScannerStandardPatternResult /// public readonly string Name; /// - /// Regex that the standard pattern applies. + /// Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. /// public readonly string Pattern; /// @@ -90,6 +94,8 @@ public sealed class GetSensitiveDataScannerStandardPatternResult [OutputConstructor] private GetSensitiveDataScannerStandardPatternResult( + string description, + string filter, string id, @@ -102,6 +108,7 @@ private GetSensitiveDataScannerStandardPatternResult( ImmutableArray tags) { + Description = description; Filter = filter; Id = id; IncludedKeywords = includedKeywords; diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs index edd6a90c2..2deddd635 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepArgs.cs @@ -30,6 +30,12 @@ public InputList Assertions set => _assertions = value; } + /// + /// Determines whether or not to exit the test if the step succeeds. + /// + [Input("exitIfSucceed")] + public Input? ExitIfSucceed { get; set; } + [Input("extractedValues")] private InputList? _extractedValues; diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs index fc97d0f3a..fe89d63b3 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepGetArgs.cs @@ -30,6 +30,12 @@ public InputList Assertions set => _assertions = value; } + /// + /// Determines whether or not to exit the test if the step succeeds. + /// + [Input("exitIfSucceed")] + public Input? ExitIfSucceed { get; set; } + [Input("extractedValues")] private InputList? _extractedValues; diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryArgs.cs index 83b1edefa..bf95daad3 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestApiStepRetryArgs : global::Pulumi.ResourceArgs { /// - /// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. /// [Input("count")] public Input? Count { get; set; } /// - /// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. /// [Input("interval")] public Input? Interval { get; set; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryGetArgs.cs index d6e3f2f6b..b5a5f9f0e 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestApiStepRetryGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestApiStepRetryGetArgs : global::Pulumi.ResourceArgs { /// - /// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. /// [Input("count")] public Input? Count { get; set; } /// - /// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. /// [Input("interval")] public Input? Interval { get; set; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListArgs.cs new file mode 100644 index 000000000..043b4b8c7 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListArgs.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListArgs : global::Pulumi.ResourceArgs + { + [Input("allowApplicationCrash")] + public Input? AllowApplicationCrash { get; set; } + + [Input("bindings")] + private InputList? _bindings; + public InputList Bindings + { + get => _bindings ?? (_bindings = new InputList()); + set => _bindings = value; + } + + /// + /// CI/CD options for a Synthetic test. + /// + [Input("ci")] + public Input? Ci { get; set; } + + [Input("defaultStepTimeout")] + public Input? DefaultStepTimeout { get; set; } + + [Input("deviceIds", required: true)] + private InputList? _deviceIds; + public InputList DeviceIds + { + get => _deviceIds ?? (_deviceIds = new InputList()); + set => _deviceIds = value; + } + + [Input("disableAutoAcceptAlert")] + public Input? DisableAutoAcceptAlert { get; set; } + + /// + /// Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + /// + [Input("minFailureDuration")] + public Input? MinFailureDuration { get; set; } + + [Input("mobileApplication", required: true)] + public Input MobileApplication { get; set; } = null!; + + /// + /// The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + /// + [Input("monitorName")] + public Input? MonitorName { get; set; } + + [Input("monitorOptions")] + public Input? MonitorOptions { get; set; } + + [Input("monitorPriority")] + public Input? MonitorPriority { get; set; } + + /// + /// Prevents saving screenshots of the steps. + /// + [Input("noScreenshot")] + public Input? NoScreenshot { get; set; } + + [Input("restrictedRoles")] + private InputList? _restrictedRoles; + + /// + /// A list of role identifiers pulled from the Roles API to restrict read and write access. + /// + public InputList RestrictedRoles + { + get => _restrictedRoles ?? (_restrictedRoles = new InputList()); + set => _restrictedRoles = value; + } + + [Input("retry")] + public Input? Retry { get; set; } + + /// + /// Object containing timeframes and timezone used for advanced scheduling. + /// + [Input("scheduling")] + public Input? Scheduling { get; set; } + + /// + /// How often the test should run (in seconds). + /// + [Input("tickEvery", required: true)] + public Input TickEvery { get; set; } = null!; + + [Input("verbosity")] + public Input? Verbosity { get; set; } + + public SyntheticsTestMobileOptionsListArgs() + { + } + public static new SyntheticsTestMobileOptionsListArgs Empty => new SyntheticsTestMobileOptionsListArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingArgs.cs new file mode 100644 index 000000000..052756085 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListBindingArgs : global::Pulumi.ResourceArgs + { + [Input("principals")] + private InputList? _principals; + public InputList Principals + { + get => _principals ?? (_principals = new InputList()); + set => _principals = value; + } + + /// + /// Valid values are `editor`, `viewer`. + /// + [Input("relation")] + public Input? Relation { get; set; } + + public SyntheticsTestMobileOptionsListBindingArgs() + { + } + public static new SyntheticsTestMobileOptionsListBindingArgs Empty => new SyntheticsTestMobileOptionsListBindingArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingGetArgs.cs new file mode 100644 index 000000000..fb34e45d8 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListBindingGetArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListBindingGetArgs : global::Pulumi.ResourceArgs + { + [Input("principals")] + private InputList? _principals; + public InputList Principals + { + get => _principals ?? (_principals = new InputList()); + set => _principals = value; + } + + /// + /// Valid values are `editor`, `viewer`. + /// + [Input("relation")] + public Input? Relation { get; set; } + + public SyntheticsTestMobileOptionsListBindingGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListBindingGetArgs Empty => new SyntheticsTestMobileOptionsListBindingGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiArgs.cs new file mode 100644 index 000000000..a81779f4b --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListCiArgs : global::Pulumi.ResourceArgs + { + /// + /// Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + /// + [Input("executionRule", required: true)] + public Input ExecutionRule { get; set; } = null!; + + public SyntheticsTestMobileOptionsListCiArgs() + { + } + public static new SyntheticsTestMobileOptionsListCiArgs Empty => new SyntheticsTestMobileOptionsListCiArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiGetArgs.cs new file mode 100644 index 000000000..eb13c8246 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListCiGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListCiGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + /// + [Input("executionRule", required: true)] + public Input ExecutionRule { get; set; } = null!; + + public SyntheticsTestMobileOptionsListCiGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListCiGetArgs Empty => new SyntheticsTestMobileOptionsListCiGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListGetArgs.cs new file mode 100644 index 000000000..2a371cccd --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListGetArgs.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListGetArgs : global::Pulumi.ResourceArgs + { + [Input("allowApplicationCrash")] + public Input? AllowApplicationCrash { get; set; } + + [Input("bindings")] + private InputList? _bindings; + public InputList Bindings + { + get => _bindings ?? (_bindings = new InputList()); + set => _bindings = value; + } + + /// + /// CI/CD options for a Synthetic test. + /// + [Input("ci")] + public Input? Ci { get; set; } + + [Input("defaultStepTimeout")] + public Input? DefaultStepTimeout { get; set; } + + [Input("deviceIds", required: true)] + private InputList? _deviceIds; + public InputList DeviceIds + { + get => _deviceIds ?? (_deviceIds = new InputList()); + set => _deviceIds = value; + } + + [Input("disableAutoAcceptAlert")] + public Input? DisableAutoAcceptAlert { get; set; } + + /// + /// Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + /// + [Input("minFailureDuration")] + public Input? MinFailureDuration { get; set; } + + [Input("mobileApplication", required: true)] + public Input MobileApplication { get; set; } = null!; + + /// + /// The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + /// + [Input("monitorName")] + public Input? MonitorName { get; set; } + + [Input("monitorOptions")] + public Input? MonitorOptions { get; set; } + + [Input("monitorPriority")] + public Input? MonitorPriority { get; set; } + + /// + /// Prevents saving screenshots of the steps. + /// + [Input("noScreenshot")] + public Input? NoScreenshot { get; set; } + + [Input("restrictedRoles")] + private InputList? _restrictedRoles; + + /// + /// A list of role identifiers pulled from the Roles API to restrict read and write access. + /// + public InputList RestrictedRoles + { + get => _restrictedRoles ?? (_restrictedRoles = new InputList()); + set => _restrictedRoles = value; + } + + [Input("retry")] + public Input? Retry { get; set; } + + /// + /// Object containing timeframes and timezone used for advanced scheduling. + /// + [Input("scheduling")] + public Input? Scheduling { get; set; } + + /// + /// How often the test should run (in seconds). + /// + [Input("tickEvery", required: true)] + public Input TickEvery { get; set; } = null!; + + [Input("verbosity")] + public Input? Verbosity { get; set; } + + public SyntheticsTestMobileOptionsListGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListGetArgs Empty => new SyntheticsTestMobileOptionsListGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.cs new file mode 100644 index 000000000..822d19636 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListMobileApplicationArgs : global::Pulumi.ResourceArgs + { + [Input("applicationId", required: true)] + public Input ApplicationId { get; set; } = null!; + + [Input("referenceId", required: true)] + public Input ReferenceId { get; set; } = null!; + + /// + /// Valid values are `latest`, `version`. + /// + [Input("referenceType", required: true)] + public Input ReferenceType { get; set; } = null!; + + public SyntheticsTestMobileOptionsListMobileApplicationArgs() + { + } + public static new SyntheticsTestMobileOptionsListMobileApplicationArgs Empty => new SyntheticsTestMobileOptionsListMobileApplicationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationGetArgs.cs new file mode 100644 index 000000000..60f308a6b --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMobileApplicationGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListMobileApplicationGetArgs : global::Pulumi.ResourceArgs + { + [Input("applicationId", required: true)] + public Input ApplicationId { get; set; } = null!; + + [Input("referenceId", required: true)] + public Input ReferenceId { get; set; } = null!; + + /// + /// Valid values are `latest`, `version`. + /// + [Input("referenceType", required: true)] + public Input ReferenceType { get; set; } = null!; + + public SyntheticsTestMobileOptionsListMobileApplicationGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListMobileApplicationGetArgs Empty => new SyntheticsTestMobileOptionsListMobileApplicationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.cs new file mode 100644 index 000000000..d2ecb0169 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListMonitorOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("escalationMessage")] + public Input? EscalationMessage { get; set; } + + /// + /// Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + /// + [Input("notificationPresetName")] + public Input? NotificationPresetName { get; set; } + + /// + /// Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + /// + [Input("renotifyInterval")] + public Input? RenotifyInterval { get; set; } + + [Input("renotifyOccurrences")] + public Input? RenotifyOccurrences { get; set; } + + public SyntheticsTestMobileOptionsListMonitorOptionsArgs() + { + } + public static new SyntheticsTestMobileOptionsListMonitorOptionsArgs Empty => new SyntheticsTestMobileOptionsListMonitorOptionsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsGetArgs.cs new file mode 100644 index 000000000..5eee73a12 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListMonitorOptionsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListMonitorOptionsGetArgs : global::Pulumi.ResourceArgs + { + [Input("escalationMessage")] + public Input? EscalationMessage { get; set; } + + /// + /// Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + /// + [Input("notificationPresetName")] + public Input? NotificationPresetName { get; set; } + + /// + /// Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + /// + [Input("renotifyInterval")] + public Input? RenotifyInterval { get; set; } + + [Input("renotifyOccurrences")] + public Input? RenotifyOccurrences { get; set; } + + public SyntheticsTestMobileOptionsListMonitorOptionsGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListMonitorOptionsGetArgs Empty => new SyntheticsTestMobileOptionsListMonitorOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryArgs.cs new file mode 100644 index 000000000..bcdf02297 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListRetryArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + /// + [Input("interval")] + public Input? Interval { get; set; } + + public SyntheticsTestMobileOptionsListRetryArgs() + { + } + public static new SyntheticsTestMobileOptionsListRetryArgs Empty => new SyntheticsTestMobileOptionsListRetryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryGetArgs.cs new file mode 100644 index 000000000..405ef7b43 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListRetryGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListRetryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + /// + [Input("count")] + public Input? Count { get; set; } + + /// + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + /// + [Input("interval")] + public Input? Interval { get; set; } + + public SyntheticsTestMobileOptionsListRetryGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListRetryGetArgs Empty => new SyntheticsTestMobileOptionsListRetryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingArgs.cs new file mode 100644 index 000000000..f30dafeb0 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListSchedulingArgs : global::Pulumi.ResourceArgs + { + [Input("timeframes", required: true)] + private InputList? _timeframes; + + /// + /// Array containing objects describing the scheduling pattern to apply to each day. + /// + public InputList Timeframes + { + get => _timeframes ?? (_timeframes = new InputList()); + set => _timeframes = value; + } + + /// + /// Timezone in which the timeframe is based. + /// + [Input("timezone", required: true)] + public Input Timezone { get; set; } = null!; + + public SyntheticsTestMobileOptionsListSchedulingArgs() + { + } + public static new SyntheticsTestMobileOptionsListSchedulingArgs Empty => new SyntheticsTestMobileOptionsListSchedulingArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingGetArgs.cs new file mode 100644 index 000000000..151feeb7a --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListSchedulingGetArgs : global::Pulumi.ResourceArgs + { + [Input("timeframes", required: true)] + private InputList? _timeframes; + + /// + /// Array containing objects describing the scheduling pattern to apply to each day. + /// + public InputList Timeframes + { + get => _timeframes ?? (_timeframes = new InputList()); + set => _timeframes = value; + } + + /// + /// Timezone in which the timeframe is based. + /// + [Input("timezone", required: true)] + public Input Timezone { get; set; } = null!; + + public SyntheticsTestMobileOptionsListSchedulingGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListSchedulingGetArgs Empty => new SyntheticsTestMobileOptionsListSchedulingGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.cs new file mode 100644 index 000000000..88386c52a --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListSchedulingTimeframeArgs : global::Pulumi.ResourceArgs + { + /// + /// Number representing the day of the week + /// + [Input("day", required: true)] + public Input Day { get; set; } = null!; + + /// + /// The hour of the day on which scheduling starts. + /// + [Input("from", required: true)] + public Input From { get; set; } = null!; + + /// + /// The hour of the day on which scheduling ends. + /// + [Input("to", required: true)] + public Input To { get; set; } = null!; + + public SyntheticsTestMobileOptionsListSchedulingTimeframeArgs() + { + } + public static new SyntheticsTestMobileOptionsListSchedulingTimeframeArgs Empty => new SyntheticsTestMobileOptionsListSchedulingTimeframeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs.cs new file mode 100644 index 000000000..f6f7800b3 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Number representing the day of the week + /// + [Input("day", required: true)] + public Input Day { get; set; } = null!; + + /// + /// The hour of the day on which scheduling starts. + /// + [Input("from", required: true)] + public Input From { get; set; } = null!; + + /// + /// The hour of the day on which scheduling ends. + /// + [Input("to", required: true)] + public Input To { get; set; } = null!; + + public SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs() + { + } + public static new SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs Empty => new SyntheticsTestMobileOptionsListSchedulingTimeframeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepArgs.cs new file mode 100644 index 000000000..3c4d7cfdd --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepArgs : global::Pulumi.ResourceArgs + { + /// + /// A boolean set to allow this step to fail. + /// + [Input("allowFailure")] + public Input? AllowFailure { get; set; } + + /// + /// A boolean set to determine if the step has a new step element. + /// + [Input("hasNewStepElement")] + public Input? HasNewStepElement { get; set; } + + /// + /// A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + /// + [Input("isCritical")] + public Input? IsCritical { get; set; } + + /// + /// The name of the step. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// A boolean set to not take a screenshot for the step. + /// + [Input("noScreenshot")] + public Input? NoScreenshot { get; set; } + + /// + /// Parameters for the step. + /// + [Input("params", required: true)] + public Input Params { get; set; } = null!; + + /// + /// The public ID of the step. + /// + [Input("publicId")] + public Input? PublicId { get; set; } + + /// + /// The time before declaring a step failed. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SyntheticsTestMobileStepArgs() + { + } + public static new SyntheticsTestMobileStepArgs Empty => new SyntheticsTestMobileStepArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepGetArgs.cs new file mode 100644 index 000000000..41b2a0e5f --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepGetArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepGetArgs : global::Pulumi.ResourceArgs + { + /// + /// A boolean set to allow this step to fail. + /// + [Input("allowFailure")] + public Input? AllowFailure { get; set; } + + /// + /// A boolean set to determine if the step has a new step element. + /// + [Input("hasNewStepElement")] + public Input? HasNewStepElement { get; set; } + + /// + /// A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + /// + [Input("isCritical")] + public Input? IsCritical { get; set; } + + /// + /// The name of the step. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// A boolean set to not take a screenshot for the step. + /// + [Input("noScreenshot")] + public Input? NoScreenshot { get; set; } + + /// + /// Parameters for the step. + /// + [Input("params", required: true)] + public Input Params { get; set; } = null!; + + /// + /// The public ID of the step. + /// + [Input("publicId")] + public Input? PublicId { get; set; } + + /// + /// The time before declaring a step failed. + /// + [Input("timeout")] + public Input? Timeout { get; set; } + + /// + /// The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SyntheticsTestMobileStepGetArgs() + { + } + public static new SyntheticsTestMobileStepGetArgs Empty => new SyntheticsTestMobileStepGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsArgs.cs new file mode 100644 index 000000000..2175299d4 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsArgs.cs @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsArgs : global::Pulumi.ResourceArgs + { + /// + /// Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + /// + [Input("check")] + public Input? Check { get; set; } + + /// + /// Delay between each key stroke for a "type test" step. + /// + [Input("delay")] + public Input? Delay { get; set; } + + /// + /// Valid values are `up`, `down`, `left`, `right`. + /// + [Input("direction")] + public Input? Direction { get; set; } + + /// + /// Element to use for the step, JSON encoded string. + /// + [Input("element")] + public Input? Element { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("maxScrolls")] + public Input? MaxScrolls { get; set; } + + [Input("positions")] + private InputList? _positions; + public InputList Positions + { + get => _positions ?? (_positions = new InputList()); + set => _positions = value; + } + + /// + /// ID of the Synthetics test to use as subtest. + /// + [Input("subtestPublicId")] + public Input? SubtestPublicId { get; set; } + + /// + /// Value of the step. + /// + [Input("value")] + public Input? Value { get; set; } + + /// + /// Details of the variable to extract. + /// + [Input("variable")] + public Input? Variable { get; set; } + + [Input("withEnter")] + public Input? WithEnter { get; set; } + + /// + /// X coordinates for a "scroll step". + /// + [Input("x")] + public Input? X { get; set; } + + /// + /// Y coordinates for a "scroll step". + /// + [Input("y")] + public Input? Y { get; set; } + + public SyntheticsTestMobileStepParamsArgs() + { + } + public static new SyntheticsTestMobileStepParamsArgs Empty => new SyntheticsTestMobileStepParamsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementArgs.cs new file mode 100644 index 000000000..b121c9795 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementArgs.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementArgs : global::Pulumi.ResourceArgs + { + [Input("context")] + public Input? Context { get; set; } + + /// + /// Valid values are `native`, `web`. + /// + [Input("contextType")] + public Input? ContextType { get; set; } + + [Input("elementDescription")] + public Input? ElementDescription { get; set; } + + [Input("multiLocator")] + private InputMap? _multiLocator; + public InputMap MultiLocator + { + get => _multiLocator ?? (_multiLocator = new InputMap()); + set => _multiLocator = value; + } + + [Input("relativePosition")] + public Input? RelativePosition { get; set; } + + [Input("textContent")] + public Input? TextContent { get; set; } + + [Input("userLocator")] + public Input? UserLocator { get; set; } + + [Input("viewName")] + public Input? ViewName { get; set; } + + public SyntheticsTestMobileStepParamsElementArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementArgs Empty => new SyntheticsTestMobileStepParamsElementArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementGetArgs.cs new file mode 100644 index 000000000..4d88ecbfe --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementGetArgs.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementGetArgs : global::Pulumi.ResourceArgs + { + [Input("context")] + public Input? Context { get; set; } + + /// + /// Valid values are `native`, `web`. + /// + [Input("contextType")] + public Input? ContextType { get; set; } + + [Input("elementDescription")] + public Input? ElementDescription { get; set; } + + [Input("multiLocator")] + private InputMap? _multiLocator; + public InputMap MultiLocator + { + get => _multiLocator ?? (_multiLocator = new InputMap()); + set => _multiLocator = value; + } + + [Input("relativePosition")] + public Input? RelativePosition { get; set; } + + [Input("textContent")] + public Input? TextContent { get; set; } + + [Input("userLocator")] + public Input? UserLocator { get; set; } + + [Input("viewName")] + public Input? ViewName { get; set; } + + public SyntheticsTestMobileStepParamsElementGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementGetArgs Empty => new SyntheticsTestMobileStepParamsElementGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.cs new file mode 100644 index 000000000..09e13baab --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementRelativePositionArgs : global::Pulumi.ResourceArgs + { + [Input("x")] + public Input? X { get; set; } + + [Input("y")] + public Input? Y { get; set; } + + public SyntheticsTestMobileStepParamsElementRelativePositionArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementRelativePositionArgs Empty => new SyntheticsTestMobileStepParamsElementRelativePositionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionGetArgs.cs new file mode 100644 index 000000000..c7522b0cb --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementRelativePositionGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementRelativePositionGetArgs : global::Pulumi.ResourceArgs + { + [Input("x")] + public Input? X { get; set; } + + [Input("y")] + public Input? Y { get; set; } + + public SyntheticsTestMobileStepParamsElementRelativePositionGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementRelativePositionGetArgs Empty => new SyntheticsTestMobileStepParamsElementRelativePositionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.cs new file mode 100644 index 000000000..f571678c5 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementUserLocatorArgs : global::Pulumi.ResourceArgs + { + [Input("failTestOnCannotLocate")] + public Input? FailTestOnCannotLocate { get; set; } + + [Input("values")] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SyntheticsTestMobileStepParamsElementUserLocatorArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementUserLocatorArgs Empty => new SyntheticsTestMobileStepParamsElementUserLocatorArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorGetArgs.cs new file mode 100644 index 000000000..c06a64946 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorGetArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementUserLocatorGetArgs : global::Pulumi.ResourceArgs + { + [Input("failTestOnCannotLocate")] + public Input? FailTestOnCannotLocate { get; set; } + + [Input("values")] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SyntheticsTestMobileStepParamsElementUserLocatorGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementUserLocatorGetArgs Empty => new SyntheticsTestMobileStepParamsElementUserLocatorGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.cs new file mode 100644 index 000000000..fdc58a6ca --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementUserLocatorValueArgs : global::Pulumi.ResourceArgs + { + /// + /// Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("value")] + public Input? Value { get; set; } + + public SyntheticsTestMobileStepParamsElementUserLocatorValueArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementUserLocatorValueArgs Empty => new SyntheticsTestMobileStepParamsElementUserLocatorValueArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs.cs new file mode 100644 index 000000000..a43a9078c --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + /// + [Input("type")] + public Input? Type { get; set; } + + [Input("value")] + public Input? Value { get; set; } + + public SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs Empty => new SyntheticsTestMobileStepParamsElementUserLocatorValueGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsGetArgs.cs new file mode 100644 index 000000000..8581137ca --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsGetArgs.cs @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + /// + [Input("check")] + public Input? Check { get; set; } + + /// + /// Delay between each key stroke for a "type test" step. + /// + [Input("delay")] + public Input? Delay { get; set; } + + /// + /// Valid values are `up`, `down`, `left`, `right`. + /// + [Input("direction")] + public Input? Direction { get; set; } + + /// + /// Element to use for the step, JSON encoded string. + /// + [Input("element")] + public Input? Element { get; set; } + + [Input("enable")] + public Input? Enable { get; set; } + + [Input("maxScrolls")] + public Input? MaxScrolls { get; set; } + + [Input("positions")] + private InputList? _positions; + public InputList Positions + { + get => _positions ?? (_positions = new InputList()); + set => _positions = value; + } + + /// + /// ID of the Synthetics test to use as subtest. + /// + [Input("subtestPublicId")] + public Input? SubtestPublicId { get; set; } + + /// + /// Value of the step. + /// + [Input("value")] + public Input? Value { get; set; } + + /// + /// Details of the variable to extract. + /// + [Input("variable")] + public Input? Variable { get; set; } + + [Input("withEnter")] + public Input? WithEnter { get; set; } + + /// + /// X coordinates for a "scroll step". + /// + [Input("x")] + public Input? X { get; set; } + + /// + /// Y coordinates for a "scroll step". + /// + [Input("y")] + public Input? Y { get; set; } + + public SyntheticsTestMobileStepParamsGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsGetArgs Empty => new SyntheticsTestMobileStepParamsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionArgs.cs new file mode 100644 index 000000000..b65fca805 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsPositionArgs : global::Pulumi.ResourceArgs + { + [Input("x")] + public Input? X { get; set; } + + [Input("y")] + public Input? Y { get; set; } + + public SyntheticsTestMobileStepParamsPositionArgs() + { + } + public static new SyntheticsTestMobileStepParamsPositionArgs Empty => new SyntheticsTestMobileStepParamsPositionArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionGetArgs.cs new file mode 100644 index 000000000..035ef6255 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsPositionGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsPositionGetArgs : global::Pulumi.ResourceArgs + { + [Input("x")] + public Input? X { get; set; } + + [Input("y")] + public Input? Y { get; set; } + + public SyntheticsTestMobileStepParamsPositionGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsPositionGetArgs Empty => new SyntheticsTestMobileStepParamsPositionGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableArgs.cs new file mode 100644 index 000000000..e394b7682 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsVariableArgs : global::Pulumi.ResourceArgs + { + /// + /// Example of the extracted variable. Defaults to `""`. + /// + [Input("example")] + public Input? Example { get; set; } + + /// + /// Name of the extracted variable. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public SyntheticsTestMobileStepParamsVariableArgs() + { + } + public static new SyntheticsTestMobileStepParamsVariableArgs Empty => new SyntheticsTestMobileStepParamsVariableArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableGetArgs.cs new file mode 100644 index 000000000..3f0c57db7 --- /dev/null +++ b/sdk/dotnet/Inputs/SyntheticsTestMobileStepParamsVariableGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Inputs +{ + + public sealed class SyntheticsTestMobileStepParamsVariableGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Example of the extracted variable. Defaults to `""`. + /// + [Input("example")] + public Input? Example { get; set; } + + /// + /// Name of the extracted variable. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public SyntheticsTestMobileStepParamsVariableGetArgs() + { + } + public static new SyntheticsTestMobileStepParamsVariableGetArgs Empty => new SyntheticsTestMobileStepParamsVariableGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryArgs.cs index 847e5efa3..991ceeee1 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestOptionsListRetryArgs : global::Pulumi.ResourceArgs { /// - /// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. /// [Input("count")] public Input? Count { get; set; } /// - /// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. /// [Input("interval")] public Input? Interval { get; set; } diff --git a/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryGetArgs.cs b/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryGetArgs.cs index 29febe19a..bfc24c887 100644 --- a/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryGetArgs.cs +++ b/sdk/dotnet/Inputs/SyntheticsTestOptionsListRetryGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Datadog.Inputs public sealed class SyntheticsTestOptionsListRetryGetArgs : global::Pulumi.ResourceArgs { /// - /// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. /// [Input("count")] public Input? Count { get; set; } /// - /// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. /// [Input("interval")] public Input? Interval { get; set; } diff --git a/sdk/dotnet/Monitor.cs b/sdk/dotnet/Monitor.cs index cb7c3417f..678e75f4f 100644 --- a/sdk/dotnet/Monitor.cs +++ b/sdk/dotnet/Monitor.cs @@ -66,7 +66,7 @@ public partial class Monitor : global::Pulumi.CustomResource /// monitors. /// [Output("enableSamples")] - public Output EnableSamples { get; private set; } = null!; + public Output EnableSamples { get; private set; } = null!; /// /// A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. @@ -339,6 +339,13 @@ public sealed class MonitorArgs : global::Pulumi.ResourceArgs [Input("enableLogsSample")] public Input? EnableLogsSample { get; set; } + /// + /// Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + /// monitors. + /// + [Input("enableSamples")] + public Input? EnableSamples { get; set; } + /// /// A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. /// diff --git a/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs b/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs index 07b7fcaf8..db2f366cd 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestApiStep.cs @@ -22,6 +22,10 @@ public sealed class SyntheticsTestApiStep /// public readonly ImmutableArray Assertions; /// + /// Determines whether or not to exit the test if the step succeeds. + /// + public readonly bool? ExitIfSucceed; + /// /// Values to parse and save as variables from the response. /// public readonly ImmutableArray ExtractedValues; @@ -81,6 +85,8 @@ private SyntheticsTestApiStep( ImmutableArray assertions, + bool? exitIfSucceed, + ImmutableArray extractedValues, bool? isCritical, @@ -111,6 +117,7 @@ private SyntheticsTestApiStep( { AllowFailure = allowFailure; Assertions = assertions; + ExitIfSucceed = exitIfSucceed; ExtractedValues = extractedValues; IsCritical = isCritical; Name = name; diff --git a/sdk/dotnet/Outputs/SyntheticsTestApiStepRetry.cs b/sdk/dotnet/Outputs/SyntheticsTestApiStepRetry.cs index 68c72fece..6fb1f36c4 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestApiStepRetry.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestApiStepRetry.cs @@ -14,11 +14,11 @@ namespace Pulumi.Datadog.Outputs public sealed class SyntheticsTestApiStepRetry { /// - /// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. /// public readonly int? Count; /// - /// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. /// public readonly int? Interval; diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsList.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsList.cs new file mode 100644 index 000000000..30f19b9f4 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsList.cs @@ -0,0 +1,110 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsList + { + public readonly bool? AllowApplicationCrash; + public readonly ImmutableArray Bindings; + /// + /// CI/CD options for a Synthetic test. + /// + public readonly Outputs.SyntheticsTestMobileOptionsListCi? Ci; + public readonly int? DefaultStepTimeout; + public readonly ImmutableArray DeviceIds; + public readonly bool? DisableAutoAcceptAlert; + /// + /// Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + /// + public readonly int? MinFailureDuration; + public readonly Outputs.SyntheticsTestMobileOptionsListMobileApplication MobileApplication; + /// + /// The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + /// + public readonly string? MonitorName; + public readonly Outputs.SyntheticsTestMobileOptionsListMonitorOptions? MonitorOptions; + public readonly int? MonitorPriority; + /// + /// Prevents saving screenshots of the steps. + /// + public readonly bool? NoScreenshot; + /// + /// A list of role identifiers pulled from the Roles API to restrict read and write access. + /// + public readonly ImmutableArray RestrictedRoles; + public readonly Outputs.SyntheticsTestMobileOptionsListRetry? Retry; + /// + /// Object containing timeframes and timezone used for advanced scheduling. + /// + public readonly Outputs.SyntheticsTestMobileOptionsListScheduling? Scheduling; + /// + /// How often the test should run (in seconds). + /// + public readonly int TickEvery; + public readonly int? Verbosity; + + [OutputConstructor] + private SyntheticsTestMobileOptionsList( + bool? allowApplicationCrash, + + ImmutableArray bindings, + + Outputs.SyntheticsTestMobileOptionsListCi? ci, + + int? defaultStepTimeout, + + ImmutableArray deviceIds, + + bool? disableAutoAcceptAlert, + + int? minFailureDuration, + + Outputs.SyntheticsTestMobileOptionsListMobileApplication mobileApplication, + + string? monitorName, + + Outputs.SyntheticsTestMobileOptionsListMonitorOptions? monitorOptions, + + int? monitorPriority, + + bool? noScreenshot, + + ImmutableArray restrictedRoles, + + Outputs.SyntheticsTestMobileOptionsListRetry? retry, + + Outputs.SyntheticsTestMobileOptionsListScheduling? scheduling, + + int tickEvery, + + int? verbosity) + { + AllowApplicationCrash = allowApplicationCrash; + Bindings = bindings; + Ci = ci; + DefaultStepTimeout = defaultStepTimeout; + DeviceIds = deviceIds; + DisableAutoAcceptAlert = disableAutoAcceptAlert; + MinFailureDuration = minFailureDuration; + MobileApplication = mobileApplication; + MonitorName = monitorName; + MonitorOptions = monitorOptions; + MonitorPriority = monitorPriority; + NoScreenshot = noScreenshot; + RestrictedRoles = restrictedRoles; + Retry = retry; + Scheduling = scheduling; + TickEvery = tickEvery; + Verbosity = verbosity; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListBinding.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListBinding.cs new file mode 100644 index 000000000..7bb663661 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListBinding.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListBinding + { + public readonly ImmutableArray Principals; + /// + /// Valid values are `editor`, `viewer`. + /// + public readonly string? Relation; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListBinding( + ImmutableArray principals, + + string? relation) + { + Principals = principals; + Relation = relation; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListCi.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListCi.cs new file mode 100644 index 000000000..6c09844f0 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListCi.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListCi + { + /// + /// Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + /// + public readonly string ExecutionRule; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListCi(string executionRule) + { + ExecutionRule = executionRule; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMobileApplication.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMobileApplication.cs new file mode 100644 index 000000000..58eddd0b8 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMobileApplication.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListMobileApplication + { + public readonly string ApplicationId; + public readonly string ReferenceId; + /// + /// Valid values are `latest`, `version`. + /// + public readonly string ReferenceType; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListMobileApplication( + string applicationId, + + string referenceId, + + string referenceType) + { + ApplicationId = applicationId; + ReferenceId = referenceId; + ReferenceType = referenceType; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMonitorOptions.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMonitorOptions.cs new file mode 100644 index 000000000..51b1e099b --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListMonitorOptions.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListMonitorOptions + { + public readonly string? EscalationMessage; + /// + /// Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + /// + public readonly string? NotificationPresetName; + /// + /// Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + /// + public readonly int? RenotifyInterval; + public readonly int? RenotifyOccurrences; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListMonitorOptions( + string? escalationMessage, + + string? notificationPresetName, + + int? renotifyInterval, + + int? renotifyOccurrences) + { + EscalationMessage = escalationMessage; + NotificationPresetName = notificationPresetName; + RenotifyInterval = renotifyInterval; + RenotifyOccurrences = renotifyOccurrences; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListRetry.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListRetry.cs new file mode 100644 index 000000000..512d72d67 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListRetry.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListRetry + { + /// + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + /// + public readonly int? Count; + /// + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + /// + public readonly int? Interval; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListRetry( + int? count, + + int? interval) + { + Count = count; + Interval = interval; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListScheduling.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListScheduling.cs new file mode 100644 index 000000000..7ec6a542f --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListScheduling.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListScheduling + { + /// + /// Array containing objects describing the scheduling pattern to apply to each day. + /// + public readonly ImmutableArray Timeframes; + /// + /// Timezone in which the timeframe is based. + /// + public readonly string Timezone; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListScheduling( + ImmutableArray timeframes, + + string timezone) + { + Timeframes = timeframes; + Timezone = timezone; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.cs new file mode 100644 index 000000000..777c0b435 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileOptionsListSchedulingTimeframe + { + /// + /// Number representing the day of the week + /// + public readonly int Day; + /// + /// The hour of the day on which scheduling starts. + /// + public readonly string From; + /// + /// The hour of the day on which scheduling ends. + /// + public readonly string To; + + [OutputConstructor] + private SyntheticsTestMobileOptionsListSchedulingTimeframe( + int day, + + string from, + + string to) + { + Day = day; + From = from; + To = to; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStep.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStep.cs new file mode 100644 index 000000000..20931081d --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStep.cs @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStep + { + /// + /// A boolean set to allow this step to fail. + /// + public readonly bool? AllowFailure; + /// + /// A boolean set to determine if the step has a new step element. + /// + public readonly bool? HasNewStepElement; + /// + /// A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + /// + public readonly bool? IsCritical; + /// + /// The name of the step. + /// + public readonly string Name; + /// + /// A boolean set to not take a screenshot for the step. + /// + public readonly bool? NoScreenshot; + /// + /// Parameters for the step. + /// + public readonly Outputs.SyntheticsTestMobileStepParams Params; + /// + /// The public ID of the step. + /// + public readonly string? PublicId; + /// + /// The time before declaring a step failed. + /// + public readonly int? Timeout; + /// + /// The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + /// + public readonly string Type; + + [OutputConstructor] + private SyntheticsTestMobileStep( + bool? allowFailure, + + bool? hasNewStepElement, + + bool? isCritical, + + string name, + + bool? noScreenshot, + + Outputs.SyntheticsTestMobileStepParams @params, + + string? publicId, + + int? timeout, + + string type) + { + AllowFailure = allowFailure; + HasNewStepElement = hasNewStepElement; + IsCritical = isCritical; + Name = name; + NoScreenshot = noScreenshot; + Params = @params; + PublicId = publicId; + Timeout = timeout; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParams.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParams.cs new file mode 100644 index 000000000..85a74ca8d --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParams.cs @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParams + { + /// + /// Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + /// + public readonly string? Check; + /// + /// Delay between each key stroke for a "type test" step. + /// + public readonly int? Delay; + /// + /// Valid values are `up`, `down`, `left`, `right`. + /// + public readonly string? Direction; + /// + /// Element to use for the step, JSON encoded string. + /// + public readonly Outputs.SyntheticsTestMobileStepParamsElement? Element; + public readonly bool? Enable; + public readonly int? MaxScrolls; + public readonly ImmutableArray Positions; + /// + /// ID of the Synthetics test to use as subtest. + /// + public readonly string? SubtestPublicId; + /// + /// Value of the step. + /// + public readonly string? Value; + /// + /// Details of the variable to extract. + /// + public readonly Outputs.SyntheticsTestMobileStepParamsVariable? Variable; + public readonly bool? WithEnter; + /// + /// X coordinates for a "scroll step". + /// + public readonly double? X; + /// + /// Y coordinates for a "scroll step". + /// + public readonly double? Y; + + [OutputConstructor] + private SyntheticsTestMobileStepParams( + string? check, + + int? delay, + + string? direction, + + Outputs.SyntheticsTestMobileStepParamsElement? element, + + bool? enable, + + int? maxScrolls, + + ImmutableArray positions, + + string? subtestPublicId, + + string? value, + + Outputs.SyntheticsTestMobileStepParamsVariable? variable, + + bool? withEnter, + + double? x, + + double? y) + { + Check = check; + Delay = delay; + Direction = direction; + Element = element; + Enable = enable; + MaxScrolls = maxScrolls; + Positions = positions; + SubtestPublicId = subtestPublicId; + Value = value; + Variable = variable; + WithEnter = withEnter; + X = x; + Y = y; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElement.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElement.cs new file mode 100644 index 000000000..a2cf2e4b4 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElement.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParamsElement + { + public readonly string? Context; + /// + /// Valid values are `native`, `web`. + /// + public readonly string? ContextType; + public readonly string? ElementDescription; + public readonly ImmutableDictionary? MultiLocator; + public readonly Outputs.SyntheticsTestMobileStepParamsElementRelativePosition? RelativePosition; + public readonly string? TextContent; + public readonly Outputs.SyntheticsTestMobileStepParamsElementUserLocator? UserLocator; + public readonly string? ViewName; + + [OutputConstructor] + private SyntheticsTestMobileStepParamsElement( + string? context, + + string? contextType, + + string? elementDescription, + + ImmutableDictionary? multiLocator, + + Outputs.SyntheticsTestMobileStepParamsElementRelativePosition? relativePosition, + + string? textContent, + + Outputs.SyntheticsTestMobileStepParamsElementUserLocator? userLocator, + + string? viewName) + { + Context = context; + ContextType = contextType; + ElementDescription = elementDescription; + MultiLocator = multiLocator; + RelativePosition = relativePosition; + TextContent = textContent; + UserLocator = userLocator; + ViewName = viewName; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementRelativePosition.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementRelativePosition.cs new file mode 100644 index 000000000..554c24f83 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementRelativePosition.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParamsElementRelativePosition + { + public readonly double? X; + public readonly double? Y; + + [OutputConstructor] + private SyntheticsTestMobileStepParamsElementRelativePosition( + double? x, + + double? y) + { + X = x; + Y = y; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocator.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocator.cs new file mode 100644 index 000000000..eb9153c35 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocator.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParamsElementUserLocator + { + public readonly bool? FailTestOnCannotLocate; + public readonly ImmutableArray Values; + + [OutputConstructor] + private SyntheticsTestMobileStepParamsElementUserLocator( + bool? failTestOnCannotLocate, + + ImmutableArray values) + { + FailTestOnCannotLocate = failTestOnCannotLocate; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.cs new file mode 100644 index 000000000..d54ffc27a --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParamsElementUserLocatorValue + { + /// + /// Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + /// + public readonly string? Type; + public readonly string? Value; + + [OutputConstructor] + private SyntheticsTestMobileStepParamsElementUserLocatorValue( + string? type, + + string? value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsPosition.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsPosition.cs new file mode 100644 index 000000000..e380c2a5d --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsPosition.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParamsPosition + { + public readonly double? X; + public readonly double? Y; + + [OutputConstructor] + private SyntheticsTestMobileStepParamsPosition( + double? x, + + double? y) + { + X = x; + Y = y; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsVariable.cs b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsVariable.cs new file mode 100644 index 000000000..dcc681680 --- /dev/null +++ b/sdk/dotnet/Outputs/SyntheticsTestMobileStepParamsVariable.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Datadog.Outputs +{ + + [OutputType] + public sealed class SyntheticsTestMobileStepParamsVariable + { + /// + /// Example of the extracted variable. Defaults to `""`. + /// + public readonly string? Example; + /// + /// Name of the extracted variable. + /// + public readonly string Name; + + [OutputConstructor] + private SyntheticsTestMobileStepParamsVariable( + string? example, + + string name) + { + Example = example; + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/SyntheticsTestOptionsListRetry.cs b/sdk/dotnet/Outputs/SyntheticsTestOptionsListRetry.cs index b7dad2904..65236f2b2 100644 --- a/sdk/dotnet/Outputs/SyntheticsTestOptionsListRetry.cs +++ b/sdk/dotnet/Outputs/SyntheticsTestOptionsListRetry.cs @@ -14,11 +14,11 @@ namespace Pulumi.Datadog.Outputs public sealed class SyntheticsTestOptionsListRetry { /// - /// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + /// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. /// public readonly int? Count; /// - /// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + /// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. /// public readonly int? Interval; diff --git a/sdk/dotnet/SyntheticsTest.cs b/sdk/dotnet/SyntheticsTest.cs index cf11c86c7..2c42b8970 100644 --- a/sdk/dotnet/SyntheticsTest.cs +++ b/sdk/dotnet/SyntheticsTest.cs @@ -487,6 +487,200 @@ namespace Pulumi.Datadog /// }, /// }); /// + /// // Example Usage (Synthetics Mobile test) + /// // Create a new Datadog Synthetics Mobile test starting on https://www.example.org + /// var testMobile = new Datadog.SyntheticsTest("test_mobile", new() + /// { + /// Type = "mobile", + /// Name = "A Mobile test on example.org", + /// Status = "paused", + /// Message = "Notify @datadog.user", + /// Tags = new[] + /// { + /// "foo:bar", + /// "baz", + /// }, + /// ConfigVariables = new[] + /// { + /// new Datadog.Inputs.SyntheticsTestConfigVariableArgs + /// { + /// Example = "123", + /// Name = "VARIABLE_NAME", + /// Pattern = "{{numeric(3)}}", + /// Type = "text", + /// Secure = false, + /// }, + /// }, + /// ConfigInitialApplicationArguments = + /// { + /// { "test_process_argument", "test1" }, + /// }, + /// DeviceIds = new[] + /// { + /// "synthetics:mobile:device:apple_iphone_14_plus_ios_16", + /// }, + /// Locations = new[] + /// { + /// "aws:eu-central-1", + /// }, + /// MobileOptionsList = new Datadog.Inputs.SyntheticsTestMobileOptionsListArgs + /// { + /// MinFailureDuration = 0, + /// Retry = new Datadog.Inputs.SyntheticsTestMobileOptionsListRetryArgs + /// { + /// Count = 0, + /// Interval = 300, + /// }, + /// TickEvery = 43200, + /// Scheduling = new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingArgs + /// { + /// Timeframes = new[] + /// { + /// new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs + /// { + /// Day = 5, + /// From = "07:00", + /// To = "16:00", + /// }, + /// new Datadog.Inputs.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs + /// { + /// Day = 7, + /// From = "07:00", + /// To = "16:00", + /// }, + /// }, + /// Timezone = "UTC", + /// }, + /// MonitorName = "mobile-test-monitor", + /// MonitorOptions = new Datadog.Inputs.SyntheticsTestMobileOptionsListMonitorOptionsArgs + /// { + /// RenotifyInterval = 10, + /// EscalationMessage = "test escalation message", + /// RenotifyOccurrences = 3, + /// NotificationPresetName = "show_all", + /// }, + /// MonitorPriority = 5, + /// RestrictedRoles = new[] + /// { + /// "role1", + /// "role2", + /// }, + /// Bindings = new[] + /// { + /// new Datadog.Inputs.SyntheticsTestMobileOptionsListBindingArgs + /// { + /// Principals = new[] + /// { + /// "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091", + /// "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002", + /// }, + /// Relation = "editor", + /// }, + /// }, + /// Ci = new Datadog.Inputs.SyntheticsTestMobileOptionsListCiArgs + /// { + /// ExecutionRule = "blocking", + /// }, + /// DefaultStepTimeout = 10, + /// DeviceIds = new[] + /// { + /// "synthetics:mobile:device:apple_iphone_14_plus_ios_16", + /// }, + /// NoScreenshot = true, + /// AllowApplicationCrash = false, + /// DisableAutoAcceptAlert = true, + /// MobileApplication = new Datadog.Inputs.SyntheticsTestMobileOptionsListMobileApplicationArgs + /// { + /// ApplicationId = "5f055d15-0000-aaaa-zzzz-6739f83346aa", + /// ReferenceId = "434d4719-0000-aaaa-zzzz-31082b544718", + /// ReferenceType = "version", + /// }, + /// }, + /// MobileSteps = new[] + /// { + /// new Datadog.Inputs.SyntheticsTestMobileStepArgs + /// { + /// Name = "Tap on StaticText \"Tap\"", + /// Params = new Datadog.Inputs.SyntheticsTestMobileStepParamsArgs + /// { + /// Element = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementArgs + /// { + /// Context = "NATIVE_APP", + /// ViewName = "StaticText", + /// ContextType = "native", + /// TextContent = "Tap", + /// MultiLocator = null, + /// RelativePosition = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs + /// { + /// X = 0.07256155303030302, + /// Y = 0.41522381756756754, + /// }, + /// UserLocator = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs + /// { + /// FailTestOnCannotLocate = false, + /// Values = new[] + /// { + /// new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs + /// { + /// Type = "id", + /// Value = "some_id", + /// }, + /// }, + /// }, + /// ElementDescription = "<XCUIElementTypeStaticText value=\"Tap\" name=\"Tap\" label=\"Tap\">", + /// }, + /// }, + /// Timeout = 100, + /// Type = "tap", + /// AllowFailure = false, + /// IsCritical = true, + /// NoScreenshot = false, + /// HasNewStepElement = false, + /// }, + /// new Datadog.Inputs.SyntheticsTestMobileStepArgs + /// { + /// Name = "Test View \"Tap\" content", + /// Params = new Datadog.Inputs.SyntheticsTestMobileStepParamsArgs + /// { + /// Check = "contains", + /// Value = "Tap", + /// Element = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementArgs + /// { + /// Context = "NATIVE_APP", + /// ViewName = "View", + /// ContextType = "native", + /// TextContent = "Tap", + /// MultiLocator = null, + /// RelativePosition = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs + /// { + /// X = 0.27660448306074764, + /// Y = 0.6841517857142857, + /// }, + /// UserLocator = new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs + /// { + /// FailTestOnCannotLocate = false, + /// Values = new[] + /// { + /// new Datadog.Inputs.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs + /// { + /// Type = "id", + /// Value = "some_id", + /// }, + /// }, + /// }, + /// ElementDescription = "<XCUIElementTypeOther name=\"Tap\" label=\"Tap\">", + /// }, + /// }, + /// Timeout = 100, + /// Type = "assertElementContent", + /// AllowFailure = false, + /// IsCritical = true, + /// NoScreenshot = false, + /// HasNewStepElement = false, + /// }, + /// }, + /// }); + /// /// // Example Usage (GRPC API behavior check test) /// // Create a new Datadog GRPC API test calling host example.org on port 443 /// // targeting service `greeter.Greeter` with the method `SayHello` @@ -659,6 +853,12 @@ public partial class SyntheticsTest : global::Pulumi.CustomResource [Output("browserVariables")] public Output> BrowserVariables { get; private set; } = null!; + /// + /// Initial application arguments for the mobile test. + /// + [Output("configInitialApplicationArguments")] + public Output?> ConfigInitialApplicationArguments { get; private set; } = null!; + /// /// Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. /// @@ -666,7 +866,7 @@ public partial class SyntheticsTest : global::Pulumi.CustomResource public Output> ConfigVariables { get; private set; } = null!; /// - /// Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + /// Required if `type = "browser"`. Array with the different device IDs used to run the test. /// [Output("deviceIds")] public Output> DeviceIds { get; private set; } = null!; @@ -689,6 +889,15 @@ public partial class SyntheticsTest : global::Pulumi.CustomResource [Output("message")] public Output Message { get; private set; } = null!; + [Output("mobileOptionsList")] + public Output MobileOptionsList { get; private set; } = null!; + + /// + /// Steps for mobile tests + /// + [Output("mobileSteps")] + public Output> MobileSteps { get; private set; } = null!; + /// /// ID of the monitor associated with the Datadog synthetics test. /// @@ -882,6 +1091,18 @@ public InputList BrowserVariables set => _browserVariables = value; } + [Input("configInitialApplicationArguments")] + private InputMap? _configInitialApplicationArguments; + + /// + /// Initial application arguments for the mobile test. + /// + public InputMap ConfigInitialApplicationArguments + { + get => _configInitialApplicationArguments ?? (_configInitialApplicationArguments = new InputMap()); + set => _configInitialApplicationArguments = value; + } + [Input("configVariables")] private InputList? _configVariables; @@ -898,7 +1119,7 @@ public InputList ConfigVariables private InputList? _deviceIds; /// - /// Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + /// Required if `type = "browser"`. Array with the different device IDs used to run the test. /// public InputList DeviceIds { @@ -930,6 +1151,21 @@ public InputList Locations [Input("message")] public Input? Message { get; set; } + [Input("mobileOptionsList")] + public Input? MobileOptionsList { get; set; } + + [Input("mobileSteps")] + private InputList? _mobileSteps; + + /// + /// Steps for mobile tests + /// + public InputList MobileSteps + { + get => _mobileSteps ?? (_mobileSteps = new InputList()); + set => _mobileSteps = value; + } + /// /// Name of Datadog synthetics test. /// @@ -1109,6 +1345,18 @@ public InputList BrowserVariables set => _browserVariables = value; } + [Input("configInitialApplicationArguments")] + private InputMap? _configInitialApplicationArguments; + + /// + /// Initial application arguments for the mobile test. + /// + public InputMap ConfigInitialApplicationArguments + { + get => _configInitialApplicationArguments ?? (_configInitialApplicationArguments = new InputMap()); + set => _configInitialApplicationArguments = value; + } + [Input("configVariables")] private InputList? _configVariables; @@ -1125,7 +1373,7 @@ public InputList ConfigVariables private InputList? _deviceIds; /// - /// Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + /// Required if `type = "browser"`. Array with the different device IDs used to run the test. /// public InputList DeviceIds { @@ -1157,6 +1405,21 @@ public InputList Locations [Input("message")] public Input? Message { get; set; } + [Input("mobileOptionsList")] + public Input? MobileOptionsList { get; set; } + + [Input("mobileSteps")] + private InputList? _mobileSteps; + + /// + /// Steps for mobile tests + /// + public InputList MobileSteps + { + get => _mobileSteps ?? (_mobileSteps = new InputList()); + set => _mobileSteps = value; + } + /// /// ID of the monitor associated with the Datadog synthetics test. /// diff --git a/sdk/go/datadog/aws/getIntegrationAvailableLogsServices.go b/sdk/go/datadog/aws/getIntegrationAvailableLogsServices.go new file mode 100644 index 000000000..e509906a4 --- /dev/null +++ b/sdk/go/datadog/aws/getIntegrationAvailableLogsServices.go @@ -0,0 +1,67 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package aws + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `aws.IntegrationAccount` resource. +func GetIntegrationAvailableLogsServices(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIntegrationAvailableLogsServicesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIntegrationAvailableLogsServicesResult + err := ctx.Invoke("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIntegrationAvailableLogsServices. +type GetIntegrationAvailableLogsServicesResult struct { + // List of AWS log ready services. + AwsLogsServices []string `pulumi:"awsLogsServices"` + // The ID of this resource. + Id string `pulumi:"id"` +} + +func GetIntegrationAvailableLogsServicesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIntegrationAvailableLogsServicesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIntegrationAvailableLogsServicesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", nil, GetIntegrationAvailableLogsServicesResultOutput{}, options).(GetIntegrationAvailableLogsServicesResultOutput), nil + }).(GetIntegrationAvailableLogsServicesResultOutput) +} + +// A collection of values returned by getIntegrationAvailableLogsServices. +type GetIntegrationAvailableLogsServicesResultOutput struct{ *pulumi.OutputState } + +func (GetIntegrationAvailableLogsServicesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIntegrationAvailableLogsServicesResult)(nil)).Elem() +} + +func (o GetIntegrationAvailableLogsServicesResultOutput) ToGetIntegrationAvailableLogsServicesResultOutput() GetIntegrationAvailableLogsServicesResultOutput { + return o +} + +func (o GetIntegrationAvailableLogsServicesResultOutput) ToGetIntegrationAvailableLogsServicesResultOutputWithContext(ctx context.Context) GetIntegrationAvailableLogsServicesResultOutput { + return o +} + +// List of AWS log ready services. +func (o GetIntegrationAvailableLogsServicesResultOutput) AwsLogsServices() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIntegrationAvailableLogsServicesResult) []string { return v.AwsLogsServices }).(pulumi.StringArrayOutput) +} + +// The ID of this resource. +func (o GetIntegrationAvailableLogsServicesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIntegrationAvailableLogsServicesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIntegrationAvailableLogsServicesResultOutput{}) +} diff --git a/sdk/go/datadog/aws/getIntegrationAvailableNamespaces.go b/sdk/go/datadog/aws/getIntegrationAvailableNamespaces.go new file mode 100644 index 000000000..b87774efe --- /dev/null +++ b/sdk/go/datadog/aws/getIntegrationAvailableNamespaces.go @@ -0,0 +1,67 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package aws + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `includeOnly` or `excludeOnly` in `aws.IntegrationAccount` resource. +func GetIntegrationAvailableNamespaces(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetIntegrationAvailableNamespacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetIntegrationAvailableNamespacesResult + err := ctx.Invoke("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getIntegrationAvailableNamespaces. +type GetIntegrationAvailableNamespacesResult struct { + // List of available AWS namespaces. + AwsNamespaces []string `pulumi:"awsNamespaces"` + // The ID of this resource. + Id string `pulumi:"id"` +} + +func GetIntegrationAvailableNamespacesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetIntegrationAvailableNamespacesResultOutput { + return pulumi.ToOutput(0).ApplyT(func(int) (GetIntegrationAvailableNamespacesResultOutput, error) { + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", nil, GetIntegrationAvailableNamespacesResultOutput{}, options).(GetIntegrationAvailableNamespacesResultOutput), nil + }).(GetIntegrationAvailableNamespacesResultOutput) +} + +// A collection of values returned by getIntegrationAvailableNamespaces. +type GetIntegrationAvailableNamespacesResultOutput struct{ *pulumi.OutputState } + +func (GetIntegrationAvailableNamespacesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetIntegrationAvailableNamespacesResult)(nil)).Elem() +} + +func (o GetIntegrationAvailableNamespacesResultOutput) ToGetIntegrationAvailableNamespacesResultOutput() GetIntegrationAvailableNamespacesResultOutput { + return o +} + +func (o GetIntegrationAvailableNamespacesResultOutput) ToGetIntegrationAvailableNamespacesResultOutputWithContext(ctx context.Context) GetIntegrationAvailableNamespacesResultOutput { + return o +} + +// List of available AWS namespaces. +func (o GetIntegrationAvailableNamespacesResultOutput) AwsNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetIntegrationAvailableNamespacesResult) []string { return v.AwsNamespaces }).(pulumi.StringArrayOutput) +} + +// The ID of this resource. +func (o GetIntegrationAvailableNamespacesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetIntegrationAvailableNamespacesResult) string { return v.Id }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetIntegrationAvailableNamespacesResultOutput{}) +} diff --git a/sdk/go/datadog/aws/init.go b/sdk/go/datadog/aws/init.go index cc29d2373..4dd4a2755 100644 --- a/sdk/go/datadog/aws/init.go +++ b/sdk/go/datadog/aws/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "datadog:aws/integration:Integration": r = &Integration{} + case "datadog:aws/integrationAccount:IntegrationAccount": + r = &IntegrationAccount{} case "datadog:aws/integrationEventBridge:IntegrationEventBridge": r = &IntegrationEventBridge{} case "datadog:aws/integrationLambdaArn:IntegrationLambdaArn": @@ -49,6 +51,11 @@ func init() { "aws/integration", &module{version}, ) + pulumi.RegisterResourceModule( + "datadog", + "aws/integrationAccount", + &module{version}, + ) pulumi.RegisterResourceModule( "datadog", "aws/integrationEventBridge", diff --git a/sdk/go/datadog/aws/integrationAccount.go b/sdk/go/datadog/aws/integrationAccount.go new file mode 100644 index 000000000..4d94491d3 --- /dev/null +++ b/sdk/go/datadog/aws/integrationAccount.go @@ -0,0 +1,324 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package aws + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Import +// +// ```sh +// $ pulumi import datadog:aws/integrationAccount:IntegrationAccount example "" +// ``` +// +// AWS Account Config ID can be retrieved by using the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and querying by AWS Account ID, or by accessing the `id` field of an existing `datadog_integration_aws` resource. +type IntegrationAccount struct { + pulumi.CustomResourceState + + // Tags to apply to all metrics in the account + AccountTags pulumi.StringArrayOutput `pulumi:"accountTags"` + AuthConfig IntegrationAccountAuthConfigPtrOutput `pulumi:"authConfig"` + // Your AWS Account ID without dashes. + AwsAccountId pulumi.StringOutput `pulumi:"awsAccountId"` + // AWS Account partition + AwsPartition pulumi.StringOutput `pulumi:"awsPartition"` + // AWS Regions to collect data from. + AwsRegions IntegrationAccountAwsRegionsPtrOutput `pulumi:"awsRegions"` + LogsConfig IntegrationAccountLogsConfigPtrOutput `pulumi:"logsConfig"` + MetricsConfig IntegrationAccountMetricsConfigPtrOutput `pulumi:"metricsConfig"` + ResourcesConfig IntegrationAccountResourcesConfigPtrOutput `pulumi:"resourcesConfig"` + // AWS Traces Collection config. + TracesConfig IntegrationAccountTracesConfigPtrOutput `pulumi:"tracesConfig"` +} + +// NewIntegrationAccount registers a new resource with the given unique name, arguments, and options. +func NewIntegrationAccount(ctx *pulumi.Context, + name string, args *IntegrationAccountArgs, opts ...pulumi.ResourceOption) (*IntegrationAccount, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AwsAccountId == nil { + return nil, errors.New("invalid value for required argument 'AwsAccountId'") + } + if args.AwsPartition == nil { + return nil, errors.New("invalid value for required argument 'AwsPartition'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource IntegrationAccount + err := ctx.RegisterResource("datadog:aws/integrationAccount:IntegrationAccount", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetIntegrationAccount gets an existing IntegrationAccount resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetIntegrationAccount(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *IntegrationAccountState, opts ...pulumi.ResourceOption) (*IntegrationAccount, error) { + var resource IntegrationAccount + err := ctx.ReadResource("datadog:aws/integrationAccount:IntegrationAccount", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering IntegrationAccount resources. +type integrationAccountState struct { + // Tags to apply to all metrics in the account + AccountTags []string `pulumi:"accountTags"` + AuthConfig *IntegrationAccountAuthConfig `pulumi:"authConfig"` + // Your AWS Account ID without dashes. + AwsAccountId *string `pulumi:"awsAccountId"` + // AWS Account partition + AwsPartition *string `pulumi:"awsPartition"` + // AWS Regions to collect data from. + AwsRegions *IntegrationAccountAwsRegions `pulumi:"awsRegions"` + LogsConfig *IntegrationAccountLogsConfig `pulumi:"logsConfig"` + MetricsConfig *IntegrationAccountMetricsConfig `pulumi:"metricsConfig"` + ResourcesConfig *IntegrationAccountResourcesConfig `pulumi:"resourcesConfig"` + // AWS Traces Collection config. + TracesConfig *IntegrationAccountTracesConfig `pulumi:"tracesConfig"` +} + +type IntegrationAccountState struct { + // Tags to apply to all metrics in the account + AccountTags pulumi.StringArrayInput + AuthConfig IntegrationAccountAuthConfigPtrInput + // Your AWS Account ID without dashes. + AwsAccountId pulumi.StringPtrInput + // AWS Account partition + AwsPartition pulumi.StringPtrInput + // AWS Regions to collect data from. + AwsRegions IntegrationAccountAwsRegionsPtrInput + LogsConfig IntegrationAccountLogsConfigPtrInput + MetricsConfig IntegrationAccountMetricsConfigPtrInput + ResourcesConfig IntegrationAccountResourcesConfigPtrInput + // AWS Traces Collection config. + TracesConfig IntegrationAccountTracesConfigPtrInput +} + +func (IntegrationAccountState) ElementType() reflect.Type { + return reflect.TypeOf((*integrationAccountState)(nil)).Elem() +} + +type integrationAccountArgs struct { + // Tags to apply to all metrics in the account + AccountTags []string `pulumi:"accountTags"` + AuthConfig *IntegrationAccountAuthConfig `pulumi:"authConfig"` + // Your AWS Account ID without dashes. + AwsAccountId string `pulumi:"awsAccountId"` + // AWS Account partition + AwsPartition string `pulumi:"awsPartition"` + // AWS Regions to collect data from. + AwsRegions *IntegrationAccountAwsRegions `pulumi:"awsRegions"` + LogsConfig *IntegrationAccountLogsConfig `pulumi:"logsConfig"` + MetricsConfig *IntegrationAccountMetricsConfig `pulumi:"metricsConfig"` + ResourcesConfig *IntegrationAccountResourcesConfig `pulumi:"resourcesConfig"` + // AWS Traces Collection config. + TracesConfig *IntegrationAccountTracesConfig `pulumi:"tracesConfig"` +} + +// The set of arguments for constructing a IntegrationAccount resource. +type IntegrationAccountArgs struct { + // Tags to apply to all metrics in the account + AccountTags pulumi.StringArrayInput + AuthConfig IntegrationAccountAuthConfigPtrInput + // Your AWS Account ID without dashes. + AwsAccountId pulumi.StringInput + // AWS Account partition + AwsPartition pulumi.StringInput + // AWS Regions to collect data from. + AwsRegions IntegrationAccountAwsRegionsPtrInput + LogsConfig IntegrationAccountLogsConfigPtrInput + MetricsConfig IntegrationAccountMetricsConfigPtrInput + ResourcesConfig IntegrationAccountResourcesConfigPtrInput + // AWS Traces Collection config. + TracesConfig IntegrationAccountTracesConfigPtrInput +} + +func (IntegrationAccountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*integrationAccountArgs)(nil)).Elem() +} + +type IntegrationAccountInput interface { + pulumi.Input + + ToIntegrationAccountOutput() IntegrationAccountOutput + ToIntegrationAccountOutputWithContext(ctx context.Context) IntegrationAccountOutput +} + +func (*IntegrationAccount) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccount)(nil)).Elem() +} + +func (i *IntegrationAccount) ToIntegrationAccountOutput() IntegrationAccountOutput { + return i.ToIntegrationAccountOutputWithContext(context.Background()) +} + +func (i *IntegrationAccount) ToIntegrationAccountOutputWithContext(ctx context.Context) IntegrationAccountOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountOutput) +} + +// IntegrationAccountArrayInput is an input type that accepts IntegrationAccountArray and IntegrationAccountArrayOutput values. +// You can construct a concrete instance of `IntegrationAccountArrayInput` via: +// +// IntegrationAccountArray{ IntegrationAccountArgs{...} } +type IntegrationAccountArrayInput interface { + pulumi.Input + + ToIntegrationAccountArrayOutput() IntegrationAccountArrayOutput + ToIntegrationAccountArrayOutputWithContext(context.Context) IntegrationAccountArrayOutput +} + +type IntegrationAccountArray []IntegrationAccountInput + +func (IntegrationAccountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationAccount)(nil)).Elem() +} + +func (i IntegrationAccountArray) ToIntegrationAccountArrayOutput() IntegrationAccountArrayOutput { + return i.ToIntegrationAccountArrayOutputWithContext(context.Background()) +} + +func (i IntegrationAccountArray) ToIntegrationAccountArrayOutputWithContext(ctx context.Context) IntegrationAccountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountArrayOutput) +} + +// IntegrationAccountMapInput is an input type that accepts IntegrationAccountMap and IntegrationAccountMapOutput values. +// You can construct a concrete instance of `IntegrationAccountMapInput` via: +// +// IntegrationAccountMap{ "key": IntegrationAccountArgs{...} } +type IntegrationAccountMapInput interface { + pulumi.Input + + ToIntegrationAccountMapOutput() IntegrationAccountMapOutput + ToIntegrationAccountMapOutputWithContext(context.Context) IntegrationAccountMapOutput +} + +type IntegrationAccountMap map[string]IntegrationAccountInput + +func (IntegrationAccountMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationAccount)(nil)).Elem() +} + +func (i IntegrationAccountMap) ToIntegrationAccountMapOutput() IntegrationAccountMapOutput { + return i.ToIntegrationAccountMapOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMap) ToIntegrationAccountMapOutputWithContext(ctx context.Context) IntegrationAccountMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMapOutput) +} + +type IntegrationAccountOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccount)(nil)).Elem() +} + +func (o IntegrationAccountOutput) ToIntegrationAccountOutput() IntegrationAccountOutput { + return o +} + +func (o IntegrationAccountOutput) ToIntegrationAccountOutputWithContext(ctx context.Context) IntegrationAccountOutput { + return o +} + +// Tags to apply to all metrics in the account +func (o IntegrationAccountOutput) AccountTags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccount) pulumi.StringArrayOutput { return v.AccountTags }).(pulumi.StringArrayOutput) +} + +func (o IntegrationAccountOutput) AuthConfig() IntegrationAccountAuthConfigPtrOutput { + return o.ApplyT(func(v *IntegrationAccount) IntegrationAccountAuthConfigPtrOutput { return v.AuthConfig }).(IntegrationAccountAuthConfigPtrOutput) +} + +// Your AWS Account ID without dashes. +func (o IntegrationAccountOutput) AwsAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationAccount) pulumi.StringOutput { return v.AwsAccountId }).(pulumi.StringOutput) +} + +// AWS Account partition +func (o IntegrationAccountOutput) AwsPartition() pulumi.StringOutput { + return o.ApplyT(func(v *IntegrationAccount) pulumi.StringOutput { return v.AwsPartition }).(pulumi.StringOutput) +} + +// AWS Regions to collect data from. +func (o IntegrationAccountOutput) AwsRegions() IntegrationAccountAwsRegionsPtrOutput { + return o.ApplyT(func(v *IntegrationAccount) IntegrationAccountAwsRegionsPtrOutput { return v.AwsRegions }).(IntegrationAccountAwsRegionsPtrOutput) +} + +func (o IntegrationAccountOutput) LogsConfig() IntegrationAccountLogsConfigPtrOutput { + return o.ApplyT(func(v *IntegrationAccount) IntegrationAccountLogsConfigPtrOutput { return v.LogsConfig }).(IntegrationAccountLogsConfigPtrOutput) +} + +func (o IntegrationAccountOutput) MetricsConfig() IntegrationAccountMetricsConfigPtrOutput { + return o.ApplyT(func(v *IntegrationAccount) IntegrationAccountMetricsConfigPtrOutput { return v.MetricsConfig }).(IntegrationAccountMetricsConfigPtrOutput) +} + +func (o IntegrationAccountOutput) ResourcesConfig() IntegrationAccountResourcesConfigPtrOutput { + return o.ApplyT(func(v *IntegrationAccount) IntegrationAccountResourcesConfigPtrOutput { return v.ResourcesConfig }).(IntegrationAccountResourcesConfigPtrOutput) +} + +// AWS Traces Collection config. +func (o IntegrationAccountOutput) TracesConfig() IntegrationAccountTracesConfigPtrOutput { + return o.ApplyT(func(v *IntegrationAccount) IntegrationAccountTracesConfigPtrOutput { return v.TracesConfig }).(IntegrationAccountTracesConfigPtrOutput) +} + +type IntegrationAccountArrayOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*IntegrationAccount)(nil)).Elem() +} + +func (o IntegrationAccountArrayOutput) ToIntegrationAccountArrayOutput() IntegrationAccountArrayOutput { + return o +} + +func (o IntegrationAccountArrayOutput) ToIntegrationAccountArrayOutputWithContext(ctx context.Context) IntegrationAccountArrayOutput { + return o +} + +func (o IntegrationAccountArrayOutput) Index(i pulumi.IntInput) IntegrationAccountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IntegrationAccount { + return vs[0].([]*IntegrationAccount)[vs[1].(int)] + }).(IntegrationAccountOutput) +} + +type IntegrationAccountMapOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*IntegrationAccount)(nil)).Elem() +} + +func (o IntegrationAccountMapOutput) ToIntegrationAccountMapOutput() IntegrationAccountMapOutput { + return o +} + +func (o IntegrationAccountMapOutput) ToIntegrationAccountMapOutputWithContext(ctx context.Context) IntegrationAccountMapOutput { + return o +} + +func (o IntegrationAccountMapOutput) MapIndex(k pulumi.StringInput) IntegrationAccountOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IntegrationAccount { + return vs[0].(map[string]*IntegrationAccount)[vs[1].(string)] + }).(IntegrationAccountOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountInput)(nil)).Elem(), &IntegrationAccount{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountArrayInput)(nil)).Elem(), IntegrationAccountArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMapInput)(nil)).Elem(), IntegrationAccountMap{}) + pulumi.RegisterOutputType(IntegrationAccountOutput{}) + pulumi.RegisterOutputType(IntegrationAccountArrayOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMapOutput{}) +} diff --git a/sdk/go/datadog/aws/pulumiTypes.go b/sdk/go/datadog/aws/pulumiTypes.go index 6ba82001b..2bf77361b 100644 --- a/sdk/go/datadog/aws/pulumiTypes.go +++ b/sdk/go/datadog/aws/pulumiTypes.go @@ -13,6 +13,1858 @@ import ( var _ = internal.GetEnvOrDefault +type IntegrationAccountAuthConfig struct { + AwsAuthConfigKeys *IntegrationAccountAuthConfigAwsAuthConfigKeys `pulumi:"awsAuthConfigKeys"` + AwsAuthConfigRole *IntegrationAccountAuthConfigAwsAuthConfigRole `pulumi:"awsAuthConfigRole"` +} + +// IntegrationAccountAuthConfigInput is an input type that accepts IntegrationAccountAuthConfigArgs and IntegrationAccountAuthConfigOutput values. +// You can construct a concrete instance of `IntegrationAccountAuthConfigInput` via: +// +// IntegrationAccountAuthConfigArgs{...} +type IntegrationAccountAuthConfigInput interface { + pulumi.Input + + ToIntegrationAccountAuthConfigOutput() IntegrationAccountAuthConfigOutput + ToIntegrationAccountAuthConfigOutputWithContext(context.Context) IntegrationAccountAuthConfigOutput +} + +type IntegrationAccountAuthConfigArgs struct { + AwsAuthConfigKeys IntegrationAccountAuthConfigAwsAuthConfigKeysPtrInput `pulumi:"awsAuthConfigKeys"` + AwsAuthConfigRole IntegrationAccountAuthConfigAwsAuthConfigRolePtrInput `pulumi:"awsAuthConfigRole"` +} + +func (IntegrationAccountAuthConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAuthConfig)(nil)).Elem() +} + +func (i IntegrationAccountAuthConfigArgs) ToIntegrationAccountAuthConfigOutput() IntegrationAccountAuthConfigOutput { + return i.ToIntegrationAccountAuthConfigOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAuthConfigArgs) ToIntegrationAccountAuthConfigOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigOutput) +} + +func (i IntegrationAccountAuthConfigArgs) ToIntegrationAccountAuthConfigPtrOutput() IntegrationAccountAuthConfigPtrOutput { + return i.ToIntegrationAccountAuthConfigPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAuthConfigArgs) ToIntegrationAccountAuthConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigOutput).ToIntegrationAccountAuthConfigPtrOutputWithContext(ctx) +} + +// IntegrationAccountAuthConfigPtrInput is an input type that accepts IntegrationAccountAuthConfigArgs, IntegrationAccountAuthConfigPtr and IntegrationAccountAuthConfigPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountAuthConfigPtrInput` via: +// +// IntegrationAccountAuthConfigArgs{...} +// +// or: +// +// nil +type IntegrationAccountAuthConfigPtrInput interface { + pulumi.Input + + ToIntegrationAccountAuthConfigPtrOutput() IntegrationAccountAuthConfigPtrOutput + ToIntegrationAccountAuthConfigPtrOutputWithContext(context.Context) IntegrationAccountAuthConfigPtrOutput +} + +type integrationAccountAuthConfigPtrType IntegrationAccountAuthConfigArgs + +func IntegrationAccountAuthConfigPtr(v *IntegrationAccountAuthConfigArgs) IntegrationAccountAuthConfigPtrInput { + return (*integrationAccountAuthConfigPtrType)(v) +} + +func (*integrationAccountAuthConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAuthConfig)(nil)).Elem() +} + +func (i *integrationAccountAuthConfigPtrType) ToIntegrationAccountAuthConfigPtrOutput() IntegrationAccountAuthConfigPtrOutput { + return i.ToIntegrationAccountAuthConfigPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountAuthConfigPtrType) ToIntegrationAccountAuthConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigPtrOutput) +} + +type IntegrationAccountAuthConfigOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAuthConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAuthConfig)(nil)).Elem() +} + +func (o IntegrationAccountAuthConfigOutput) ToIntegrationAccountAuthConfigOutput() IntegrationAccountAuthConfigOutput { + return o +} + +func (o IntegrationAccountAuthConfigOutput) ToIntegrationAccountAuthConfigOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigOutput { + return o +} + +func (o IntegrationAccountAuthConfigOutput) ToIntegrationAccountAuthConfigPtrOutput() IntegrationAccountAuthConfigPtrOutput { + return o.ToIntegrationAccountAuthConfigPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountAuthConfigOutput) ToIntegrationAccountAuthConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountAuthConfig) *IntegrationAccountAuthConfig { + return &v + }).(IntegrationAccountAuthConfigPtrOutput) +} + +func (o IntegrationAccountAuthConfigOutput) AwsAuthConfigKeys() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return o.ApplyT(func(v IntegrationAccountAuthConfig) *IntegrationAccountAuthConfigAwsAuthConfigKeys { + return v.AwsAuthConfigKeys + }).(IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) +} + +func (o IntegrationAccountAuthConfigOutput) AwsAuthConfigRole() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return o.ApplyT(func(v IntegrationAccountAuthConfig) *IntegrationAccountAuthConfigAwsAuthConfigRole { + return v.AwsAuthConfigRole + }).(IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) +} + +type IntegrationAccountAuthConfigPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAuthConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAuthConfig)(nil)).Elem() +} + +func (o IntegrationAccountAuthConfigPtrOutput) ToIntegrationAccountAuthConfigPtrOutput() IntegrationAccountAuthConfigPtrOutput { + return o +} + +func (o IntegrationAccountAuthConfigPtrOutput) ToIntegrationAccountAuthConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigPtrOutput { + return o +} + +func (o IntegrationAccountAuthConfigPtrOutput) Elem() IntegrationAccountAuthConfigOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfig) IntegrationAccountAuthConfig { + if v != nil { + return *v + } + var ret IntegrationAccountAuthConfig + return ret + }).(IntegrationAccountAuthConfigOutput) +} + +func (o IntegrationAccountAuthConfigPtrOutput) AwsAuthConfigKeys() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfig) *IntegrationAccountAuthConfigAwsAuthConfigKeys { + if v == nil { + return nil + } + return v.AwsAuthConfigKeys + }).(IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) +} + +func (o IntegrationAccountAuthConfigPtrOutput) AwsAuthConfigRole() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfig) *IntegrationAccountAuthConfigAwsAuthConfigRole { + if v == nil { + return nil + } + return v.AwsAuthConfigRole + }).(IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) +} + +type IntegrationAccountAuthConfigAwsAuthConfigKeys struct { + // AWS Access Key ID + AccessKeyId *string `pulumi:"accessKeyId"` + SecretAccessKey *string `pulumi:"secretAccessKey"` +} + +// IntegrationAccountAuthConfigAwsAuthConfigKeysInput is an input type that accepts IntegrationAccountAuthConfigAwsAuthConfigKeysArgs and IntegrationAccountAuthConfigAwsAuthConfigKeysOutput values. +// You can construct a concrete instance of `IntegrationAccountAuthConfigAwsAuthConfigKeysInput` via: +// +// IntegrationAccountAuthConfigAwsAuthConfigKeysArgs{...} +type IntegrationAccountAuthConfigAwsAuthConfigKeysInput interface { + pulumi.Input + + ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysOutput + ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutputWithContext(context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysOutput +} + +type IntegrationAccountAuthConfigAwsAuthConfigKeysArgs struct { + // AWS Access Key ID + AccessKeyId pulumi.StringPtrInput `pulumi:"accessKeyId"` + SecretAccessKey pulumi.StringPtrInput `pulumi:"secretAccessKey"` +} + +func (IntegrationAccountAuthConfigAwsAuthConfigKeysArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigKeys)(nil)).Elem() +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigKeysArgs) ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysOutput { + return i.ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigKeysArgs) ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigKeysArgs) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return i.ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigKeysArgs) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigAwsAuthConfigKeysOutput).ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(ctx) +} + +// IntegrationAccountAuthConfigAwsAuthConfigKeysPtrInput is an input type that accepts IntegrationAccountAuthConfigAwsAuthConfigKeysArgs, IntegrationAccountAuthConfigAwsAuthConfigKeysPtr and IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountAuthConfigAwsAuthConfigKeysPtrInput` via: +// +// IntegrationAccountAuthConfigAwsAuthConfigKeysArgs{...} +// +// or: +// +// nil +type IntegrationAccountAuthConfigAwsAuthConfigKeysPtrInput interface { + pulumi.Input + + ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput + ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput +} + +type integrationAccountAuthConfigAwsAuthConfigKeysPtrType IntegrationAccountAuthConfigAwsAuthConfigKeysArgs + +func IntegrationAccountAuthConfigAwsAuthConfigKeysPtr(v *IntegrationAccountAuthConfigAwsAuthConfigKeysArgs) IntegrationAccountAuthConfigAwsAuthConfigKeysPtrInput { + return (*integrationAccountAuthConfigAwsAuthConfigKeysPtrType)(v) +} + +func (*integrationAccountAuthConfigAwsAuthConfigKeysPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAuthConfigAwsAuthConfigKeys)(nil)).Elem() +} + +func (i *integrationAccountAuthConfigAwsAuthConfigKeysPtrType) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return i.ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountAuthConfigAwsAuthConfigKeysPtrType) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) +} + +type IntegrationAccountAuthConfigAwsAuthConfigKeysOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigKeys)(nil)).Elem() +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) ToIntegrationAccountAuthConfigAwsAuthConfigKeysOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return o.ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountAuthConfigAwsAuthConfigKeys) *IntegrationAccountAuthConfigAwsAuthConfigKeys { + return &v + }).(IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) +} + +// AWS Access Key ID +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) AccessKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IntegrationAccountAuthConfigAwsAuthConfigKeys) *string { return v.AccessKeyId }).(pulumi.StringPtrOutput) +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) SecretAccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v IntegrationAccountAuthConfigAwsAuthConfigKeys) *string { return v.SecretAccessKey }).(pulumi.StringPtrOutput) +} + +type IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAuthConfigAwsAuthConfigKeys)(nil)).Elem() +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput() IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) ToIntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) Elem() IntegrationAccountAuthConfigAwsAuthConfigKeysOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfigAwsAuthConfigKeys) IntegrationAccountAuthConfigAwsAuthConfigKeys { + if v != nil { + return *v + } + var ret IntegrationAccountAuthConfigAwsAuthConfigKeys + return ret + }).(IntegrationAccountAuthConfigAwsAuthConfigKeysOutput) +} + +// AWS Access Key ID +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) AccessKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfigAwsAuthConfigKeys) *string { + if v == nil { + return nil + } + return v.AccessKeyId + }).(pulumi.StringPtrOutput) +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput) SecretAccessKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfigAwsAuthConfigKeys) *string { + if v == nil { + return nil + } + return v.SecretAccessKey + }).(pulumi.StringPtrOutput) +} + +type IntegrationAccountAuthConfigAwsAuthConfigRole struct { + // AWS IAM External ID for associated role + ExternalId *string `pulumi:"externalId"` + // AWS IAM Role name + RoleName *string `pulumi:"roleName"` +} + +// IntegrationAccountAuthConfigAwsAuthConfigRoleInput is an input type that accepts IntegrationAccountAuthConfigAwsAuthConfigRoleArgs and IntegrationAccountAuthConfigAwsAuthConfigRoleOutput values. +// You can construct a concrete instance of `IntegrationAccountAuthConfigAwsAuthConfigRoleInput` via: +// +// IntegrationAccountAuthConfigAwsAuthConfigRoleArgs{...} +type IntegrationAccountAuthConfigAwsAuthConfigRoleInput interface { + pulumi.Input + + ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutput() IntegrationAccountAuthConfigAwsAuthConfigRoleOutput + ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutputWithContext(context.Context) IntegrationAccountAuthConfigAwsAuthConfigRoleOutput +} + +type IntegrationAccountAuthConfigAwsAuthConfigRoleArgs struct { + // AWS IAM External ID for associated role + ExternalId pulumi.StringPtrInput `pulumi:"externalId"` + // AWS IAM Role name + RoleName pulumi.StringPtrInput `pulumi:"roleName"` +} + +func (IntegrationAccountAuthConfigAwsAuthConfigRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigRole)(nil)).Elem() +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigRoleArgs) ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutput() IntegrationAccountAuthConfigAwsAuthConfigRoleOutput { + return i.ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigRoleArgs) ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigRoleArgs) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return i.ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAuthConfigAwsAuthConfigRoleArgs) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigAwsAuthConfigRoleOutput).ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(ctx) +} + +// IntegrationAccountAuthConfigAwsAuthConfigRolePtrInput is an input type that accepts IntegrationAccountAuthConfigAwsAuthConfigRoleArgs, IntegrationAccountAuthConfigAwsAuthConfigRolePtr and IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput values. +// You can construct a concrete instance of `IntegrationAccountAuthConfigAwsAuthConfigRolePtrInput` via: +// +// IntegrationAccountAuthConfigAwsAuthConfigRoleArgs{...} +// +// or: +// +// nil +type IntegrationAccountAuthConfigAwsAuthConfigRolePtrInput interface { + pulumi.Input + + ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput + ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(context.Context) IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput +} + +type integrationAccountAuthConfigAwsAuthConfigRolePtrType IntegrationAccountAuthConfigAwsAuthConfigRoleArgs + +func IntegrationAccountAuthConfigAwsAuthConfigRolePtr(v *IntegrationAccountAuthConfigAwsAuthConfigRoleArgs) IntegrationAccountAuthConfigAwsAuthConfigRolePtrInput { + return (*integrationAccountAuthConfigAwsAuthConfigRolePtrType)(v) +} + +func (*integrationAccountAuthConfigAwsAuthConfigRolePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAuthConfigAwsAuthConfigRole)(nil)).Elem() +} + +func (i *integrationAccountAuthConfigAwsAuthConfigRolePtrType) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return i.ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountAuthConfigAwsAuthConfigRolePtrType) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) +} + +type IntegrationAccountAuthConfigAwsAuthConfigRoleOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigRole)(nil)).Elem() +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutput() IntegrationAccountAuthConfigAwsAuthConfigRoleOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) ToIntegrationAccountAuthConfigAwsAuthConfigRoleOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigRoleOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return o.ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountAuthConfigAwsAuthConfigRole) *IntegrationAccountAuthConfigAwsAuthConfigRole { + return &v + }).(IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) +} + +// AWS IAM External ID for associated role +func (o IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) ExternalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v IntegrationAccountAuthConfigAwsAuthConfigRole) *string { return v.ExternalId }).(pulumi.StringPtrOutput) +} + +// AWS IAM Role name +func (o IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) RoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v IntegrationAccountAuthConfigAwsAuthConfigRole) *string { return v.RoleName }).(pulumi.StringPtrOutput) +} + +type IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAuthConfigAwsAuthConfigRole)(nil)).Elem() +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput() IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) ToIntegrationAccountAuthConfigAwsAuthConfigRolePtrOutputWithContext(ctx context.Context) IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput { + return o +} + +func (o IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) Elem() IntegrationAccountAuthConfigAwsAuthConfigRoleOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfigAwsAuthConfigRole) IntegrationAccountAuthConfigAwsAuthConfigRole { + if v != nil { + return *v + } + var ret IntegrationAccountAuthConfigAwsAuthConfigRole + return ret + }).(IntegrationAccountAuthConfigAwsAuthConfigRoleOutput) +} + +// AWS IAM External ID for associated role +func (o IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) ExternalId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfigAwsAuthConfigRole) *string { + if v == nil { + return nil + } + return v.ExternalId + }).(pulumi.StringPtrOutput) +} + +// AWS IAM Role name +func (o IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput) RoleName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *IntegrationAccountAuthConfigAwsAuthConfigRole) *string { + if v == nil { + return nil + } + return v.RoleName + }).(pulumi.StringPtrOutput) +} + +type IntegrationAccountAwsRegions struct { + // Include all regions. Defaults to `true`. + IncludeAll *bool `pulumi:"includeAll"` + // Include only these regions. + IncludeOnlies []string `pulumi:"includeOnlies"` +} + +// IntegrationAccountAwsRegionsInput is an input type that accepts IntegrationAccountAwsRegionsArgs and IntegrationAccountAwsRegionsOutput values. +// You can construct a concrete instance of `IntegrationAccountAwsRegionsInput` via: +// +// IntegrationAccountAwsRegionsArgs{...} +type IntegrationAccountAwsRegionsInput interface { + pulumi.Input + + ToIntegrationAccountAwsRegionsOutput() IntegrationAccountAwsRegionsOutput + ToIntegrationAccountAwsRegionsOutputWithContext(context.Context) IntegrationAccountAwsRegionsOutput +} + +type IntegrationAccountAwsRegionsArgs struct { + // Include all regions. Defaults to `true`. + IncludeAll pulumi.BoolPtrInput `pulumi:"includeAll"` + // Include only these regions. + IncludeOnlies pulumi.StringArrayInput `pulumi:"includeOnlies"` +} + +func (IntegrationAccountAwsRegionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAwsRegions)(nil)).Elem() +} + +func (i IntegrationAccountAwsRegionsArgs) ToIntegrationAccountAwsRegionsOutput() IntegrationAccountAwsRegionsOutput { + return i.ToIntegrationAccountAwsRegionsOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAwsRegionsArgs) ToIntegrationAccountAwsRegionsOutputWithContext(ctx context.Context) IntegrationAccountAwsRegionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAwsRegionsOutput) +} + +func (i IntegrationAccountAwsRegionsArgs) ToIntegrationAccountAwsRegionsPtrOutput() IntegrationAccountAwsRegionsPtrOutput { + return i.ToIntegrationAccountAwsRegionsPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountAwsRegionsArgs) ToIntegrationAccountAwsRegionsPtrOutputWithContext(ctx context.Context) IntegrationAccountAwsRegionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAwsRegionsOutput).ToIntegrationAccountAwsRegionsPtrOutputWithContext(ctx) +} + +// IntegrationAccountAwsRegionsPtrInput is an input type that accepts IntegrationAccountAwsRegionsArgs, IntegrationAccountAwsRegionsPtr and IntegrationAccountAwsRegionsPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountAwsRegionsPtrInput` via: +// +// IntegrationAccountAwsRegionsArgs{...} +// +// or: +// +// nil +type IntegrationAccountAwsRegionsPtrInput interface { + pulumi.Input + + ToIntegrationAccountAwsRegionsPtrOutput() IntegrationAccountAwsRegionsPtrOutput + ToIntegrationAccountAwsRegionsPtrOutputWithContext(context.Context) IntegrationAccountAwsRegionsPtrOutput +} + +type integrationAccountAwsRegionsPtrType IntegrationAccountAwsRegionsArgs + +func IntegrationAccountAwsRegionsPtr(v *IntegrationAccountAwsRegionsArgs) IntegrationAccountAwsRegionsPtrInput { + return (*integrationAccountAwsRegionsPtrType)(v) +} + +func (*integrationAccountAwsRegionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAwsRegions)(nil)).Elem() +} + +func (i *integrationAccountAwsRegionsPtrType) ToIntegrationAccountAwsRegionsPtrOutput() IntegrationAccountAwsRegionsPtrOutput { + return i.ToIntegrationAccountAwsRegionsPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountAwsRegionsPtrType) ToIntegrationAccountAwsRegionsPtrOutputWithContext(ctx context.Context) IntegrationAccountAwsRegionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountAwsRegionsPtrOutput) +} + +type IntegrationAccountAwsRegionsOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAwsRegionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountAwsRegions)(nil)).Elem() +} + +func (o IntegrationAccountAwsRegionsOutput) ToIntegrationAccountAwsRegionsOutput() IntegrationAccountAwsRegionsOutput { + return o +} + +func (o IntegrationAccountAwsRegionsOutput) ToIntegrationAccountAwsRegionsOutputWithContext(ctx context.Context) IntegrationAccountAwsRegionsOutput { + return o +} + +func (o IntegrationAccountAwsRegionsOutput) ToIntegrationAccountAwsRegionsPtrOutput() IntegrationAccountAwsRegionsPtrOutput { + return o.ToIntegrationAccountAwsRegionsPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountAwsRegionsOutput) ToIntegrationAccountAwsRegionsPtrOutputWithContext(ctx context.Context) IntegrationAccountAwsRegionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountAwsRegions) *IntegrationAccountAwsRegions { + return &v + }).(IntegrationAccountAwsRegionsPtrOutput) +} + +// Include all regions. Defaults to `true`. +func (o IntegrationAccountAwsRegionsOutput) IncludeAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountAwsRegions) *bool { return v.IncludeAll }).(pulumi.BoolPtrOutput) +} + +// Include only these regions. +func (o IntegrationAccountAwsRegionsOutput) IncludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountAwsRegions) []string { return v.IncludeOnlies }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountAwsRegionsPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountAwsRegionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountAwsRegions)(nil)).Elem() +} + +func (o IntegrationAccountAwsRegionsPtrOutput) ToIntegrationAccountAwsRegionsPtrOutput() IntegrationAccountAwsRegionsPtrOutput { + return o +} + +func (o IntegrationAccountAwsRegionsPtrOutput) ToIntegrationAccountAwsRegionsPtrOutputWithContext(ctx context.Context) IntegrationAccountAwsRegionsPtrOutput { + return o +} + +func (o IntegrationAccountAwsRegionsPtrOutput) Elem() IntegrationAccountAwsRegionsOutput { + return o.ApplyT(func(v *IntegrationAccountAwsRegions) IntegrationAccountAwsRegions { + if v != nil { + return *v + } + var ret IntegrationAccountAwsRegions + return ret + }).(IntegrationAccountAwsRegionsOutput) +} + +// Include all regions. Defaults to `true`. +func (o IntegrationAccountAwsRegionsPtrOutput) IncludeAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountAwsRegions) *bool { + if v == nil { + return nil + } + return v.IncludeAll + }).(pulumi.BoolPtrOutput) +} + +// Include only these regions. +func (o IntegrationAccountAwsRegionsPtrOutput) IncludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccountAwsRegions) []string { + if v == nil { + return nil + } + return v.IncludeOnlies + }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountLogsConfig struct { + LambdaForwarder *IntegrationAccountLogsConfigLambdaForwarder `pulumi:"lambdaForwarder"` +} + +// IntegrationAccountLogsConfigInput is an input type that accepts IntegrationAccountLogsConfigArgs and IntegrationAccountLogsConfigOutput values. +// You can construct a concrete instance of `IntegrationAccountLogsConfigInput` via: +// +// IntegrationAccountLogsConfigArgs{...} +type IntegrationAccountLogsConfigInput interface { + pulumi.Input + + ToIntegrationAccountLogsConfigOutput() IntegrationAccountLogsConfigOutput + ToIntegrationAccountLogsConfigOutputWithContext(context.Context) IntegrationAccountLogsConfigOutput +} + +type IntegrationAccountLogsConfigArgs struct { + LambdaForwarder IntegrationAccountLogsConfigLambdaForwarderPtrInput `pulumi:"lambdaForwarder"` +} + +func (IntegrationAccountLogsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountLogsConfig)(nil)).Elem() +} + +func (i IntegrationAccountLogsConfigArgs) ToIntegrationAccountLogsConfigOutput() IntegrationAccountLogsConfigOutput { + return i.ToIntegrationAccountLogsConfigOutputWithContext(context.Background()) +} + +func (i IntegrationAccountLogsConfigArgs) ToIntegrationAccountLogsConfigOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountLogsConfigOutput) +} + +func (i IntegrationAccountLogsConfigArgs) ToIntegrationAccountLogsConfigPtrOutput() IntegrationAccountLogsConfigPtrOutput { + return i.ToIntegrationAccountLogsConfigPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountLogsConfigArgs) ToIntegrationAccountLogsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountLogsConfigOutput).ToIntegrationAccountLogsConfigPtrOutputWithContext(ctx) +} + +// IntegrationAccountLogsConfigPtrInput is an input type that accepts IntegrationAccountLogsConfigArgs, IntegrationAccountLogsConfigPtr and IntegrationAccountLogsConfigPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountLogsConfigPtrInput` via: +// +// IntegrationAccountLogsConfigArgs{...} +// +// or: +// +// nil +type IntegrationAccountLogsConfigPtrInput interface { + pulumi.Input + + ToIntegrationAccountLogsConfigPtrOutput() IntegrationAccountLogsConfigPtrOutput + ToIntegrationAccountLogsConfigPtrOutputWithContext(context.Context) IntegrationAccountLogsConfigPtrOutput +} + +type integrationAccountLogsConfigPtrType IntegrationAccountLogsConfigArgs + +func IntegrationAccountLogsConfigPtr(v *IntegrationAccountLogsConfigArgs) IntegrationAccountLogsConfigPtrInput { + return (*integrationAccountLogsConfigPtrType)(v) +} + +func (*integrationAccountLogsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountLogsConfig)(nil)).Elem() +} + +func (i *integrationAccountLogsConfigPtrType) ToIntegrationAccountLogsConfigPtrOutput() IntegrationAccountLogsConfigPtrOutput { + return i.ToIntegrationAccountLogsConfigPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountLogsConfigPtrType) ToIntegrationAccountLogsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountLogsConfigPtrOutput) +} + +type IntegrationAccountLogsConfigOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountLogsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountLogsConfig)(nil)).Elem() +} + +func (o IntegrationAccountLogsConfigOutput) ToIntegrationAccountLogsConfigOutput() IntegrationAccountLogsConfigOutput { + return o +} + +func (o IntegrationAccountLogsConfigOutput) ToIntegrationAccountLogsConfigOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigOutput { + return o +} + +func (o IntegrationAccountLogsConfigOutput) ToIntegrationAccountLogsConfigPtrOutput() IntegrationAccountLogsConfigPtrOutput { + return o.ToIntegrationAccountLogsConfigPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountLogsConfigOutput) ToIntegrationAccountLogsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountLogsConfig) *IntegrationAccountLogsConfig { + return &v + }).(IntegrationAccountLogsConfigPtrOutput) +} + +func (o IntegrationAccountLogsConfigOutput) LambdaForwarder() IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return o.ApplyT(func(v IntegrationAccountLogsConfig) *IntegrationAccountLogsConfigLambdaForwarder { + return v.LambdaForwarder + }).(IntegrationAccountLogsConfigLambdaForwarderPtrOutput) +} + +type IntegrationAccountLogsConfigPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountLogsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountLogsConfig)(nil)).Elem() +} + +func (o IntegrationAccountLogsConfigPtrOutput) ToIntegrationAccountLogsConfigPtrOutput() IntegrationAccountLogsConfigPtrOutput { + return o +} + +func (o IntegrationAccountLogsConfigPtrOutput) ToIntegrationAccountLogsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigPtrOutput { + return o +} + +func (o IntegrationAccountLogsConfigPtrOutput) Elem() IntegrationAccountLogsConfigOutput { + return o.ApplyT(func(v *IntegrationAccountLogsConfig) IntegrationAccountLogsConfig { + if v != nil { + return *v + } + var ret IntegrationAccountLogsConfig + return ret + }).(IntegrationAccountLogsConfigOutput) +} + +func (o IntegrationAccountLogsConfigPtrOutput) LambdaForwarder() IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return o.ApplyT(func(v *IntegrationAccountLogsConfig) *IntegrationAccountLogsConfigLambdaForwarder { + if v == nil { + return nil + } + return v.LambdaForwarder + }).(IntegrationAccountLogsConfigLambdaForwarderPtrOutput) +} + +type IntegrationAccountLogsConfigLambdaForwarder struct { + // List of Datadog Lambda Log Forwarder ARNs in your AWS account. + Lambdas []string `pulumi:"lambdas"` + // List of service IDs set to enable automatic log collection. Use `aws.getIntegrationAvailableLogsServices` data source to get allowed values. + Sources []string `pulumi:"sources"` +} + +// IntegrationAccountLogsConfigLambdaForwarderInput is an input type that accepts IntegrationAccountLogsConfigLambdaForwarderArgs and IntegrationAccountLogsConfigLambdaForwarderOutput values. +// You can construct a concrete instance of `IntegrationAccountLogsConfigLambdaForwarderInput` via: +// +// IntegrationAccountLogsConfigLambdaForwarderArgs{...} +type IntegrationAccountLogsConfigLambdaForwarderInput interface { + pulumi.Input + + ToIntegrationAccountLogsConfigLambdaForwarderOutput() IntegrationAccountLogsConfigLambdaForwarderOutput + ToIntegrationAccountLogsConfigLambdaForwarderOutputWithContext(context.Context) IntegrationAccountLogsConfigLambdaForwarderOutput +} + +type IntegrationAccountLogsConfigLambdaForwarderArgs struct { + // List of Datadog Lambda Log Forwarder ARNs in your AWS account. + Lambdas pulumi.StringArrayInput `pulumi:"lambdas"` + // List of service IDs set to enable automatic log collection. Use `aws.getIntegrationAvailableLogsServices` data source to get allowed values. + Sources pulumi.StringArrayInput `pulumi:"sources"` +} + +func (IntegrationAccountLogsConfigLambdaForwarderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountLogsConfigLambdaForwarder)(nil)).Elem() +} + +func (i IntegrationAccountLogsConfigLambdaForwarderArgs) ToIntegrationAccountLogsConfigLambdaForwarderOutput() IntegrationAccountLogsConfigLambdaForwarderOutput { + return i.ToIntegrationAccountLogsConfigLambdaForwarderOutputWithContext(context.Background()) +} + +func (i IntegrationAccountLogsConfigLambdaForwarderArgs) ToIntegrationAccountLogsConfigLambdaForwarderOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigLambdaForwarderOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountLogsConfigLambdaForwarderOutput) +} + +func (i IntegrationAccountLogsConfigLambdaForwarderArgs) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutput() IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return i.ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountLogsConfigLambdaForwarderArgs) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountLogsConfigLambdaForwarderOutput).ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(ctx) +} + +// IntegrationAccountLogsConfigLambdaForwarderPtrInput is an input type that accepts IntegrationAccountLogsConfigLambdaForwarderArgs, IntegrationAccountLogsConfigLambdaForwarderPtr and IntegrationAccountLogsConfigLambdaForwarderPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountLogsConfigLambdaForwarderPtrInput` via: +// +// IntegrationAccountLogsConfigLambdaForwarderArgs{...} +// +// or: +// +// nil +type IntegrationAccountLogsConfigLambdaForwarderPtrInput interface { + pulumi.Input + + ToIntegrationAccountLogsConfigLambdaForwarderPtrOutput() IntegrationAccountLogsConfigLambdaForwarderPtrOutput + ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(context.Context) IntegrationAccountLogsConfigLambdaForwarderPtrOutput +} + +type integrationAccountLogsConfigLambdaForwarderPtrType IntegrationAccountLogsConfigLambdaForwarderArgs + +func IntegrationAccountLogsConfigLambdaForwarderPtr(v *IntegrationAccountLogsConfigLambdaForwarderArgs) IntegrationAccountLogsConfigLambdaForwarderPtrInput { + return (*integrationAccountLogsConfigLambdaForwarderPtrType)(v) +} + +func (*integrationAccountLogsConfigLambdaForwarderPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountLogsConfigLambdaForwarder)(nil)).Elem() +} + +func (i *integrationAccountLogsConfigLambdaForwarderPtrType) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutput() IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return i.ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountLogsConfigLambdaForwarderPtrType) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountLogsConfigLambdaForwarderPtrOutput) +} + +type IntegrationAccountLogsConfigLambdaForwarderOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountLogsConfigLambdaForwarderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountLogsConfigLambdaForwarder)(nil)).Elem() +} + +func (o IntegrationAccountLogsConfigLambdaForwarderOutput) ToIntegrationAccountLogsConfigLambdaForwarderOutput() IntegrationAccountLogsConfigLambdaForwarderOutput { + return o +} + +func (o IntegrationAccountLogsConfigLambdaForwarderOutput) ToIntegrationAccountLogsConfigLambdaForwarderOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigLambdaForwarderOutput { + return o +} + +func (o IntegrationAccountLogsConfigLambdaForwarderOutput) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutput() IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return o.ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountLogsConfigLambdaForwarderOutput) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountLogsConfigLambdaForwarder) *IntegrationAccountLogsConfigLambdaForwarder { + return &v + }).(IntegrationAccountLogsConfigLambdaForwarderPtrOutput) +} + +// List of Datadog Lambda Log Forwarder ARNs in your AWS account. +func (o IntegrationAccountLogsConfigLambdaForwarderOutput) Lambdas() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountLogsConfigLambdaForwarder) []string { return v.Lambdas }).(pulumi.StringArrayOutput) +} + +// List of service IDs set to enable automatic log collection. Use `aws.getIntegrationAvailableLogsServices` data source to get allowed values. +func (o IntegrationAccountLogsConfigLambdaForwarderOutput) Sources() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountLogsConfigLambdaForwarder) []string { return v.Sources }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountLogsConfigLambdaForwarderPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountLogsConfigLambdaForwarderPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountLogsConfigLambdaForwarder)(nil)).Elem() +} + +func (o IntegrationAccountLogsConfigLambdaForwarderPtrOutput) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutput() IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return o +} + +func (o IntegrationAccountLogsConfigLambdaForwarderPtrOutput) ToIntegrationAccountLogsConfigLambdaForwarderPtrOutputWithContext(ctx context.Context) IntegrationAccountLogsConfigLambdaForwarderPtrOutput { + return o +} + +func (o IntegrationAccountLogsConfigLambdaForwarderPtrOutput) Elem() IntegrationAccountLogsConfigLambdaForwarderOutput { + return o.ApplyT(func(v *IntegrationAccountLogsConfigLambdaForwarder) IntegrationAccountLogsConfigLambdaForwarder { + if v != nil { + return *v + } + var ret IntegrationAccountLogsConfigLambdaForwarder + return ret + }).(IntegrationAccountLogsConfigLambdaForwarderOutput) +} + +// List of Datadog Lambda Log Forwarder ARNs in your AWS account. +func (o IntegrationAccountLogsConfigLambdaForwarderPtrOutput) Lambdas() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccountLogsConfigLambdaForwarder) []string { + if v == nil { + return nil + } + return v.Lambdas + }).(pulumi.StringArrayOutput) +} + +// List of service IDs set to enable automatic log collection. Use `aws.getIntegrationAvailableLogsServices` data source to get allowed values. +func (o IntegrationAccountLogsConfigLambdaForwarderPtrOutput) Sources() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccountLogsConfigLambdaForwarder) []string { + if v == nil { + return nil + } + return v.Sources + }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountMetricsConfig struct { + // Enable EC2 automute for AWS metrics Defaults to `true`. + AutomuteEnabled *bool `pulumi:"automuteEnabled"` + // Enable CloudWatch alarms collection Defaults to `false`. + CollectCloudwatchAlarms *bool `pulumi:"collectCloudwatchAlarms"` + // Enable custom metrics collection Defaults to `false`. + CollectCustomMetrics *bool `pulumi:"collectCustomMetrics"` + // Enable AWS metrics collection Defaults to `true`. + Enabled *bool `pulumi:"enabled"` + NamespaceFilters *IntegrationAccountMetricsConfigNamespaceFilters `pulumi:"namespaceFilters"` + // AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + TagFilters []IntegrationAccountMetricsConfigTagFilter `pulumi:"tagFilters"` +} + +// IntegrationAccountMetricsConfigInput is an input type that accepts IntegrationAccountMetricsConfigArgs and IntegrationAccountMetricsConfigOutput values. +// You can construct a concrete instance of `IntegrationAccountMetricsConfigInput` via: +// +// IntegrationAccountMetricsConfigArgs{...} +type IntegrationAccountMetricsConfigInput interface { + pulumi.Input + + ToIntegrationAccountMetricsConfigOutput() IntegrationAccountMetricsConfigOutput + ToIntegrationAccountMetricsConfigOutputWithContext(context.Context) IntegrationAccountMetricsConfigOutput +} + +type IntegrationAccountMetricsConfigArgs struct { + // Enable EC2 automute for AWS metrics Defaults to `true`. + AutomuteEnabled pulumi.BoolPtrInput `pulumi:"automuteEnabled"` + // Enable CloudWatch alarms collection Defaults to `false`. + CollectCloudwatchAlarms pulumi.BoolPtrInput `pulumi:"collectCloudwatchAlarms"` + // Enable custom metrics collection Defaults to `false`. + CollectCustomMetrics pulumi.BoolPtrInput `pulumi:"collectCustomMetrics"` + // Enable AWS metrics collection Defaults to `true`. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + NamespaceFilters IntegrationAccountMetricsConfigNamespaceFiltersPtrInput `pulumi:"namespaceFilters"` + // AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + TagFilters IntegrationAccountMetricsConfigTagFilterArrayInput `pulumi:"tagFilters"` +} + +func (IntegrationAccountMetricsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountMetricsConfig)(nil)).Elem() +} + +func (i IntegrationAccountMetricsConfigArgs) ToIntegrationAccountMetricsConfigOutput() IntegrationAccountMetricsConfigOutput { + return i.ToIntegrationAccountMetricsConfigOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMetricsConfigArgs) ToIntegrationAccountMetricsConfigOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigOutput) +} + +func (i IntegrationAccountMetricsConfigArgs) ToIntegrationAccountMetricsConfigPtrOutput() IntegrationAccountMetricsConfigPtrOutput { + return i.ToIntegrationAccountMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMetricsConfigArgs) ToIntegrationAccountMetricsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigOutput).ToIntegrationAccountMetricsConfigPtrOutputWithContext(ctx) +} + +// IntegrationAccountMetricsConfigPtrInput is an input type that accepts IntegrationAccountMetricsConfigArgs, IntegrationAccountMetricsConfigPtr and IntegrationAccountMetricsConfigPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountMetricsConfigPtrInput` via: +// +// IntegrationAccountMetricsConfigArgs{...} +// +// or: +// +// nil +type IntegrationAccountMetricsConfigPtrInput interface { + pulumi.Input + + ToIntegrationAccountMetricsConfigPtrOutput() IntegrationAccountMetricsConfigPtrOutput + ToIntegrationAccountMetricsConfigPtrOutputWithContext(context.Context) IntegrationAccountMetricsConfigPtrOutput +} + +type integrationAccountMetricsConfigPtrType IntegrationAccountMetricsConfigArgs + +func IntegrationAccountMetricsConfigPtr(v *IntegrationAccountMetricsConfigArgs) IntegrationAccountMetricsConfigPtrInput { + return (*integrationAccountMetricsConfigPtrType)(v) +} + +func (*integrationAccountMetricsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountMetricsConfig)(nil)).Elem() +} + +func (i *integrationAccountMetricsConfigPtrType) ToIntegrationAccountMetricsConfigPtrOutput() IntegrationAccountMetricsConfigPtrOutput { + return i.ToIntegrationAccountMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountMetricsConfigPtrType) ToIntegrationAccountMetricsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigPtrOutput) +} + +type IntegrationAccountMetricsConfigOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMetricsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountMetricsConfig)(nil)).Elem() +} + +func (o IntegrationAccountMetricsConfigOutput) ToIntegrationAccountMetricsConfigOutput() IntegrationAccountMetricsConfigOutput { + return o +} + +func (o IntegrationAccountMetricsConfigOutput) ToIntegrationAccountMetricsConfigOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigOutput { + return o +} + +func (o IntegrationAccountMetricsConfigOutput) ToIntegrationAccountMetricsConfigPtrOutput() IntegrationAccountMetricsConfigPtrOutput { + return o.ToIntegrationAccountMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountMetricsConfigOutput) ToIntegrationAccountMetricsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountMetricsConfig) *IntegrationAccountMetricsConfig { + return &v + }).(IntegrationAccountMetricsConfigPtrOutput) +} + +// Enable EC2 automute for AWS metrics Defaults to `true`. +func (o IntegrationAccountMetricsConfigOutput) AutomuteEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfig) *bool { return v.AutomuteEnabled }).(pulumi.BoolPtrOutput) +} + +// Enable CloudWatch alarms collection Defaults to `false`. +func (o IntegrationAccountMetricsConfigOutput) CollectCloudwatchAlarms() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfig) *bool { return v.CollectCloudwatchAlarms }).(pulumi.BoolPtrOutput) +} + +// Enable custom metrics collection Defaults to `false`. +func (o IntegrationAccountMetricsConfigOutput) CollectCustomMetrics() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfig) *bool { return v.CollectCustomMetrics }).(pulumi.BoolPtrOutput) +} + +// Enable AWS metrics collection Defaults to `true`. +func (o IntegrationAccountMetricsConfigOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfig) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o IntegrationAccountMetricsConfigOutput) NamespaceFilters() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfig) *IntegrationAccountMetricsConfigNamespaceFilters { + return v.NamespaceFilters + }).(IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) +} + +// AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. +func (o IntegrationAccountMetricsConfigOutput) TagFilters() IntegrationAccountMetricsConfigTagFilterArrayOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfig) []IntegrationAccountMetricsConfigTagFilter { + return v.TagFilters + }).(IntegrationAccountMetricsConfigTagFilterArrayOutput) +} + +type IntegrationAccountMetricsConfigPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMetricsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountMetricsConfig)(nil)).Elem() +} + +func (o IntegrationAccountMetricsConfigPtrOutput) ToIntegrationAccountMetricsConfigPtrOutput() IntegrationAccountMetricsConfigPtrOutput { + return o +} + +func (o IntegrationAccountMetricsConfigPtrOutput) ToIntegrationAccountMetricsConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigPtrOutput { + return o +} + +func (o IntegrationAccountMetricsConfigPtrOutput) Elem() IntegrationAccountMetricsConfigOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) IntegrationAccountMetricsConfig { + if v != nil { + return *v + } + var ret IntegrationAccountMetricsConfig + return ret + }).(IntegrationAccountMetricsConfigOutput) +} + +// Enable EC2 automute for AWS metrics Defaults to `true`. +func (o IntegrationAccountMetricsConfigPtrOutput) AutomuteEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) *bool { + if v == nil { + return nil + } + return v.AutomuteEnabled + }).(pulumi.BoolPtrOutput) +} + +// Enable CloudWatch alarms collection Defaults to `false`. +func (o IntegrationAccountMetricsConfigPtrOutput) CollectCloudwatchAlarms() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) *bool { + if v == nil { + return nil + } + return v.CollectCloudwatchAlarms + }).(pulumi.BoolPtrOutput) +} + +// Enable custom metrics collection Defaults to `false`. +func (o IntegrationAccountMetricsConfigPtrOutput) CollectCustomMetrics() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) *bool { + if v == nil { + return nil + } + return v.CollectCustomMetrics + }).(pulumi.BoolPtrOutput) +} + +// Enable AWS metrics collection Defaults to `true`. +func (o IntegrationAccountMetricsConfigPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o IntegrationAccountMetricsConfigPtrOutput) NamespaceFilters() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) *IntegrationAccountMetricsConfigNamespaceFilters { + if v == nil { + return nil + } + return v.NamespaceFilters + }).(IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) +} + +// AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. +func (o IntegrationAccountMetricsConfigPtrOutput) TagFilters() IntegrationAccountMetricsConfigTagFilterArrayOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfig) []IntegrationAccountMetricsConfigTagFilter { + if v == nil { + return nil + } + return v.TagFilters + }).(IntegrationAccountMetricsConfigTagFilterArrayOutput) +} + +type IntegrationAccountMetricsConfigNamespaceFilters struct { + // Exclude only these namespaces from metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + ExcludeOnlies []string `pulumi:"excludeOnlies"` + // Include only these namespaces for metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. + IncludeOnlies []string `pulumi:"includeOnlies"` +} + +// IntegrationAccountMetricsConfigNamespaceFiltersInput is an input type that accepts IntegrationAccountMetricsConfigNamespaceFiltersArgs and IntegrationAccountMetricsConfigNamespaceFiltersOutput values. +// You can construct a concrete instance of `IntegrationAccountMetricsConfigNamespaceFiltersInput` via: +// +// IntegrationAccountMetricsConfigNamespaceFiltersArgs{...} +type IntegrationAccountMetricsConfigNamespaceFiltersInput interface { + pulumi.Input + + ToIntegrationAccountMetricsConfigNamespaceFiltersOutput() IntegrationAccountMetricsConfigNamespaceFiltersOutput + ToIntegrationAccountMetricsConfigNamespaceFiltersOutputWithContext(context.Context) IntegrationAccountMetricsConfigNamespaceFiltersOutput +} + +type IntegrationAccountMetricsConfigNamespaceFiltersArgs struct { + // Exclude only these namespaces from metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + ExcludeOnlies pulumi.StringArrayInput `pulumi:"excludeOnlies"` + // Include only these namespaces for metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. + IncludeOnlies pulumi.StringArrayInput `pulumi:"includeOnlies"` +} + +func (IntegrationAccountMetricsConfigNamespaceFiltersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountMetricsConfigNamespaceFilters)(nil)).Elem() +} + +func (i IntegrationAccountMetricsConfigNamespaceFiltersArgs) ToIntegrationAccountMetricsConfigNamespaceFiltersOutput() IntegrationAccountMetricsConfigNamespaceFiltersOutput { + return i.ToIntegrationAccountMetricsConfigNamespaceFiltersOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMetricsConfigNamespaceFiltersArgs) ToIntegrationAccountMetricsConfigNamespaceFiltersOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigNamespaceFiltersOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigNamespaceFiltersOutput) +} + +func (i IntegrationAccountMetricsConfigNamespaceFiltersArgs) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutput() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return i.ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMetricsConfigNamespaceFiltersArgs) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigNamespaceFiltersOutput).ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(ctx) +} + +// IntegrationAccountMetricsConfigNamespaceFiltersPtrInput is an input type that accepts IntegrationAccountMetricsConfigNamespaceFiltersArgs, IntegrationAccountMetricsConfigNamespaceFiltersPtr and IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountMetricsConfigNamespaceFiltersPtrInput` via: +// +// IntegrationAccountMetricsConfigNamespaceFiltersArgs{...} +// +// or: +// +// nil +type IntegrationAccountMetricsConfigNamespaceFiltersPtrInput interface { + pulumi.Input + + ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutput() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput + ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(context.Context) IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput +} + +type integrationAccountMetricsConfigNamespaceFiltersPtrType IntegrationAccountMetricsConfigNamespaceFiltersArgs + +func IntegrationAccountMetricsConfigNamespaceFiltersPtr(v *IntegrationAccountMetricsConfigNamespaceFiltersArgs) IntegrationAccountMetricsConfigNamespaceFiltersPtrInput { + return (*integrationAccountMetricsConfigNamespaceFiltersPtrType)(v) +} + +func (*integrationAccountMetricsConfigNamespaceFiltersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountMetricsConfigNamespaceFilters)(nil)).Elem() +} + +func (i *integrationAccountMetricsConfigNamespaceFiltersPtrType) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutput() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return i.ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountMetricsConfigNamespaceFiltersPtrType) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) +} + +type IntegrationAccountMetricsConfigNamespaceFiltersOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMetricsConfigNamespaceFiltersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountMetricsConfigNamespaceFilters)(nil)).Elem() +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersOutput) ToIntegrationAccountMetricsConfigNamespaceFiltersOutput() IntegrationAccountMetricsConfigNamespaceFiltersOutput { + return o +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersOutput) ToIntegrationAccountMetricsConfigNamespaceFiltersOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigNamespaceFiltersOutput { + return o +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersOutput) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutput() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return o.ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersOutput) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountMetricsConfigNamespaceFilters) *IntegrationAccountMetricsConfigNamespaceFilters { + return &v + }).(IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) +} + +// Exclude only these namespaces from metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. +func (o IntegrationAccountMetricsConfigNamespaceFiltersOutput) ExcludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfigNamespaceFilters) []string { return v.ExcludeOnlies }).(pulumi.StringArrayOutput) +} + +// Include only these namespaces for metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. +func (o IntegrationAccountMetricsConfigNamespaceFiltersOutput) IncludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfigNamespaceFilters) []string { return v.IncludeOnlies }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountMetricsConfigNamespaceFilters)(nil)).Elem() +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutput() IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return o +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) ToIntegrationAccountMetricsConfigNamespaceFiltersPtrOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput { + return o +} + +func (o IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) Elem() IntegrationAccountMetricsConfigNamespaceFiltersOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfigNamespaceFilters) IntegrationAccountMetricsConfigNamespaceFilters { + if v != nil { + return *v + } + var ret IntegrationAccountMetricsConfigNamespaceFilters + return ret + }).(IntegrationAccountMetricsConfigNamespaceFiltersOutput) +} + +// Exclude only these namespaces from metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. +func (o IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) ExcludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfigNamespaceFilters) []string { + if v == nil { + return nil + } + return v.ExcludeOnlies + }).(pulumi.StringArrayOutput) +} + +// Include only these namespaces for metrics collection. Use `aws.getIntegrationAvailableNamespaces` data source to get allowed values. +func (o IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput) IncludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccountMetricsConfigNamespaceFilters) []string { + if v == nil { + return nil + } + return v.IncludeOnlies + }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountMetricsConfigTagFilter struct { + // The AWS service for which the tag filters defined in `tags` will be applied. + Namespace string `pulumi:"namespace"` + // The AWS resource tags to filter on for the service specified by `namespace`. + Tags []string `pulumi:"tags"` +} + +// IntegrationAccountMetricsConfigTagFilterInput is an input type that accepts IntegrationAccountMetricsConfigTagFilterArgs and IntegrationAccountMetricsConfigTagFilterOutput values. +// You can construct a concrete instance of `IntegrationAccountMetricsConfigTagFilterInput` via: +// +// IntegrationAccountMetricsConfigTagFilterArgs{...} +type IntegrationAccountMetricsConfigTagFilterInput interface { + pulumi.Input + + ToIntegrationAccountMetricsConfigTagFilterOutput() IntegrationAccountMetricsConfigTagFilterOutput + ToIntegrationAccountMetricsConfigTagFilterOutputWithContext(context.Context) IntegrationAccountMetricsConfigTagFilterOutput +} + +type IntegrationAccountMetricsConfigTagFilterArgs struct { + // The AWS service for which the tag filters defined in `tags` will be applied. + Namespace pulumi.StringInput `pulumi:"namespace"` + // The AWS resource tags to filter on for the service specified by `namespace`. + Tags pulumi.StringArrayInput `pulumi:"tags"` +} + +func (IntegrationAccountMetricsConfigTagFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountMetricsConfigTagFilter)(nil)).Elem() +} + +func (i IntegrationAccountMetricsConfigTagFilterArgs) ToIntegrationAccountMetricsConfigTagFilterOutput() IntegrationAccountMetricsConfigTagFilterOutput { + return i.ToIntegrationAccountMetricsConfigTagFilterOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMetricsConfigTagFilterArgs) ToIntegrationAccountMetricsConfigTagFilterOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigTagFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigTagFilterOutput) +} + +// IntegrationAccountMetricsConfigTagFilterArrayInput is an input type that accepts IntegrationAccountMetricsConfigTagFilterArray and IntegrationAccountMetricsConfigTagFilterArrayOutput values. +// You can construct a concrete instance of `IntegrationAccountMetricsConfigTagFilterArrayInput` via: +// +// IntegrationAccountMetricsConfigTagFilterArray{ IntegrationAccountMetricsConfigTagFilterArgs{...} } +type IntegrationAccountMetricsConfigTagFilterArrayInput interface { + pulumi.Input + + ToIntegrationAccountMetricsConfigTagFilterArrayOutput() IntegrationAccountMetricsConfigTagFilterArrayOutput + ToIntegrationAccountMetricsConfigTagFilterArrayOutputWithContext(context.Context) IntegrationAccountMetricsConfigTagFilterArrayOutput +} + +type IntegrationAccountMetricsConfigTagFilterArray []IntegrationAccountMetricsConfigTagFilterInput + +func (IntegrationAccountMetricsConfigTagFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]IntegrationAccountMetricsConfigTagFilter)(nil)).Elem() +} + +func (i IntegrationAccountMetricsConfigTagFilterArray) ToIntegrationAccountMetricsConfigTagFilterArrayOutput() IntegrationAccountMetricsConfigTagFilterArrayOutput { + return i.ToIntegrationAccountMetricsConfigTagFilterArrayOutputWithContext(context.Background()) +} + +func (i IntegrationAccountMetricsConfigTagFilterArray) ToIntegrationAccountMetricsConfigTagFilterArrayOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigTagFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountMetricsConfigTagFilterArrayOutput) +} + +type IntegrationAccountMetricsConfigTagFilterOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMetricsConfigTagFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountMetricsConfigTagFilter)(nil)).Elem() +} + +func (o IntegrationAccountMetricsConfigTagFilterOutput) ToIntegrationAccountMetricsConfigTagFilterOutput() IntegrationAccountMetricsConfigTagFilterOutput { + return o +} + +func (o IntegrationAccountMetricsConfigTagFilterOutput) ToIntegrationAccountMetricsConfigTagFilterOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigTagFilterOutput { + return o +} + +// The AWS service for which the tag filters defined in `tags` will be applied. +func (o IntegrationAccountMetricsConfigTagFilterOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfigTagFilter) string { return v.Namespace }).(pulumi.StringOutput) +} + +// The AWS resource tags to filter on for the service specified by `namespace`. +func (o IntegrationAccountMetricsConfigTagFilterOutput) Tags() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountMetricsConfigTagFilter) []string { return v.Tags }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountMetricsConfigTagFilterArrayOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountMetricsConfigTagFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]IntegrationAccountMetricsConfigTagFilter)(nil)).Elem() +} + +func (o IntegrationAccountMetricsConfigTagFilterArrayOutput) ToIntegrationAccountMetricsConfigTagFilterArrayOutput() IntegrationAccountMetricsConfigTagFilterArrayOutput { + return o +} + +func (o IntegrationAccountMetricsConfigTagFilterArrayOutput) ToIntegrationAccountMetricsConfigTagFilterArrayOutputWithContext(ctx context.Context) IntegrationAccountMetricsConfigTagFilterArrayOutput { + return o +} + +func (o IntegrationAccountMetricsConfigTagFilterArrayOutput) Index(i pulumi.IntInput) IntegrationAccountMetricsConfigTagFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) IntegrationAccountMetricsConfigTagFilter { + return vs[0].([]IntegrationAccountMetricsConfigTagFilter)[vs[1].(int)] + }).(IntegrationAccountMetricsConfigTagFilterOutput) +} + +type IntegrationAccountResourcesConfig struct { + // Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. + CloudSecurityPostureManagementCollection *bool `pulumi:"cloudSecurityPostureManagementCollection"` + // Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. + ExtendedCollection *bool `pulumi:"extendedCollection"` +} + +// IntegrationAccountResourcesConfigInput is an input type that accepts IntegrationAccountResourcesConfigArgs and IntegrationAccountResourcesConfigOutput values. +// You can construct a concrete instance of `IntegrationAccountResourcesConfigInput` via: +// +// IntegrationAccountResourcesConfigArgs{...} +type IntegrationAccountResourcesConfigInput interface { + pulumi.Input + + ToIntegrationAccountResourcesConfigOutput() IntegrationAccountResourcesConfigOutput + ToIntegrationAccountResourcesConfigOutputWithContext(context.Context) IntegrationAccountResourcesConfigOutput +} + +type IntegrationAccountResourcesConfigArgs struct { + // Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. + CloudSecurityPostureManagementCollection pulumi.BoolPtrInput `pulumi:"cloudSecurityPostureManagementCollection"` + // Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. + ExtendedCollection pulumi.BoolPtrInput `pulumi:"extendedCollection"` +} + +func (IntegrationAccountResourcesConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountResourcesConfig)(nil)).Elem() +} + +func (i IntegrationAccountResourcesConfigArgs) ToIntegrationAccountResourcesConfigOutput() IntegrationAccountResourcesConfigOutput { + return i.ToIntegrationAccountResourcesConfigOutputWithContext(context.Background()) +} + +func (i IntegrationAccountResourcesConfigArgs) ToIntegrationAccountResourcesConfigOutputWithContext(ctx context.Context) IntegrationAccountResourcesConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountResourcesConfigOutput) +} + +func (i IntegrationAccountResourcesConfigArgs) ToIntegrationAccountResourcesConfigPtrOutput() IntegrationAccountResourcesConfigPtrOutput { + return i.ToIntegrationAccountResourcesConfigPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountResourcesConfigArgs) ToIntegrationAccountResourcesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountResourcesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountResourcesConfigOutput).ToIntegrationAccountResourcesConfigPtrOutputWithContext(ctx) +} + +// IntegrationAccountResourcesConfigPtrInput is an input type that accepts IntegrationAccountResourcesConfigArgs, IntegrationAccountResourcesConfigPtr and IntegrationAccountResourcesConfigPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountResourcesConfigPtrInput` via: +// +// IntegrationAccountResourcesConfigArgs{...} +// +// or: +// +// nil +type IntegrationAccountResourcesConfigPtrInput interface { + pulumi.Input + + ToIntegrationAccountResourcesConfigPtrOutput() IntegrationAccountResourcesConfigPtrOutput + ToIntegrationAccountResourcesConfigPtrOutputWithContext(context.Context) IntegrationAccountResourcesConfigPtrOutput +} + +type integrationAccountResourcesConfigPtrType IntegrationAccountResourcesConfigArgs + +func IntegrationAccountResourcesConfigPtr(v *IntegrationAccountResourcesConfigArgs) IntegrationAccountResourcesConfigPtrInput { + return (*integrationAccountResourcesConfigPtrType)(v) +} + +func (*integrationAccountResourcesConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountResourcesConfig)(nil)).Elem() +} + +func (i *integrationAccountResourcesConfigPtrType) ToIntegrationAccountResourcesConfigPtrOutput() IntegrationAccountResourcesConfigPtrOutput { + return i.ToIntegrationAccountResourcesConfigPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountResourcesConfigPtrType) ToIntegrationAccountResourcesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountResourcesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountResourcesConfigPtrOutput) +} + +type IntegrationAccountResourcesConfigOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountResourcesConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountResourcesConfig)(nil)).Elem() +} + +func (o IntegrationAccountResourcesConfigOutput) ToIntegrationAccountResourcesConfigOutput() IntegrationAccountResourcesConfigOutput { + return o +} + +func (o IntegrationAccountResourcesConfigOutput) ToIntegrationAccountResourcesConfigOutputWithContext(ctx context.Context) IntegrationAccountResourcesConfigOutput { + return o +} + +func (o IntegrationAccountResourcesConfigOutput) ToIntegrationAccountResourcesConfigPtrOutput() IntegrationAccountResourcesConfigPtrOutput { + return o.ToIntegrationAccountResourcesConfigPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountResourcesConfigOutput) ToIntegrationAccountResourcesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountResourcesConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountResourcesConfig) *IntegrationAccountResourcesConfig { + return &v + }).(IntegrationAccountResourcesConfigPtrOutput) +} + +// Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. +func (o IntegrationAccountResourcesConfigOutput) CloudSecurityPostureManagementCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountResourcesConfig) *bool { return v.CloudSecurityPostureManagementCollection }).(pulumi.BoolPtrOutput) +} + +// Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. +func (o IntegrationAccountResourcesConfigOutput) ExtendedCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountResourcesConfig) *bool { return v.ExtendedCollection }).(pulumi.BoolPtrOutput) +} + +type IntegrationAccountResourcesConfigPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountResourcesConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountResourcesConfig)(nil)).Elem() +} + +func (o IntegrationAccountResourcesConfigPtrOutput) ToIntegrationAccountResourcesConfigPtrOutput() IntegrationAccountResourcesConfigPtrOutput { + return o +} + +func (o IntegrationAccountResourcesConfigPtrOutput) ToIntegrationAccountResourcesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountResourcesConfigPtrOutput { + return o +} + +func (o IntegrationAccountResourcesConfigPtrOutput) Elem() IntegrationAccountResourcesConfigOutput { + return o.ApplyT(func(v *IntegrationAccountResourcesConfig) IntegrationAccountResourcesConfig { + if v != nil { + return *v + } + var ret IntegrationAccountResourcesConfig + return ret + }).(IntegrationAccountResourcesConfigOutput) +} + +// Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. +func (o IntegrationAccountResourcesConfigPtrOutput) CloudSecurityPostureManagementCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountResourcesConfig) *bool { + if v == nil { + return nil + } + return v.CloudSecurityPostureManagementCollection + }).(pulumi.BoolPtrOutput) +} + +// Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. +func (o IntegrationAccountResourcesConfigPtrOutput) ExtendedCollection() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountResourcesConfig) *bool { + if v == nil { + return nil + } + return v.ExtendedCollection + }).(pulumi.BoolPtrOutput) +} + +type IntegrationAccountTracesConfig struct { + // AWS X-Ray services to collect traces from. + XrayServices *IntegrationAccountTracesConfigXrayServices `pulumi:"xrayServices"` +} + +// IntegrationAccountTracesConfigInput is an input type that accepts IntegrationAccountTracesConfigArgs and IntegrationAccountTracesConfigOutput values. +// You can construct a concrete instance of `IntegrationAccountTracesConfigInput` via: +// +// IntegrationAccountTracesConfigArgs{...} +type IntegrationAccountTracesConfigInput interface { + pulumi.Input + + ToIntegrationAccountTracesConfigOutput() IntegrationAccountTracesConfigOutput + ToIntegrationAccountTracesConfigOutputWithContext(context.Context) IntegrationAccountTracesConfigOutput +} + +type IntegrationAccountTracesConfigArgs struct { + // AWS X-Ray services to collect traces from. + XrayServices IntegrationAccountTracesConfigXrayServicesPtrInput `pulumi:"xrayServices"` +} + +func (IntegrationAccountTracesConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountTracesConfig)(nil)).Elem() +} + +func (i IntegrationAccountTracesConfigArgs) ToIntegrationAccountTracesConfigOutput() IntegrationAccountTracesConfigOutput { + return i.ToIntegrationAccountTracesConfigOutputWithContext(context.Background()) +} + +func (i IntegrationAccountTracesConfigArgs) ToIntegrationAccountTracesConfigOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountTracesConfigOutput) +} + +func (i IntegrationAccountTracesConfigArgs) ToIntegrationAccountTracesConfigPtrOutput() IntegrationAccountTracesConfigPtrOutput { + return i.ToIntegrationAccountTracesConfigPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountTracesConfigArgs) ToIntegrationAccountTracesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountTracesConfigOutput).ToIntegrationAccountTracesConfigPtrOutputWithContext(ctx) +} + +// IntegrationAccountTracesConfigPtrInput is an input type that accepts IntegrationAccountTracesConfigArgs, IntegrationAccountTracesConfigPtr and IntegrationAccountTracesConfigPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountTracesConfigPtrInput` via: +// +// IntegrationAccountTracesConfigArgs{...} +// +// or: +// +// nil +type IntegrationAccountTracesConfigPtrInput interface { + pulumi.Input + + ToIntegrationAccountTracesConfigPtrOutput() IntegrationAccountTracesConfigPtrOutput + ToIntegrationAccountTracesConfigPtrOutputWithContext(context.Context) IntegrationAccountTracesConfigPtrOutput +} + +type integrationAccountTracesConfigPtrType IntegrationAccountTracesConfigArgs + +func IntegrationAccountTracesConfigPtr(v *IntegrationAccountTracesConfigArgs) IntegrationAccountTracesConfigPtrInput { + return (*integrationAccountTracesConfigPtrType)(v) +} + +func (*integrationAccountTracesConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountTracesConfig)(nil)).Elem() +} + +func (i *integrationAccountTracesConfigPtrType) ToIntegrationAccountTracesConfigPtrOutput() IntegrationAccountTracesConfigPtrOutput { + return i.ToIntegrationAccountTracesConfigPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountTracesConfigPtrType) ToIntegrationAccountTracesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountTracesConfigPtrOutput) +} + +type IntegrationAccountTracesConfigOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountTracesConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountTracesConfig)(nil)).Elem() +} + +func (o IntegrationAccountTracesConfigOutput) ToIntegrationAccountTracesConfigOutput() IntegrationAccountTracesConfigOutput { + return o +} + +func (o IntegrationAccountTracesConfigOutput) ToIntegrationAccountTracesConfigOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigOutput { + return o +} + +func (o IntegrationAccountTracesConfigOutput) ToIntegrationAccountTracesConfigPtrOutput() IntegrationAccountTracesConfigPtrOutput { + return o.ToIntegrationAccountTracesConfigPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountTracesConfigOutput) ToIntegrationAccountTracesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountTracesConfig) *IntegrationAccountTracesConfig { + return &v + }).(IntegrationAccountTracesConfigPtrOutput) +} + +// AWS X-Ray services to collect traces from. +func (o IntegrationAccountTracesConfigOutput) XrayServices() IntegrationAccountTracesConfigXrayServicesPtrOutput { + return o.ApplyT(func(v IntegrationAccountTracesConfig) *IntegrationAccountTracesConfigXrayServices { + return v.XrayServices + }).(IntegrationAccountTracesConfigXrayServicesPtrOutput) +} + +type IntegrationAccountTracesConfigPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountTracesConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountTracesConfig)(nil)).Elem() +} + +func (o IntegrationAccountTracesConfigPtrOutput) ToIntegrationAccountTracesConfigPtrOutput() IntegrationAccountTracesConfigPtrOutput { + return o +} + +func (o IntegrationAccountTracesConfigPtrOutput) ToIntegrationAccountTracesConfigPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigPtrOutput { + return o +} + +func (o IntegrationAccountTracesConfigPtrOutput) Elem() IntegrationAccountTracesConfigOutput { + return o.ApplyT(func(v *IntegrationAccountTracesConfig) IntegrationAccountTracesConfig { + if v != nil { + return *v + } + var ret IntegrationAccountTracesConfig + return ret + }).(IntegrationAccountTracesConfigOutput) +} + +// AWS X-Ray services to collect traces from. +func (o IntegrationAccountTracesConfigPtrOutput) XrayServices() IntegrationAccountTracesConfigXrayServicesPtrOutput { + return o.ApplyT(func(v *IntegrationAccountTracesConfig) *IntegrationAccountTracesConfigXrayServices { + if v == nil { + return nil + } + return v.XrayServices + }).(IntegrationAccountTracesConfigXrayServicesPtrOutput) +} + +type IntegrationAccountTracesConfigXrayServices struct { + // Include all services + IncludeAll *bool `pulumi:"includeAll"` + // Include only these services + IncludeOnlies []string `pulumi:"includeOnlies"` +} + +// IntegrationAccountTracesConfigXrayServicesInput is an input type that accepts IntegrationAccountTracesConfigXrayServicesArgs and IntegrationAccountTracesConfigXrayServicesOutput values. +// You can construct a concrete instance of `IntegrationAccountTracesConfigXrayServicesInput` via: +// +// IntegrationAccountTracesConfigXrayServicesArgs{...} +type IntegrationAccountTracesConfigXrayServicesInput interface { + pulumi.Input + + ToIntegrationAccountTracesConfigXrayServicesOutput() IntegrationAccountTracesConfigXrayServicesOutput + ToIntegrationAccountTracesConfigXrayServicesOutputWithContext(context.Context) IntegrationAccountTracesConfigXrayServicesOutput +} + +type IntegrationAccountTracesConfigXrayServicesArgs struct { + // Include all services + IncludeAll pulumi.BoolPtrInput `pulumi:"includeAll"` + // Include only these services + IncludeOnlies pulumi.StringArrayInput `pulumi:"includeOnlies"` +} + +func (IntegrationAccountTracesConfigXrayServicesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountTracesConfigXrayServices)(nil)).Elem() +} + +func (i IntegrationAccountTracesConfigXrayServicesArgs) ToIntegrationAccountTracesConfigXrayServicesOutput() IntegrationAccountTracesConfigXrayServicesOutput { + return i.ToIntegrationAccountTracesConfigXrayServicesOutputWithContext(context.Background()) +} + +func (i IntegrationAccountTracesConfigXrayServicesArgs) ToIntegrationAccountTracesConfigXrayServicesOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigXrayServicesOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountTracesConfigXrayServicesOutput) +} + +func (i IntegrationAccountTracesConfigXrayServicesArgs) ToIntegrationAccountTracesConfigXrayServicesPtrOutput() IntegrationAccountTracesConfigXrayServicesPtrOutput { + return i.ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(context.Background()) +} + +func (i IntegrationAccountTracesConfigXrayServicesArgs) ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigXrayServicesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountTracesConfigXrayServicesOutput).ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(ctx) +} + +// IntegrationAccountTracesConfigXrayServicesPtrInput is an input type that accepts IntegrationAccountTracesConfigXrayServicesArgs, IntegrationAccountTracesConfigXrayServicesPtr and IntegrationAccountTracesConfigXrayServicesPtrOutput values. +// You can construct a concrete instance of `IntegrationAccountTracesConfigXrayServicesPtrInput` via: +// +// IntegrationAccountTracesConfigXrayServicesArgs{...} +// +// or: +// +// nil +type IntegrationAccountTracesConfigXrayServicesPtrInput interface { + pulumi.Input + + ToIntegrationAccountTracesConfigXrayServicesPtrOutput() IntegrationAccountTracesConfigXrayServicesPtrOutput + ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(context.Context) IntegrationAccountTracesConfigXrayServicesPtrOutput +} + +type integrationAccountTracesConfigXrayServicesPtrType IntegrationAccountTracesConfigXrayServicesArgs + +func IntegrationAccountTracesConfigXrayServicesPtr(v *IntegrationAccountTracesConfigXrayServicesArgs) IntegrationAccountTracesConfigXrayServicesPtrInput { + return (*integrationAccountTracesConfigXrayServicesPtrType)(v) +} + +func (*integrationAccountTracesConfigXrayServicesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountTracesConfigXrayServices)(nil)).Elem() +} + +func (i *integrationAccountTracesConfigXrayServicesPtrType) ToIntegrationAccountTracesConfigXrayServicesPtrOutput() IntegrationAccountTracesConfigXrayServicesPtrOutput { + return i.ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(context.Background()) +} + +func (i *integrationAccountTracesConfigXrayServicesPtrType) ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigXrayServicesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntegrationAccountTracesConfigXrayServicesPtrOutput) +} + +type IntegrationAccountTracesConfigXrayServicesOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountTracesConfigXrayServicesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntegrationAccountTracesConfigXrayServices)(nil)).Elem() +} + +func (o IntegrationAccountTracesConfigXrayServicesOutput) ToIntegrationAccountTracesConfigXrayServicesOutput() IntegrationAccountTracesConfigXrayServicesOutput { + return o +} + +func (o IntegrationAccountTracesConfigXrayServicesOutput) ToIntegrationAccountTracesConfigXrayServicesOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigXrayServicesOutput { + return o +} + +func (o IntegrationAccountTracesConfigXrayServicesOutput) ToIntegrationAccountTracesConfigXrayServicesPtrOutput() IntegrationAccountTracesConfigXrayServicesPtrOutput { + return o.ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(context.Background()) +} + +func (o IntegrationAccountTracesConfigXrayServicesOutput) ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigXrayServicesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v IntegrationAccountTracesConfigXrayServices) *IntegrationAccountTracesConfigXrayServices { + return &v + }).(IntegrationAccountTracesConfigXrayServicesPtrOutput) +} + +// Include all services +func (o IntegrationAccountTracesConfigXrayServicesOutput) IncludeAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v IntegrationAccountTracesConfigXrayServices) *bool { return v.IncludeAll }).(pulumi.BoolPtrOutput) +} + +// Include only these services +func (o IntegrationAccountTracesConfigXrayServicesOutput) IncludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v IntegrationAccountTracesConfigXrayServices) []string { return v.IncludeOnlies }).(pulumi.StringArrayOutput) +} + +type IntegrationAccountTracesConfigXrayServicesPtrOutput struct{ *pulumi.OutputState } + +func (IntegrationAccountTracesConfigXrayServicesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**IntegrationAccountTracesConfigXrayServices)(nil)).Elem() +} + +func (o IntegrationAccountTracesConfigXrayServicesPtrOutput) ToIntegrationAccountTracesConfigXrayServicesPtrOutput() IntegrationAccountTracesConfigXrayServicesPtrOutput { + return o +} + +func (o IntegrationAccountTracesConfigXrayServicesPtrOutput) ToIntegrationAccountTracesConfigXrayServicesPtrOutputWithContext(ctx context.Context) IntegrationAccountTracesConfigXrayServicesPtrOutput { + return o +} + +func (o IntegrationAccountTracesConfigXrayServicesPtrOutput) Elem() IntegrationAccountTracesConfigXrayServicesOutput { + return o.ApplyT(func(v *IntegrationAccountTracesConfigXrayServices) IntegrationAccountTracesConfigXrayServices { + if v != nil { + return *v + } + var ret IntegrationAccountTracesConfigXrayServices + return ret + }).(IntegrationAccountTracesConfigXrayServicesOutput) +} + +// Include all services +func (o IntegrationAccountTracesConfigXrayServicesPtrOutput) IncludeAll() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *IntegrationAccountTracesConfigXrayServices) *bool { + if v == nil { + return nil + } + return v.IncludeAll + }).(pulumi.BoolPtrOutput) +} + +// Include only these services +func (o IntegrationAccountTracesConfigXrayServicesPtrOutput) IncludeOnlies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *IntegrationAccountTracesConfigXrayServices) []string { + if v == nil { + return nil + } + return v.IncludeOnlies + }).(pulumi.StringArrayOutput) +} + type GetIntegrationLogsServicesAwsLogsService struct { // The id of the AWS log service. Id string `pulumi:"id"` @@ -120,8 +1972,56 @@ func (o GetIntegrationLogsServicesAwsLogsServiceArrayOutput) Index(i pulumi.IntI } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAuthConfigInput)(nil)).Elem(), IntegrationAccountAuthConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAuthConfigPtrInput)(nil)).Elem(), IntegrationAccountAuthConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigKeysInput)(nil)).Elem(), IntegrationAccountAuthConfigAwsAuthConfigKeysArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigKeysPtrInput)(nil)).Elem(), IntegrationAccountAuthConfigAwsAuthConfigKeysArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigRoleInput)(nil)).Elem(), IntegrationAccountAuthConfigAwsAuthConfigRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAuthConfigAwsAuthConfigRolePtrInput)(nil)).Elem(), IntegrationAccountAuthConfigAwsAuthConfigRoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAwsRegionsInput)(nil)).Elem(), IntegrationAccountAwsRegionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountAwsRegionsPtrInput)(nil)).Elem(), IntegrationAccountAwsRegionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountLogsConfigInput)(nil)).Elem(), IntegrationAccountLogsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountLogsConfigPtrInput)(nil)).Elem(), IntegrationAccountLogsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountLogsConfigLambdaForwarderInput)(nil)).Elem(), IntegrationAccountLogsConfigLambdaForwarderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountLogsConfigLambdaForwarderPtrInput)(nil)).Elem(), IntegrationAccountLogsConfigLambdaForwarderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMetricsConfigInput)(nil)).Elem(), IntegrationAccountMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMetricsConfigPtrInput)(nil)).Elem(), IntegrationAccountMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMetricsConfigNamespaceFiltersInput)(nil)).Elem(), IntegrationAccountMetricsConfigNamespaceFiltersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMetricsConfigNamespaceFiltersPtrInput)(nil)).Elem(), IntegrationAccountMetricsConfigNamespaceFiltersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMetricsConfigTagFilterInput)(nil)).Elem(), IntegrationAccountMetricsConfigTagFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountMetricsConfigTagFilterArrayInput)(nil)).Elem(), IntegrationAccountMetricsConfigTagFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountResourcesConfigInput)(nil)).Elem(), IntegrationAccountResourcesConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountResourcesConfigPtrInput)(nil)).Elem(), IntegrationAccountResourcesConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountTracesConfigInput)(nil)).Elem(), IntegrationAccountTracesConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountTracesConfigPtrInput)(nil)).Elem(), IntegrationAccountTracesConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountTracesConfigXrayServicesInput)(nil)).Elem(), IntegrationAccountTracesConfigXrayServicesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntegrationAccountTracesConfigXrayServicesPtrInput)(nil)).Elem(), IntegrationAccountTracesConfigXrayServicesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetIntegrationLogsServicesAwsLogsServiceInput)(nil)).Elem(), GetIntegrationLogsServicesAwsLogsServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetIntegrationLogsServicesAwsLogsServiceArrayInput)(nil)).Elem(), GetIntegrationLogsServicesAwsLogsServiceArray{}) + pulumi.RegisterOutputType(IntegrationAccountAuthConfigOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAuthConfigPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAuthConfigAwsAuthConfigKeysOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAuthConfigAwsAuthConfigKeysPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAuthConfigAwsAuthConfigRoleOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAuthConfigAwsAuthConfigRolePtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAwsRegionsOutput{}) + pulumi.RegisterOutputType(IntegrationAccountAwsRegionsPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountLogsConfigOutput{}) + pulumi.RegisterOutputType(IntegrationAccountLogsConfigPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountLogsConfigLambdaForwarderOutput{}) + pulumi.RegisterOutputType(IntegrationAccountLogsConfigLambdaForwarderPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMetricsConfigOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMetricsConfigPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMetricsConfigNamespaceFiltersOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMetricsConfigNamespaceFiltersPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMetricsConfigTagFilterOutput{}) + pulumi.RegisterOutputType(IntegrationAccountMetricsConfigTagFilterArrayOutput{}) + pulumi.RegisterOutputType(IntegrationAccountResourcesConfigOutput{}) + pulumi.RegisterOutputType(IntegrationAccountResourcesConfigPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountTracesConfigOutput{}) + pulumi.RegisterOutputType(IntegrationAccountTracesConfigPtrOutput{}) + pulumi.RegisterOutputType(IntegrationAccountTracesConfigXrayServicesOutput{}) + pulumi.RegisterOutputType(IntegrationAccountTracesConfigXrayServicesPtrOutput{}) pulumi.RegisterOutputType(GetIntegrationLogsServicesAwsLogsServiceOutput{}) pulumi.RegisterOutputType(GetIntegrationLogsServicesAwsLogsServiceArrayOutput{}) } diff --git a/sdk/go/datadog/cloudflare/integrationAccount.go b/sdk/go/datadog/cloudflare/integrationAccount.go index 7276cb264..227c1781a 100644 --- a/sdk/go/datadog/cloudflare/integrationAccount.go +++ b/sdk/go/datadog/cloudflare/integrationAccount.go @@ -57,7 +57,7 @@ type IntegrationAccount struct { Email pulumi.StringPtrOutput `pulumi:"email"` // The name of the Cloudflare account. Name pulumi.StringOutput `pulumi:"name"` - // An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + // An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). Resources pulumi.StringArrayOutput `pulumi:"resources"` } @@ -110,7 +110,7 @@ type integrationAccountState struct { Email *string `pulumi:"email"` // The name of the Cloudflare account. Name *string `pulumi:"name"` - // An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + // An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). Resources []string `pulumi:"resources"` } @@ -121,7 +121,7 @@ type IntegrationAccountState struct { Email pulumi.StringPtrInput // The name of the Cloudflare account. Name pulumi.StringPtrInput - // An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + // An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). Resources pulumi.StringArrayInput } @@ -136,7 +136,7 @@ type integrationAccountArgs struct { Email *string `pulumi:"email"` // The name of the Cloudflare account. Name string `pulumi:"name"` - // An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + // An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). Resources []string `pulumi:"resources"` } @@ -148,7 +148,7 @@ type IntegrationAccountArgs struct { Email pulumi.StringPtrInput // The name of the Cloudflare account. Name pulumi.StringInput - // An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + // An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). Resources pulumi.StringArrayInput } @@ -254,7 +254,7 @@ func (o IntegrationAccountOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *IntegrationAccount) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). +// An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). func (o IntegrationAccountOutput) Resources() pulumi.StringArrayOutput { return o.ApplyT(func(v *IntegrationAccount) pulumi.StringArrayOutput { return v.Resources }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/datadog/dashboard.go b/sdk/go/datadog/dashboard.go index 1a728d743..7602ae45d 100644 --- a/sdk/go/datadog/dashboard.go +++ b/sdk/go/datadog/dashboard.go @@ -14,6 +14,8 @@ import ( // Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards. // +// !> The `isReadOnly` field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. +// // ## Example Usage // // ```go @@ -856,9 +858,9 @@ type Dashboard struct { DashboardListsRemoveds pulumi.IntArrayOutput `pulumi:"dashboardListsRemoveds"` // The description of the dashboard. Description pulumi.StringPtrOutput `pulumi:"description"` - // Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + // Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. // - // Deprecated: Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + // Deprecated: This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. IsReadOnly pulumi.BoolPtrOutput `pulumi:"isReadOnly"` // The layout type of the dashboard. Valid values are `ordered`, `free`. LayoutType pulumi.StringOutput `pulumi:"layoutType"` @@ -923,9 +925,9 @@ type dashboardState struct { DashboardListsRemoveds []int `pulumi:"dashboardListsRemoveds"` // The description of the dashboard. Description *string `pulumi:"description"` - // Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + // Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. // - // Deprecated: Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + // Deprecated: This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. IsReadOnly *bool `pulumi:"isReadOnly"` // The layout type of the dashboard. Valid values are `ordered`, `free`. LayoutType *string `pulumi:"layoutType"` @@ -955,9 +957,9 @@ type DashboardState struct { DashboardListsRemoveds pulumi.IntArrayInput // The description of the dashboard. Description pulumi.StringPtrInput - // Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + // Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. // - // Deprecated: Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + // Deprecated: This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. IsReadOnly pulumi.BoolPtrInput // The layout type of the dashboard. Valid values are `ordered`, `free`. LayoutType pulumi.StringPtrInput @@ -989,9 +991,9 @@ type dashboardArgs struct { DashboardLists []int `pulumi:"dashboardLists"` // The description of the dashboard. Description *string `pulumi:"description"` - // Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + // Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. // - // Deprecated: Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + // Deprecated: This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. IsReadOnly *bool `pulumi:"isReadOnly"` // The layout type of the dashboard. Valid values are `ordered`, `free`. LayoutType string `pulumi:"layoutType"` @@ -1020,9 +1022,9 @@ type DashboardArgs struct { DashboardLists pulumi.IntArrayInput // The description of the dashboard. Description pulumi.StringPtrInput - // Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + // Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. // - // Deprecated: Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + // Deprecated: This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. IsReadOnly pulumi.BoolPtrInput // The layout type of the dashboard. Valid values are `ordered`, `free`. LayoutType pulumi.StringInput @@ -1147,9 +1149,9 @@ func (o DashboardOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Dashboard) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. +// Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. // -// Deprecated: Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. +// Deprecated: This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. func (o DashboardOutput) IsReadOnly() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Dashboard) pulumi.BoolPtrOutput { return v.IsReadOnly }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/datadog/getSensitiveDataScannerStandardPattern.go b/sdk/go/datadog/getSensitiveDataScannerStandardPattern.go index 7e8029f1c..d83a883e3 100644 --- a/sdk/go/datadog/getSensitiveDataScannerStandardPattern.go +++ b/sdk/go/datadog/getSensitiveDataScannerStandardPattern.go @@ -30,6 +30,8 @@ type GetSensitiveDataScannerStandardPatternArgs struct { // A collection of values returned by getSensitiveDataScannerStandardPattern. type GetSensitiveDataScannerStandardPatternResult struct { + // Description of the standard pattern. + Description string `pulumi:"description"` // Filter all the Datadog standard patterns by name. Filter string `pulumi:"filter"` // The provider-assigned unique ID for this managed resource. @@ -38,7 +40,9 @@ type GetSensitiveDataScannerStandardPatternResult struct { IncludedKeywords []string `pulumi:"includedKeywords"` // Name of the standard pattern. Name string `pulumi:"name"` - // Regex that the standard pattern applies. + // Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. + // + // Deprecated: Refer to the description field to understand what the rule does. Pattern string `pulumi:"pattern"` // List of tags. Tags []string `pulumi:"tags"` @@ -78,6 +82,11 @@ func (o GetSensitiveDataScannerStandardPatternResultOutput) ToGetSensitiveDataSc return o } +// Description of the standard pattern. +func (o GetSensitiveDataScannerStandardPatternResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetSensitiveDataScannerStandardPatternResult) string { return v.Description }).(pulumi.StringOutput) +} + // Filter all the Datadog standard patterns by name. func (o GetSensitiveDataScannerStandardPatternResultOutput) Filter() pulumi.StringOutput { return o.ApplyT(func(v GetSensitiveDataScannerStandardPatternResult) string { return v.Filter }).(pulumi.StringOutput) @@ -98,7 +107,9 @@ func (o GetSensitiveDataScannerStandardPatternResultOutput) Name() pulumi.String return o.ApplyT(func(v GetSensitiveDataScannerStandardPatternResult) string { return v.Name }).(pulumi.StringOutput) } -// Regex that the standard pattern applies. +// Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. +// +// Deprecated: Refer to the description field to understand what the rule does. func (o GetSensitiveDataScannerStandardPatternResultOutput) Pattern() pulumi.StringOutput { return o.ApplyT(func(v GetSensitiveDataScannerStandardPatternResult) string { return v.Pattern }).(pulumi.StringOutput) } diff --git a/sdk/go/datadog/monitor.go b/sdk/go/datadog/monitor.go index 3907a75b2..56fbdc59c 100644 --- a/sdk/go/datadog/monitor.go +++ b/sdk/go/datadog/monitor.go @@ -66,7 +66,7 @@ type Monitor struct { EnableLogsSample pulumi.BoolPtrOutput `pulumi:"enableLogsSample"` // Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline // monitors. - EnableSamples pulumi.BoolOutput `pulumi:"enableSamples"` + EnableSamples pulumi.BoolPtrOutput `pulumi:"enableSamples"` // A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. EscalationMessage pulumi.StringPtrOutput `pulumi:"escalationMessage"` // (Only applies to metric alert) Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the @@ -430,6 +430,9 @@ type monitorArgs struct { // A boolean indicating whether or not to include a list of log values which triggered the alert. This is only used by log // monitors. Defaults to `false`. EnableLogsSample *bool `pulumi:"enableLogsSample"` + // Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + // monitors. + EnableSamples *bool `pulumi:"enableSamples"` // A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. EscalationMessage *string `pulumi:"escalationMessage"` // (Only applies to metric alert) Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the @@ -535,6 +538,9 @@ type MonitorArgs struct { // A boolean indicating whether or not to include a list of log values which triggered the alert. This is only used by log // monitors. Defaults to `false`. EnableLogsSample pulumi.BoolPtrInput + // Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + // monitors. + EnableSamples pulumi.BoolPtrInput // A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. EscalationMessage pulumi.StringPtrInput // (Only applies to metric alert) Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the @@ -730,8 +736,8 @@ func (o MonitorOutput) EnableLogsSample() pulumi.BoolPtrOutput { // Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline // monitors. -func (o MonitorOutput) EnableSamples() pulumi.BoolOutput { - return o.ApplyT(func(v *Monitor) pulumi.BoolOutput { return v.EnableSamples }).(pulumi.BoolOutput) +func (o MonitorOutput) EnableSamples() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Monitor) pulumi.BoolPtrOutput { return v.EnableSamples }).(pulumi.BoolPtrOutput) } // A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. diff --git a/sdk/go/datadog/pulumiTypes2.go b/sdk/go/datadog/pulumiTypes2.go index 78b7a7a57..19148bee1 100644 --- a/sdk/go/datadog/pulumiTypes2.go +++ b/sdk/go/datadog/pulumiTypes2.go @@ -5919,6 +5919,8 @@ type SyntheticsTestApiStep struct { AllowFailure *bool `pulumi:"allowFailure"` // Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. Assertions []SyntheticsTestApiStepAssertion `pulumi:"assertions"` + // Determines whether or not to exit the test if the step succeeds. + ExitIfSucceed *bool `pulumi:"exitIfSucceed"` // Values to parse and save as variables from the response. ExtractedValues []SyntheticsTestApiStepExtractedValue `pulumi:"extractedValues"` // Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allowFailure` is `true`. @@ -5964,6 +5966,8 @@ type SyntheticsTestApiStepArgs struct { AllowFailure pulumi.BoolPtrInput `pulumi:"allowFailure"` // Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. Assertions SyntheticsTestApiStepAssertionArrayInput `pulumi:"assertions"` + // Determines whether or not to exit the test if the step succeeds. + ExitIfSucceed pulumi.BoolPtrInput `pulumi:"exitIfSucceed"` // Values to parse and save as variables from the response. ExtractedValues SyntheticsTestApiStepExtractedValueArrayInput `pulumi:"extractedValues"` // Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allowFailure` is `true`. @@ -6054,6 +6058,11 @@ func (o SyntheticsTestApiStepOutput) Assertions() SyntheticsTestApiStepAssertion return o.ApplyT(func(v SyntheticsTestApiStep) []SyntheticsTestApiStepAssertion { return v.Assertions }).(SyntheticsTestApiStepAssertionArrayOutput) } +// Determines whether or not to exit the test if the step succeeds. +func (o SyntheticsTestApiStepOutput) ExitIfSucceed() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestApiStep) *bool { return v.ExitIfSucceed }).(pulumi.BoolPtrOutput) +} + // Values to parse and save as variables from the response. func (o SyntheticsTestApiStepOutput) ExtractedValues() SyntheticsTestApiStepExtractedValueArrayOutput { return o.ApplyT(func(v SyntheticsTestApiStep) []SyntheticsTestApiStepExtractedValue { return v.ExtractedValues }).(SyntheticsTestApiStepExtractedValueArrayOutput) @@ -8800,9 +8809,9 @@ func (o SyntheticsTestApiStepRequestProxyPtrOutput) Url() pulumi.StringPtrOutput } type SyntheticsTestApiStepRetry struct { - // Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + // Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. Count *int `pulumi:"count"` - // Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + // Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. Interval *int `pulumi:"interval"` } @@ -8818,9 +8827,9 @@ type SyntheticsTestApiStepRetryInput interface { } type SyntheticsTestApiStepRetryArgs struct { - // Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + // Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. Count pulumi.IntPtrInput `pulumi:"count"` - // Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + // Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. Interval pulumi.IntPtrInput `pulumi:"interval"` } @@ -8901,12 +8910,12 @@ func (o SyntheticsTestApiStepRetryOutput) ToSyntheticsTestApiStepRetryPtrOutputW }).(SyntheticsTestApiStepRetryPtrOutput) } -// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. +// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. func (o SyntheticsTestApiStepRetryOutput) Count() pulumi.IntPtrOutput { return o.ApplyT(func(v SyntheticsTestApiStepRetry) *int { return v.Count }).(pulumi.IntPtrOutput) } -// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. +// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. func (o SyntheticsTestApiStepRetryOutput) Interval() pulumi.IntPtrOutput { return o.ApplyT(func(v SyntheticsTestApiStepRetry) *int { return v.Interval }).(pulumi.IntPtrOutput) } @@ -8935,7 +8944,7 @@ func (o SyntheticsTestApiStepRetryPtrOutput) Elem() SyntheticsTestApiStepRetryOu }).(SyntheticsTestApiStepRetryOutput) } -// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. +// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. func (o SyntheticsTestApiStepRetryPtrOutput) Count() pulumi.IntPtrOutput { return o.ApplyT(func(v *SyntheticsTestApiStepRetry) *int { if v == nil { @@ -8945,7 +8954,7 @@ func (o SyntheticsTestApiStepRetryPtrOutput) Count() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. +// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. func (o SyntheticsTestApiStepRetryPtrOutput) Interval() pulumi.IntPtrOutput { return o.ApplyT(func(v *SyntheticsTestApiStepRetry) *int { if v == nil { @@ -10783,6 +10792,2655 @@ func (o SyntheticsTestConfigVariableArrayOutput) Index(i pulumi.IntInput) Synthe }).(SyntheticsTestConfigVariableOutput) } +type SyntheticsTestMobileOptionsList struct { + AllowApplicationCrash *bool `pulumi:"allowApplicationCrash"` + Bindings []SyntheticsTestMobileOptionsListBinding `pulumi:"bindings"` + // CI/CD options for a Synthetic test. + Ci *SyntheticsTestMobileOptionsListCi `pulumi:"ci"` + DefaultStepTimeout *int `pulumi:"defaultStepTimeout"` + DeviceIds []string `pulumi:"deviceIds"` + DisableAutoAcceptAlert *bool `pulumi:"disableAutoAcceptAlert"` + // Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + MinFailureDuration *int `pulumi:"minFailureDuration"` + MobileApplication SyntheticsTestMobileOptionsListMobileApplication `pulumi:"mobileApplication"` + // The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + MonitorName *string `pulumi:"monitorName"` + MonitorOptions *SyntheticsTestMobileOptionsListMonitorOptions `pulumi:"monitorOptions"` + MonitorPriority *int `pulumi:"monitorPriority"` + // Prevents saving screenshots of the steps. + NoScreenshot *bool `pulumi:"noScreenshot"` + // A list of role identifiers pulled from the Roles API to restrict read and write access. + RestrictedRoles []string `pulumi:"restrictedRoles"` + Retry *SyntheticsTestMobileOptionsListRetry `pulumi:"retry"` + // Object containing timeframes and timezone used for advanced scheduling. + Scheduling *SyntheticsTestMobileOptionsListScheduling `pulumi:"scheduling"` + // How often the test should run (in seconds). + TickEvery int `pulumi:"tickEvery"` + Verbosity *int `pulumi:"verbosity"` +} + +// SyntheticsTestMobileOptionsListInput is an input type that accepts SyntheticsTestMobileOptionsListArgs and SyntheticsTestMobileOptionsListOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListInput` via: +// +// SyntheticsTestMobileOptionsListArgs{...} +type SyntheticsTestMobileOptionsListInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListOutput() SyntheticsTestMobileOptionsListOutput + ToSyntheticsTestMobileOptionsListOutputWithContext(context.Context) SyntheticsTestMobileOptionsListOutput +} + +type SyntheticsTestMobileOptionsListArgs struct { + AllowApplicationCrash pulumi.BoolPtrInput `pulumi:"allowApplicationCrash"` + Bindings SyntheticsTestMobileOptionsListBindingArrayInput `pulumi:"bindings"` + // CI/CD options for a Synthetic test. + Ci SyntheticsTestMobileOptionsListCiPtrInput `pulumi:"ci"` + DefaultStepTimeout pulumi.IntPtrInput `pulumi:"defaultStepTimeout"` + DeviceIds pulumi.StringArrayInput `pulumi:"deviceIds"` + DisableAutoAcceptAlert pulumi.BoolPtrInput `pulumi:"disableAutoAcceptAlert"` + // Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + MinFailureDuration pulumi.IntPtrInput `pulumi:"minFailureDuration"` + MobileApplication SyntheticsTestMobileOptionsListMobileApplicationInput `pulumi:"mobileApplication"` + // The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + MonitorName pulumi.StringPtrInput `pulumi:"monitorName"` + MonitorOptions SyntheticsTestMobileOptionsListMonitorOptionsPtrInput `pulumi:"monitorOptions"` + MonitorPriority pulumi.IntPtrInput `pulumi:"monitorPriority"` + // Prevents saving screenshots of the steps. + NoScreenshot pulumi.BoolPtrInput `pulumi:"noScreenshot"` + // A list of role identifiers pulled from the Roles API to restrict read and write access. + RestrictedRoles pulumi.StringArrayInput `pulumi:"restrictedRoles"` + Retry SyntheticsTestMobileOptionsListRetryPtrInput `pulumi:"retry"` + // Object containing timeframes and timezone used for advanced scheduling. + Scheduling SyntheticsTestMobileOptionsListSchedulingPtrInput `pulumi:"scheduling"` + // How often the test should run (in seconds). + TickEvery pulumi.IntInput `pulumi:"tickEvery"` + Verbosity pulumi.IntPtrInput `pulumi:"verbosity"` +} + +func (SyntheticsTestMobileOptionsListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsList)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListArgs) ToSyntheticsTestMobileOptionsListOutput() SyntheticsTestMobileOptionsListOutput { + return i.ToSyntheticsTestMobileOptionsListOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListArgs) ToSyntheticsTestMobileOptionsListOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListOutput) +} + +func (i SyntheticsTestMobileOptionsListArgs) ToSyntheticsTestMobileOptionsListPtrOutput() SyntheticsTestMobileOptionsListPtrOutput { + return i.ToSyntheticsTestMobileOptionsListPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListArgs) ToSyntheticsTestMobileOptionsListPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListOutput).ToSyntheticsTestMobileOptionsListPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileOptionsListPtrInput is an input type that accepts SyntheticsTestMobileOptionsListArgs, SyntheticsTestMobileOptionsListPtr and SyntheticsTestMobileOptionsListPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListPtrInput` via: +// +// SyntheticsTestMobileOptionsListArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileOptionsListPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListPtrOutput() SyntheticsTestMobileOptionsListPtrOutput + ToSyntheticsTestMobileOptionsListPtrOutputWithContext(context.Context) SyntheticsTestMobileOptionsListPtrOutput +} + +type syntheticsTestMobileOptionsListPtrType SyntheticsTestMobileOptionsListArgs + +func SyntheticsTestMobileOptionsListPtr(v *SyntheticsTestMobileOptionsListArgs) SyntheticsTestMobileOptionsListPtrInput { + return (*syntheticsTestMobileOptionsListPtrType)(v) +} + +func (*syntheticsTestMobileOptionsListPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsList)(nil)).Elem() +} + +func (i *syntheticsTestMobileOptionsListPtrType) ToSyntheticsTestMobileOptionsListPtrOutput() SyntheticsTestMobileOptionsListPtrOutput { + return i.ToSyntheticsTestMobileOptionsListPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileOptionsListPtrType) ToSyntheticsTestMobileOptionsListPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListPtrOutput) +} + +type SyntheticsTestMobileOptionsListOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsList)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListOutput) ToSyntheticsTestMobileOptionsListOutput() SyntheticsTestMobileOptionsListOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListOutput) ToSyntheticsTestMobileOptionsListOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListOutput) ToSyntheticsTestMobileOptionsListPtrOutput() SyntheticsTestMobileOptionsListPtrOutput { + return o.ToSyntheticsTestMobileOptionsListPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileOptionsListOutput) ToSyntheticsTestMobileOptionsListPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsList { + return &v + }).(SyntheticsTestMobileOptionsListPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) AllowApplicationCrash() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *bool { return v.AllowApplicationCrash }).(pulumi.BoolPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) Bindings() SyntheticsTestMobileOptionsListBindingArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) []SyntheticsTestMobileOptionsListBinding { return v.Bindings }).(SyntheticsTestMobileOptionsListBindingArrayOutput) +} + +// CI/CD options for a Synthetic test. +func (o SyntheticsTestMobileOptionsListOutput) Ci() SyntheticsTestMobileOptionsListCiPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListCi { return v.Ci }).(SyntheticsTestMobileOptionsListCiPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) DefaultStepTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *int { return v.DefaultStepTimeout }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) DeviceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) []string { return v.DeviceIds }).(pulumi.StringArrayOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) DisableAutoAcceptAlert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *bool { return v.DisableAutoAcceptAlert }).(pulumi.BoolPtrOutput) +} + +// Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. +func (o SyntheticsTestMobileOptionsListOutput) MinFailureDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *int { return v.MinFailureDuration }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) MobileApplication() SyntheticsTestMobileOptionsListMobileApplicationOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) SyntheticsTestMobileOptionsListMobileApplication { + return v.MobileApplication + }).(SyntheticsTestMobileOptionsListMobileApplicationOutput) +} + +// The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. +func (o SyntheticsTestMobileOptionsListOutput) MonitorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *string { return v.MonitorName }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) MonitorOptions() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListMonitorOptions { + return v.MonitorOptions + }).(SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) MonitorPriority() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *int { return v.MonitorPriority }).(pulumi.IntPtrOutput) +} + +// Prevents saving screenshots of the steps. +func (o SyntheticsTestMobileOptionsListOutput) NoScreenshot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *bool { return v.NoScreenshot }).(pulumi.BoolPtrOutput) +} + +// A list of role identifiers pulled from the Roles API to restrict read and write access. +func (o SyntheticsTestMobileOptionsListOutput) RestrictedRoles() pulumi.StringArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) []string { return v.RestrictedRoles }).(pulumi.StringArrayOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) Retry() SyntheticsTestMobileOptionsListRetryPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListRetry { return v.Retry }).(SyntheticsTestMobileOptionsListRetryPtrOutput) +} + +// Object containing timeframes and timezone used for advanced scheduling. +func (o SyntheticsTestMobileOptionsListOutput) Scheduling() SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListScheduling { + return v.Scheduling + }).(SyntheticsTestMobileOptionsListSchedulingPtrOutput) +} + +// How often the test should run (in seconds). +func (o SyntheticsTestMobileOptionsListOutput) TickEvery() pulumi.IntOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) int { return v.TickEvery }).(pulumi.IntOutput) +} + +func (o SyntheticsTestMobileOptionsListOutput) Verbosity() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsList) *int { return v.Verbosity }).(pulumi.IntPtrOutput) +} + +type SyntheticsTestMobileOptionsListPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsList)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) ToSyntheticsTestMobileOptionsListPtrOutput() SyntheticsTestMobileOptionsListPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) ToSyntheticsTestMobileOptionsListPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) Elem() SyntheticsTestMobileOptionsListOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) SyntheticsTestMobileOptionsList { + if v != nil { + return *v + } + var ret SyntheticsTestMobileOptionsList + return ret + }).(SyntheticsTestMobileOptionsListOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) AllowApplicationCrash() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *bool { + if v == nil { + return nil + } + return v.AllowApplicationCrash + }).(pulumi.BoolPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) Bindings() SyntheticsTestMobileOptionsListBindingArrayOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) []SyntheticsTestMobileOptionsListBinding { + if v == nil { + return nil + } + return v.Bindings + }).(SyntheticsTestMobileOptionsListBindingArrayOutput) +} + +// CI/CD options for a Synthetic test. +func (o SyntheticsTestMobileOptionsListPtrOutput) Ci() SyntheticsTestMobileOptionsListCiPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListCi { + if v == nil { + return nil + } + return v.Ci + }).(SyntheticsTestMobileOptionsListCiPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) DefaultStepTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *int { + if v == nil { + return nil + } + return v.DefaultStepTimeout + }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) DeviceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) []string { + if v == nil { + return nil + } + return v.DeviceIds + }).(pulumi.StringArrayOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) DisableAutoAcceptAlert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *bool { + if v == nil { + return nil + } + return v.DisableAutoAcceptAlert + }).(pulumi.BoolPtrOutput) +} + +// Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. +func (o SyntheticsTestMobileOptionsListPtrOutput) MinFailureDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *int { + if v == nil { + return nil + } + return v.MinFailureDuration + }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) MobileApplication() SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListMobileApplication { + if v == nil { + return nil + } + return &v.MobileApplication + }).(SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) +} + +// The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. +func (o SyntheticsTestMobileOptionsListPtrOutput) MonitorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *string { + if v == nil { + return nil + } + return v.MonitorName + }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) MonitorOptions() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListMonitorOptions { + if v == nil { + return nil + } + return v.MonitorOptions + }).(SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) MonitorPriority() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *int { + if v == nil { + return nil + } + return v.MonitorPriority + }).(pulumi.IntPtrOutput) +} + +// Prevents saving screenshots of the steps. +func (o SyntheticsTestMobileOptionsListPtrOutput) NoScreenshot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *bool { + if v == nil { + return nil + } + return v.NoScreenshot + }).(pulumi.BoolPtrOutput) +} + +// A list of role identifiers pulled from the Roles API to restrict read and write access. +func (o SyntheticsTestMobileOptionsListPtrOutput) RestrictedRoles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) []string { + if v == nil { + return nil + } + return v.RestrictedRoles + }).(pulumi.StringArrayOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) Retry() SyntheticsTestMobileOptionsListRetryPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListRetry { + if v == nil { + return nil + } + return v.Retry + }).(SyntheticsTestMobileOptionsListRetryPtrOutput) +} + +// Object containing timeframes and timezone used for advanced scheduling. +func (o SyntheticsTestMobileOptionsListPtrOutput) Scheduling() SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *SyntheticsTestMobileOptionsListScheduling { + if v == nil { + return nil + } + return v.Scheduling + }).(SyntheticsTestMobileOptionsListSchedulingPtrOutput) +} + +// How often the test should run (in seconds). +func (o SyntheticsTestMobileOptionsListPtrOutput) TickEvery() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *int { + if v == nil { + return nil + } + return &v.TickEvery + }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListPtrOutput) Verbosity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsList) *int { + if v == nil { + return nil + } + return v.Verbosity + }).(pulumi.IntPtrOutput) +} + +type SyntheticsTestMobileOptionsListBinding struct { + Principals []string `pulumi:"principals"` + // Valid values are `editor`, `viewer`. + Relation *string `pulumi:"relation"` +} + +// SyntheticsTestMobileOptionsListBindingInput is an input type that accepts SyntheticsTestMobileOptionsListBindingArgs and SyntheticsTestMobileOptionsListBindingOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListBindingInput` via: +// +// SyntheticsTestMobileOptionsListBindingArgs{...} +type SyntheticsTestMobileOptionsListBindingInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListBindingOutput() SyntheticsTestMobileOptionsListBindingOutput + ToSyntheticsTestMobileOptionsListBindingOutputWithContext(context.Context) SyntheticsTestMobileOptionsListBindingOutput +} + +type SyntheticsTestMobileOptionsListBindingArgs struct { + Principals pulumi.StringArrayInput `pulumi:"principals"` + // Valid values are `editor`, `viewer`. + Relation pulumi.StringPtrInput `pulumi:"relation"` +} + +func (SyntheticsTestMobileOptionsListBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListBinding)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListBindingArgs) ToSyntheticsTestMobileOptionsListBindingOutput() SyntheticsTestMobileOptionsListBindingOutput { + return i.ToSyntheticsTestMobileOptionsListBindingOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListBindingArgs) ToSyntheticsTestMobileOptionsListBindingOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListBindingOutput) +} + +// SyntheticsTestMobileOptionsListBindingArrayInput is an input type that accepts SyntheticsTestMobileOptionsListBindingArray and SyntheticsTestMobileOptionsListBindingArrayOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListBindingArrayInput` via: +// +// SyntheticsTestMobileOptionsListBindingArray{ SyntheticsTestMobileOptionsListBindingArgs{...} } +type SyntheticsTestMobileOptionsListBindingArrayInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListBindingArrayOutput() SyntheticsTestMobileOptionsListBindingArrayOutput + ToSyntheticsTestMobileOptionsListBindingArrayOutputWithContext(context.Context) SyntheticsTestMobileOptionsListBindingArrayOutput +} + +type SyntheticsTestMobileOptionsListBindingArray []SyntheticsTestMobileOptionsListBindingInput + +func (SyntheticsTestMobileOptionsListBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileOptionsListBinding)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListBindingArray) ToSyntheticsTestMobileOptionsListBindingArrayOutput() SyntheticsTestMobileOptionsListBindingArrayOutput { + return i.ToSyntheticsTestMobileOptionsListBindingArrayOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListBindingArray) ToSyntheticsTestMobileOptionsListBindingArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListBindingArrayOutput) +} + +type SyntheticsTestMobileOptionsListBindingOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListBinding)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListBindingOutput) ToSyntheticsTestMobileOptionsListBindingOutput() SyntheticsTestMobileOptionsListBindingOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListBindingOutput) ToSyntheticsTestMobileOptionsListBindingOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListBindingOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListBindingOutput) Principals() pulumi.StringArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListBinding) []string { return v.Principals }).(pulumi.StringArrayOutput) +} + +// Valid values are `editor`, `viewer`. +func (o SyntheticsTestMobileOptionsListBindingOutput) Relation() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListBinding) *string { return v.Relation }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileOptionsListBindingArrayOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileOptionsListBinding)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListBindingArrayOutput) ToSyntheticsTestMobileOptionsListBindingArrayOutput() SyntheticsTestMobileOptionsListBindingArrayOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListBindingArrayOutput) ToSyntheticsTestMobileOptionsListBindingArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListBindingArrayOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListBindingArrayOutput) Index(i pulumi.IntInput) SyntheticsTestMobileOptionsListBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SyntheticsTestMobileOptionsListBinding { + return vs[0].([]SyntheticsTestMobileOptionsListBinding)[vs[1].(int)] + }).(SyntheticsTestMobileOptionsListBindingOutput) +} + +type SyntheticsTestMobileOptionsListCi struct { + // Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. + ExecutionRule string `pulumi:"executionRule"` +} + +// SyntheticsTestMobileOptionsListCiInput is an input type that accepts SyntheticsTestMobileOptionsListCiArgs and SyntheticsTestMobileOptionsListCiOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListCiInput` via: +// +// SyntheticsTestMobileOptionsListCiArgs{...} +type SyntheticsTestMobileOptionsListCiInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListCiOutput() SyntheticsTestMobileOptionsListCiOutput + ToSyntheticsTestMobileOptionsListCiOutputWithContext(context.Context) SyntheticsTestMobileOptionsListCiOutput +} + +type SyntheticsTestMobileOptionsListCiArgs struct { + // Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. + ExecutionRule pulumi.StringInput `pulumi:"executionRule"` +} + +func (SyntheticsTestMobileOptionsListCiArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListCi)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListCiArgs) ToSyntheticsTestMobileOptionsListCiOutput() SyntheticsTestMobileOptionsListCiOutput { + return i.ToSyntheticsTestMobileOptionsListCiOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListCiArgs) ToSyntheticsTestMobileOptionsListCiOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListCiOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListCiOutput) +} + +func (i SyntheticsTestMobileOptionsListCiArgs) ToSyntheticsTestMobileOptionsListCiPtrOutput() SyntheticsTestMobileOptionsListCiPtrOutput { + return i.ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListCiArgs) ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListCiPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListCiOutput).ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileOptionsListCiPtrInput is an input type that accepts SyntheticsTestMobileOptionsListCiArgs, SyntheticsTestMobileOptionsListCiPtr and SyntheticsTestMobileOptionsListCiPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListCiPtrInput` via: +// +// SyntheticsTestMobileOptionsListCiArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileOptionsListCiPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListCiPtrOutput() SyntheticsTestMobileOptionsListCiPtrOutput + ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(context.Context) SyntheticsTestMobileOptionsListCiPtrOutput +} + +type syntheticsTestMobileOptionsListCiPtrType SyntheticsTestMobileOptionsListCiArgs + +func SyntheticsTestMobileOptionsListCiPtr(v *SyntheticsTestMobileOptionsListCiArgs) SyntheticsTestMobileOptionsListCiPtrInput { + return (*syntheticsTestMobileOptionsListCiPtrType)(v) +} + +func (*syntheticsTestMobileOptionsListCiPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListCi)(nil)).Elem() +} + +func (i *syntheticsTestMobileOptionsListCiPtrType) ToSyntheticsTestMobileOptionsListCiPtrOutput() SyntheticsTestMobileOptionsListCiPtrOutput { + return i.ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileOptionsListCiPtrType) ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListCiPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListCiPtrOutput) +} + +type SyntheticsTestMobileOptionsListCiOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListCiOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListCi)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListCiOutput) ToSyntheticsTestMobileOptionsListCiOutput() SyntheticsTestMobileOptionsListCiOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListCiOutput) ToSyntheticsTestMobileOptionsListCiOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListCiOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListCiOutput) ToSyntheticsTestMobileOptionsListCiPtrOutput() SyntheticsTestMobileOptionsListCiPtrOutput { + return o.ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileOptionsListCiOutput) ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListCiPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileOptionsListCi) *SyntheticsTestMobileOptionsListCi { + return &v + }).(SyntheticsTestMobileOptionsListCiPtrOutput) +} + +// Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. +func (o SyntheticsTestMobileOptionsListCiOutput) ExecutionRule() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListCi) string { return v.ExecutionRule }).(pulumi.StringOutput) +} + +type SyntheticsTestMobileOptionsListCiPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListCiPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListCi)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListCiPtrOutput) ToSyntheticsTestMobileOptionsListCiPtrOutput() SyntheticsTestMobileOptionsListCiPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListCiPtrOutput) ToSyntheticsTestMobileOptionsListCiPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListCiPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListCiPtrOutput) Elem() SyntheticsTestMobileOptionsListCiOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListCi) SyntheticsTestMobileOptionsListCi { + if v != nil { + return *v + } + var ret SyntheticsTestMobileOptionsListCi + return ret + }).(SyntheticsTestMobileOptionsListCiOutput) +} + +// Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. +func (o SyntheticsTestMobileOptionsListCiPtrOutput) ExecutionRule() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListCi) *string { + if v == nil { + return nil + } + return &v.ExecutionRule + }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileOptionsListMobileApplication struct { + ApplicationId string `pulumi:"applicationId"` + ReferenceId string `pulumi:"referenceId"` + // Valid values are `latest`, `version`. + ReferenceType string `pulumi:"referenceType"` +} + +// SyntheticsTestMobileOptionsListMobileApplicationInput is an input type that accepts SyntheticsTestMobileOptionsListMobileApplicationArgs and SyntheticsTestMobileOptionsListMobileApplicationOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListMobileApplicationInput` via: +// +// SyntheticsTestMobileOptionsListMobileApplicationArgs{...} +type SyntheticsTestMobileOptionsListMobileApplicationInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListMobileApplicationOutput() SyntheticsTestMobileOptionsListMobileApplicationOutput + ToSyntheticsTestMobileOptionsListMobileApplicationOutputWithContext(context.Context) SyntheticsTestMobileOptionsListMobileApplicationOutput +} + +type SyntheticsTestMobileOptionsListMobileApplicationArgs struct { + ApplicationId pulumi.StringInput `pulumi:"applicationId"` + ReferenceId pulumi.StringInput `pulumi:"referenceId"` + // Valid values are `latest`, `version`. + ReferenceType pulumi.StringInput `pulumi:"referenceType"` +} + +func (SyntheticsTestMobileOptionsListMobileApplicationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListMobileApplication)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListMobileApplicationArgs) ToSyntheticsTestMobileOptionsListMobileApplicationOutput() SyntheticsTestMobileOptionsListMobileApplicationOutput { + return i.ToSyntheticsTestMobileOptionsListMobileApplicationOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListMobileApplicationArgs) ToSyntheticsTestMobileOptionsListMobileApplicationOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMobileApplicationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListMobileApplicationOutput) +} + +func (i SyntheticsTestMobileOptionsListMobileApplicationArgs) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutput() SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return i.ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListMobileApplicationArgs) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListMobileApplicationOutput).ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileOptionsListMobileApplicationPtrInput is an input type that accepts SyntheticsTestMobileOptionsListMobileApplicationArgs, SyntheticsTestMobileOptionsListMobileApplicationPtr and SyntheticsTestMobileOptionsListMobileApplicationPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListMobileApplicationPtrInput` via: +// +// SyntheticsTestMobileOptionsListMobileApplicationArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileOptionsListMobileApplicationPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutput() SyntheticsTestMobileOptionsListMobileApplicationPtrOutput + ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(context.Context) SyntheticsTestMobileOptionsListMobileApplicationPtrOutput +} + +type syntheticsTestMobileOptionsListMobileApplicationPtrType SyntheticsTestMobileOptionsListMobileApplicationArgs + +func SyntheticsTestMobileOptionsListMobileApplicationPtr(v *SyntheticsTestMobileOptionsListMobileApplicationArgs) SyntheticsTestMobileOptionsListMobileApplicationPtrInput { + return (*syntheticsTestMobileOptionsListMobileApplicationPtrType)(v) +} + +func (*syntheticsTestMobileOptionsListMobileApplicationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListMobileApplication)(nil)).Elem() +} + +func (i *syntheticsTestMobileOptionsListMobileApplicationPtrType) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutput() SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return i.ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileOptionsListMobileApplicationPtrType) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) +} + +type SyntheticsTestMobileOptionsListMobileApplicationOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListMobileApplicationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListMobileApplication)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ToSyntheticsTestMobileOptionsListMobileApplicationOutput() SyntheticsTestMobileOptionsListMobileApplicationOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ToSyntheticsTestMobileOptionsListMobileApplicationOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMobileApplicationOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutput() SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return o.ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileOptionsListMobileApplication) *SyntheticsTestMobileOptionsListMobileApplication { + return &v + }).(SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ApplicationId() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMobileApplication) string { return v.ApplicationId }).(pulumi.StringOutput) +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ReferenceId() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMobileApplication) string { return v.ReferenceId }).(pulumi.StringOutput) +} + +// Valid values are `latest`, `version`. +func (o SyntheticsTestMobileOptionsListMobileApplicationOutput) ReferenceType() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMobileApplication) string { return v.ReferenceType }).(pulumi.StringOutput) +} + +type SyntheticsTestMobileOptionsListMobileApplicationPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListMobileApplication)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutput() SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) ToSyntheticsTestMobileOptionsListMobileApplicationPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMobileApplicationPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) Elem() SyntheticsTestMobileOptionsListMobileApplicationOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMobileApplication) SyntheticsTestMobileOptionsListMobileApplication { + if v != nil { + return *v + } + var ret SyntheticsTestMobileOptionsListMobileApplication + return ret + }).(SyntheticsTestMobileOptionsListMobileApplicationOutput) +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) ApplicationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMobileApplication) *string { + if v == nil { + return nil + } + return &v.ApplicationId + }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) ReferenceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMobileApplication) *string { + if v == nil { + return nil + } + return &v.ReferenceId + }).(pulumi.StringPtrOutput) +} + +// Valid values are `latest`, `version`. +func (o SyntheticsTestMobileOptionsListMobileApplicationPtrOutput) ReferenceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMobileApplication) *string { + if v == nil { + return nil + } + return &v.ReferenceType + }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileOptionsListMonitorOptions struct { + EscalationMessage *string `pulumi:"escalationMessage"` + // Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`. + NotificationPresetName *string `pulumi:"notificationPresetName"` + // Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + RenotifyInterval *int `pulumi:"renotifyInterval"` + RenotifyOccurrences *int `pulumi:"renotifyOccurrences"` +} + +// SyntheticsTestMobileOptionsListMonitorOptionsInput is an input type that accepts SyntheticsTestMobileOptionsListMonitorOptionsArgs and SyntheticsTestMobileOptionsListMonitorOptionsOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListMonitorOptionsInput` via: +// +// SyntheticsTestMobileOptionsListMonitorOptionsArgs{...} +type SyntheticsTestMobileOptionsListMonitorOptionsInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListMonitorOptionsOutput() SyntheticsTestMobileOptionsListMonitorOptionsOutput + ToSyntheticsTestMobileOptionsListMonitorOptionsOutputWithContext(context.Context) SyntheticsTestMobileOptionsListMonitorOptionsOutput +} + +type SyntheticsTestMobileOptionsListMonitorOptionsArgs struct { + EscalationMessage pulumi.StringPtrInput `pulumi:"escalationMessage"` + // Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`. + NotificationPresetName pulumi.StringPtrInput `pulumi:"notificationPresetName"` + // Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + RenotifyInterval pulumi.IntPtrInput `pulumi:"renotifyInterval"` + RenotifyOccurrences pulumi.IntPtrInput `pulumi:"renotifyOccurrences"` +} + +func (SyntheticsTestMobileOptionsListMonitorOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListMonitorOptions)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListMonitorOptionsArgs) ToSyntheticsTestMobileOptionsListMonitorOptionsOutput() SyntheticsTestMobileOptionsListMonitorOptionsOutput { + return i.ToSyntheticsTestMobileOptionsListMonitorOptionsOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListMonitorOptionsArgs) ToSyntheticsTestMobileOptionsListMonitorOptionsOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMonitorOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListMonitorOptionsOutput) +} + +func (i SyntheticsTestMobileOptionsListMonitorOptionsArgs) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutput() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return i.ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListMonitorOptionsArgs) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListMonitorOptionsOutput).ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileOptionsListMonitorOptionsPtrInput is an input type that accepts SyntheticsTestMobileOptionsListMonitorOptionsArgs, SyntheticsTestMobileOptionsListMonitorOptionsPtr and SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListMonitorOptionsPtrInput` via: +// +// SyntheticsTestMobileOptionsListMonitorOptionsArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileOptionsListMonitorOptionsPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutput() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput + ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(context.Context) SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput +} + +type syntheticsTestMobileOptionsListMonitorOptionsPtrType SyntheticsTestMobileOptionsListMonitorOptionsArgs + +func SyntheticsTestMobileOptionsListMonitorOptionsPtr(v *SyntheticsTestMobileOptionsListMonitorOptionsArgs) SyntheticsTestMobileOptionsListMonitorOptionsPtrInput { + return (*syntheticsTestMobileOptionsListMonitorOptionsPtrType)(v) +} + +func (*syntheticsTestMobileOptionsListMonitorOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListMonitorOptions)(nil)).Elem() +} + +func (i *syntheticsTestMobileOptionsListMonitorOptionsPtrType) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutput() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return i.ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileOptionsListMonitorOptionsPtrType) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) +} + +type SyntheticsTestMobileOptionsListMonitorOptionsOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListMonitorOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListMonitorOptions)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) ToSyntheticsTestMobileOptionsListMonitorOptionsOutput() SyntheticsTestMobileOptionsListMonitorOptionsOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) ToSyntheticsTestMobileOptionsListMonitorOptionsOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMonitorOptionsOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutput() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return o.ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileOptionsListMonitorOptions) *SyntheticsTestMobileOptionsListMonitorOptions { + return &v + }).(SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) EscalationMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMonitorOptions) *string { return v.EscalationMessage }).(pulumi.StringPtrOutput) +} + +// Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`. +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) NotificationPresetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMonitorOptions) *string { return v.NotificationPresetName }).(pulumi.StringPtrOutput) +} + +// Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) RenotifyInterval() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMonitorOptions) *int { return v.RenotifyInterval }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsOutput) RenotifyOccurrences() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListMonitorOptions) *int { return v.RenotifyOccurrences }).(pulumi.IntPtrOutput) +} + +type SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListMonitorOptions)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutput() SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) ToSyntheticsTestMobileOptionsListMonitorOptionsPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) Elem() SyntheticsTestMobileOptionsListMonitorOptionsOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMonitorOptions) SyntheticsTestMobileOptionsListMonitorOptions { + if v != nil { + return *v + } + var ret SyntheticsTestMobileOptionsListMonitorOptions + return ret + }).(SyntheticsTestMobileOptionsListMonitorOptionsOutput) +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) EscalationMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMonitorOptions) *string { + if v == nil { + return nil + } + return v.EscalationMessage + }).(pulumi.StringPtrOutput) +} + +// Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`. +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) NotificationPresetName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMonitorOptions) *string { + if v == nil { + return nil + } + return v.NotificationPresetName + }).(pulumi.StringPtrOutput) +} + +// Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) RenotifyInterval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMonitorOptions) *int { + if v == nil { + return nil + } + return v.RenotifyInterval + }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput) RenotifyOccurrences() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListMonitorOptions) *int { + if v == nil { + return nil + } + return v.RenotifyOccurrences + }).(pulumi.IntPtrOutput) +} + +type SyntheticsTestMobileOptionsListRetry struct { + // Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + Count *int `pulumi:"count"` + // Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + Interval *int `pulumi:"interval"` +} + +// SyntheticsTestMobileOptionsListRetryInput is an input type that accepts SyntheticsTestMobileOptionsListRetryArgs and SyntheticsTestMobileOptionsListRetryOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListRetryInput` via: +// +// SyntheticsTestMobileOptionsListRetryArgs{...} +type SyntheticsTestMobileOptionsListRetryInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListRetryOutput() SyntheticsTestMobileOptionsListRetryOutput + ToSyntheticsTestMobileOptionsListRetryOutputWithContext(context.Context) SyntheticsTestMobileOptionsListRetryOutput +} + +type SyntheticsTestMobileOptionsListRetryArgs struct { + // Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + Count pulumi.IntPtrInput `pulumi:"count"` + // Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + Interval pulumi.IntPtrInput `pulumi:"interval"` +} + +func (SyntheticsTestMobileOptionsListRetryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListRetry)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListRetryArgs) ToSyntheticsTestMobileOptionsListRetryOutput() SyntheticsTestMobileOptionsListRetryOutput { + return i.ToSyntheticsTestMobileOptionsListRetryOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListRetryArgs) ToSyntheticsTestMobileOptionsListRetryOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListRetryOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListRetryOutput) +} + +func (i SyntheticsTestMobileOptionsListRetryArgs) ToSyntheticsTestMobileOptionsListRetryPtrOutput() SyntheticsTestMobileOptionsListRetryPtrOutput { + return i.ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListRetryArgs) ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListRetryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListRetryOutput).ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileOptionsListRetryPtrInput is an input type that accepts SyntheticsTestMobileOptionsListRetryArgs, SyntheticsTestMobileOptionsListRetryPtr and SyntheticsTestMobileOptionsListRetryPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListRetryPtrInput` via: +// +// SyntheticsTestMobileOptionsListRetryArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileOptionsListRetryPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListRetryPtrOutput() SyntheticsTestMobileOptionsListRetryPtrOutput + ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(context.Context) SyntheticsTestMobileOptionsListRetryPtrOutput +} + +type syntheticsTestMobileOptionsListRetryPtrType SyntheticsTestMobileOptionsListRetryArgs + +func SyntheticsTestMobileOptionsListRetryPtr(v *SyntheticsTestMobileOptionsListRetryArgs) SyntheticsTestMobileOptionsListRetryPtrInput { + return (*syntheticsTestMobileOptionsListRetryPtrType)(v) +} + +func (*syntheticsTestMobileOptionsListRetryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListRetry)(nil)).Elem() +} + +func (i *syntheticsTestMobileOptionsListRetryPtrType) ToSyntheticsTestMobileOptionsListRetryPtrOutput() SyntheticsTestMobileOptionsListRetryPtrOutput { + return i.ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileOptionsListRetryPtrType) ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListRetryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListRetryPtrOutput) +} + +type SyntheticsTestMobileOptionsListRetryOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListRetryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListRetry)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListRetryOutput) ToSyntheticsTestMobileOptionsListRetryOutput() SyntheticsTestMobileOptionsListRetryOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListRetryOutput) ToSyntheticsTestMobileOptionsListRetryOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListRetryOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListRetryOutput) ToSyntheticsTestMobileOptionsListRetryPtrOutput() SyntheticsTestMobileOptionsListRetryPtrOutput { + return o.ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileOptionsListRetryOutput) ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListRetryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileOptionsListRetry) *SyntheticsTestMobileOptionsListRetry { + return &v + }).(SyntheticsTestMobileOptionsListRetryPtrOutput) +} + +// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. +func (o SyntheticsTestMobileOptionsListRetryOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListRetry) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. +func (o SyntheticsTestMobileOptionsListRetryOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListRetry) *int { return v.Interval }).(pulumi.IntPtrOutput) +} + +type SyntheticsTestMobileOptionsListRetryPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListRetryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListRetry)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListRetryPtrOutput) ToSyntheticsTestMobileOptionsListRetryPtrOutput() SyntheticsTestMobileOptionsListRetryPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListRetryPtrOutput) ToSyntheticsTestMobileOptionsListRetryPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListRetryPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListRetryPtrOutput) Elem() SyntheticsTestMobileOptionsListRetryOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListRetry) SyntheticsTestMobileOptionsListRetry { + if v != nil { + return *v + } + var ret SyntheticsTestMobileOptionsListRetry + return ret + }).(SyntheticsTestMobileOptionsListRetryOutput) +} + +// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. +func (o SyntheticsTestMobileOptionsListRetryPtrOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListRetry) *int { + if v == nil { + return nil + } + return v.Count + }).(pulumi.IntPtrOutput) +} + +// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. +func (o SyntheticsTestMobileOptionsListRetryPtrOutput) Interval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListRetry) *int { + if v == nil { + return nil + } + return v.Interval + }).(pulumi.IntPtrOutput) +} + +type SyntheticsTestMobileOptionsListScheduling struct { + // Array containing objects describing the scheduling pattern to apply to each day. + Timeframes []SyntheticsTestMobileOptionsListSchedulingTimeframe `pulumi:"timeframes"` + // Timezone in which the timeframe is based. + Timezone string `pulumi:"timezone"` +} + +// SyntheticsTestMobileOptionsListSchedulingInput is an input type that accepts SyntheticsTestMobileOptionsListSchedulingArgs and SyntheticsTestMobileOptionsListSchedulingOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListSchedulingInput` via: +// +// SyntheticsTestMobileOptionsListSchedulingArgs{...} +type SyntheticsTestMobileOptionsListSchedulingInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListSchedulingOutput() SyntheticsTestMobileOptionsListSchedulingOutput + ToSyntheticsTestMobileOptionsListSchedulingOutputWithContext(context.Context) SyntheticsTestMobileOptionsListSchedulingOutput +} + +type SyntheticsTestMobileOptionsListSchedulingArgs struct { + // Array containing objects describing the scheduling pattern to apply to each day. + Timeframes SyntheticsTestMobileOptionsListSchedulingTimeframeArrayInput `pulumi:"timeframes"` + // Timezone in which the timeframe is based. + Timezone pulumi.StringInput `pulumi:"timezone"` +} + +func (SyntheticsTestMobileOptionsListSchedulingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListScheduling)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListSchedulingArgs) ToSyntheticsTestMobileOptionsListSchedulingOutput() SyntheticsTestMobileOptionsListSchedulingOutput { + return i.ToSyntheticsTestMobileOptionsListSchedulingOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListSchedulingArgs) ToSyntheticsTestMobileOptionsListSchedulingOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListSchedulingOutput) +} + +func (i SyntheticsTestMobileOptionsListSchedulingArgs) ToSyntheticsTestMobileOptionsListSchedulingPtrOutput() SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return i.ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListSchedulingArgs) ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListSchedulingOutput).ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileOptionsListSchedulingPtrInput is an input type that accepts SyntheticsTestMobileOptionsListSchedulingArgs, SyntheticsTestMobileOptionsListSchedulingPtr and SyntheticsTestMobileOptionsListSchedulingPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListSchedulingPtrInput` via: +// +// SyntheticsTestMobileOptionsListSchedulingArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileOptionsListSchedulingPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListSchedulingPtrOutput() SyntheticsTestMobileOptionsListSchedulingPtrOutput + ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(context.Context) SyntheticsTestMobileOptionsListSchedulingPtrOutput +} + +type syntheticsTestMobileOptionsListSchedulingPtrType SyntheticsTestMobileOptionsListSchedulingArgs + +func SyntheticsTestMobileOptionsListSchedulingPtr(v *SyntheticsTestMobileOptionsListSchedulingArgs) SyntheticsTestMobileOptionsListSchedulingPtrInput { + return (*syntheticsTestMobileOptionsListSchedulingPtrType)(v) +} + +func (*syntheticsTestMobileOptionsListSchedulingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListScheduling)(nil)).Elem() +} + +func (i *syntheticsTestMobileOptionsListSchedulingPtrType) ToSyntheticsTestMobileOptionsListSchedulingPtrOutput() SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return i.ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileOptionsListSchedulingPtrType) ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListSchedulingPtrOutput) +} + +type SyntheticsTestMobileOptionsListSchedulingOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListSchedulingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListScheduling)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListSchedulingOutput) ToSyntheticsTestMobileOptionsListSchedulingOutput() SyntheticsTestMobileOptionsListSchedulingOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingOutput) ToSyntheticsTestMobileOptionsListSchedulingOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingOutput) ToSyntheticsTestMobileOptionsListSchedulingPtrOutput() SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return o.ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileOptionsListSchedulingOutput) ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileOptionsListScheduling) *SyntheticsTestMobileOptionsListScheduling { + return &v + }).(SyntheticsTestMobileOptionsListSchedulingPtrOutput) +} + +// Array containing objects describing the scheduling pattern to apply to each day. +func (o SyntheticsTestMobileOptionsListSchedulingOutput) Timeframes() SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListScheduling) []SyntheticsTestMobileOptionsListSchedulingTimeframe { + return v.Timeframes + }).(SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) +} + +// Timezone in which the timeframe is based. +func (o SyntheticsTestMobileOptionsListSchedulingOutput) Timezone() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListScheduling) string { return v.Timezone }).(pulumi.StringOutput) +} + +type SyntheticsTestMobileOptionsListSchedulingPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListSchedulingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileOptionsListScheduling)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListSchedulingPtrOutput) ToSyntheticsTestMobileOptionsListSchedulingPtrOutput() SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingPtrOutput) ToSyntheticsTestMobileOptionsListSchedulingPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingPtrOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingPtrOutput) Elem() SyntheticsTestMobileOptionsListSchedulingOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListScheduling) SyntheticsTestMobileOptionsListScheduling { + if v != nil { + return *v + } + var ret SyntheticsTestMobileOptionsListScheduling + return ret + }).(SyntheticsTestMobileOptionsListSchedulingOutput) +} + +// Array containing objects describing the scheduling pattern to apply to each day. +func (o SyntheticsTestMobileOptionsListSchedulingPtrOutput) Timeframes() SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListScheduling) []SyntheticsTestMobileOptionsListSchedulingTimeframe { + if v == nil { + return nil + } + return v.Timeframes + }).(SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) +} + +// Timezone in which the timeframe is based. +func (o SyntheticsTestMobileOptionsListSchedulingPtrOutput) Timezone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileOptionsListScheduling) *string { + if v == nil { + return nil + } + return &v.Timezone + }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileOptionsListSchedulingTimeframe struct { + // Number representing the day of the week + Day int `pulumi:"day"` + // The hour of the day on which scheduling starts. + From string `pulumi:"from"` + // The hour of the day on which scheduling ends. + To string `pulumi:"to"` +} + +// SyntheticsTestMobileOptionsListSchedulingTimeframeInput is an input type that accepts SyntheticsTestMobileOptionsListSchedulingTimeframeArgs and SyntheticsTestMobileOptionsListSchedulingTimeframeOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListSchedulingTimeframeInput` via: +// +// SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{...} +type SyntheticsTestMobileOptionsListSchedulingTimeframeInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutput() SyntheticsTestMobileOptionsListSchedulingTimeframeOutput + ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutputWithContext(context.Context) SyntheticsTestMobileOptionsListSchedulingTimeframeOutput +} + +type SyntheticsTestMobileOptionsListSchedulingTimeframeArgs struct { + // Number representing the day of the week + Day pulumi.IntInput `pulumi:"day"` + // The hour of the day on which scheduling starts. + From pulumi.StringInput `pulumi:"from"` + // The hour of the day on which scheduling ends. + To pulumi.StringInput `pulumi:"to"` +} + +func (SyntheticsTestMobileOptionsListSchedulingTimeframeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListSchedulingTimeframe)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListSchedulingTimeframeArgs) ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutput() SyntheticsTestMobileOptionsListSchedulingTimeframeOutput { + return i.ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListSchedulingTimeframeArgs) ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingTimeframeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) +} + +// SyntheticsTestMobileOptionsListSchedulingTimeframeArrayInput is an input type that accepts SyntheticsTestMobileOptionsListSchedulingTimeframeArray and SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileOptionsListSchedulingTimeframeArrayInput` via: +// +// SyntheticsTestMobileOptionsListSchedulingTimeframeArray{ SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{...} } +type SyntheticsTestMobileOptionsListSchedulingTimeframeArrayInput interface { + pulumi.Input + + ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput() SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput + ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutputWithContext(context.Context) SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput +} + +type SyntheticsTestMobileOptionsListSchedulingTimeframeArray []SyntheticsTestMobileOptionsListSchedulingTimeframeInput + +func (SyntheticsTestMobileOptionsListSchedulingTimeframeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileOptionsListSchedulingTimeframe)(nil)).Elem() +} + +func (i SyntheticsTestMobileOptionsListSchedulingTimeframeArray) ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput() SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput { + return i.ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileOptionsListSchedulingTimeframeArray) ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) +} + +type SyntheticsTestMobileOptionsListSchedulingTimeframeOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileOptionsListSchedulingTimeframe)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutput() SyntheticsTestMobileOptionsListSchedulingTimeframeOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) ToSyntheticsTestMobileOptionsListSchedulingTimeframeOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingTimeframeOutput { + return o +} + +// Number representing the day of the week +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) Day() pulumi.IntOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListSchedulingTimeframe) int { return v.Day }).(pulumi.IntOutput) +} + +// The hour of the day on which scheduling starts. +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) From() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListSchedulingTimeframe) string { return v.From }).(pulumi.StringOutput) +} + +// The hour of the day on which scheduling ends. +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) To() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileOptionsListSchedulingTimeframe) string { return v.To }).(pulumi.StringOutput) +} + +type SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileOptionsListSchedulingTimeframe)(nil)).Elem() +} + +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput() SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) ToSyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput { + return o +} + +func (o SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput) Index(i pulumi.IntInput) SyntheticsTestMobileOptionsListSchedulingTimeframeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SyntheticsTestMobileOptionsListSchedulingTimeframe { + return vs[0].([]SyntheticsTestMobileOptionsListSchedulingTimeframe)[vs[1].(int)] + }).(SyntheticsTestMobileOptionsListSchedulingTimeframeOutput) +} + +type SyntheticsTestMobileStep struct { + // A boolean set to allow this step to fail. + AllowFailure *bool `pulumi:"allowFailure"` + // A boolean set to determine if the step has a new step element. + HasNewStepElement *bool `pulumi:"hasNewStepElement"` + // A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + IsCritical *bool `pulumi:"isCritical"` + // The name of the step. + Name string `pulumi:"name"` + // A boolean set to not take a screenshot for the step. + NoScreenshot *bool `pulumi:"noScreenshot"` + // Parameters for the step. + Params SyntheticsTestMobileStepParams `pulumi:"params"` + // The public ID of the step. + PublicId *string `pulumi:"publicId"` + // The time before declaring a step failed. + Timeout *int `pulumi:"timeout"` + // The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + Type string `pulumi:"type"` +} + +// SyntheticsTestMobileStepInput is an input type that accepts SyntheticsTestMobileStepArgs and SyntheticsTestMobileStepOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepInput` via: +// +// SyntheticsTestMobileStepArgs{...} +type SyntheticsTestMobileStepInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepOutput() SyntheticsTestMobileStepOutput + ToSyntheticsTestMobileStepOutputWithContext(context.Context) SyntheticsTestMobileStepOutput +} + +type SyntheticsTestMobileStepArgs struct { + // A boolean set to allow this step to fail. + AllowFailure pulumi.BoolPtrInput `pulumi:"allowFailure"` + // A boolean set to determine if the step has a new step element. + HasNewStepElement pulumi.BoolPtrInput `pulumi:"hasNewStepElement"` + // A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + IsCritical pulumi.BoolPtrInput `pulumi:"isCritical"` + // The name of the step. + Name pulumi.StringInput `pulumi:"name"` + // A boolean set to not take a screenshot for the step. + NoScreenshot pulumi.BoolPtrInput `pulumi:"noScreenshot"` + // Parameters for the step. + Params SyntheticsTestMobileStepParamsInput `pulumi:"params"` + // The public ID of the step. + PublicId pulumi.StringPtrInput `pulumi:"publicId"` + // The time before declaring a step failed. + Timeout pulumi.IntPtrInput `pulumi:"timeout"` + // The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (SyntheticsTestMobileStepArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStep)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepArgs) ToSyntheticsTestMobileStepOutput() SyntheticsTestMobileStepOutput { + return i.ToSyntheticsTestMobileStepOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepArgs) ToSyntheticsTestMobileStepOutputWithContext(ctx context.Context) SyntheticsTestMobileStepOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepOutput) +} + +// SyntheticsTestMobileStepArrayInput is an input type that accepts SyntheticsTestMobileStepArray and SyntheticsTestMobileStepArrayOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepArrayInput` via: +// +// SyntheticsTestMobileStepArray{ SyntheticsTestMobileStepArgs{...} } +type SyntheticsTestMobileStepArrayInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepArrayOutput() SyntheticsTestMobileStepArrayOutput + ToSyntheticsTestMobileStepArrayOutputWithContext(context.Context) SyntheticsTestMobileStepArrayOutput +} + +type SyntheticsTestMobileStepArray []SyntheticsTestMobileStepInput + +func (SyntheticsTestMobileStepArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileStep)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepArray) ToSyntheticsTestMobileStepArrayOutput() SyntheticsTestMobileStepArrayOutput { + return i.ToSyntheticsTestMobileStepArrayOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepArray) ToSyntheticsTestMobileStepArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileStepArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepArrayOutput) +} + +type SyntheticsTestMobileStepOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStep)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepOutput) ToSyntheticsTestMobileStepOutput() SyntheticsTestMobileStepOutput { + return o +} + +func (o SyntheticsTestMobileStepOutput) ToSyntheticsTestMobileStepOutputWithContext(ctx context.Context) SyntheticsTestMobileStepOutput { + return o +} + +// A boolean set to allow this step to fail. +func (o SyntheticsTestMobileStepOutput) AllowFailure() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) *bool { return v.AllowFailure }).(pulumi.BoolPtrOutput) +} + +// A boolean set to determine if the step has a new step element. +func (o SyntheticsTestMobileStepOutput) HasNewStepElement() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) *bool { return v.HasNewStepElement }).(pulumi.BoolPtrOutput) +} + +// A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. +func (o SyntheticsTestMobileStepOutput) IsCritical() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) *bool { return v.IsCritical }).(pulumi.BoolPtrOutput) +} + +// The name of the step. +func (o SyntheticsTestMobileStepOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) string { return v.Name }).(pulumi.StringOutput) +} + +// A boolean set to not take a screenshot for the step. +func (o SyntheticsTestMobileStepOutput) NoScreenshot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) *bool { return v.NoScreenshot }).(pulumi.BoolPtrOutput) +} + +// Parameters for the step. +func (o SyntheticsTestMobileStepOutput) Params() SyntheticsTestMobileStepParamsOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) SyntheticsTestMobileStepParams { return v.Params }).(SyntheticsTestMobileStepParamsOutput) +} + +// The public ID of the step. +func (o SyntheticsTestMobileStepOutput) PublicId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) *string { return v.PublicId }).(pulumi.StringPtrOutput) +} + +// The time before declaring a step failed. +func (o SyntheticsTestMobileStepOutput) Timeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) *int { return v.Timeout }).(pulumi.IntPtrOutput) +} + +// The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. +func (o SyntheticsTestMobileStepOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileStep) string { return v.Type }).(pulumi.StringOutput) +} + +type SyntheticsTestMobileStepArrayOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileStep)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepArrayOutput) ToSyntheticsTestMobileStepArrayOutput() SyntheticsTestMobileStepArrayOutput { + return o +} + +func (o SyntheticsTestMobileStepArrayOutput) ToSyntheticsTestMobileStepArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileStepArrayOutput { + return o +} + +func (o SyntheticsTestMobileStepArrayOutput) Index(i pulumi.IntInput) SyntheticsTestMobileStepOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SyntheticsTestMobileStep { + return vs[0].([]SyntheticsTestMobileStep)[vs[1].(int)] + }).(SyntheticsTestMobileStepOutput) +} + +type SyntheticsTestMobileStepParams struct { + // Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + Check *string `pulumi:"check"` + // Delay between each key stroke for a "type test" step. + Delay *int `pulumi:"delay"` + // Valid values are `up`, `down`, `left`, `right`. + Direction *string `pulumi:"direction"` + // Element to use for the step, JSON encoded string. + Element *SyntheticsTestMobileStepParamsElement `pulumi:"element"` + Enable *bool `pulumi:"enable"` + MaxScrolls *int `pulumi:"maxScrolls"` + Positions []SyntheticsTestMobileStepParamsPosition `pulumi:"positions"` + // ID of the Synthetics test to use as subtest. + SubtestPublicId *string `pulumi:"subtestPublicId"` + // Value of the step. + Value *string `pulumi:"value"` + // Details of the variable to extract. + Variable *SyntheticsTestMobileStepParamsVariable `pulumi:"variable"` + WithEnter *bool `pulumi:"withEnter"` + // X coordinates for a "scroll step". + X *float64 `pulumi:"x"` + // Y coordinates for a "scroll step". + Y *float64 `pulumi:"y"` +} + +// SyntheticsTestMobileStepParamsInput is an input type that accepts SyntheticsTestMobileStepParamsArgs and SyntheticsTestMobileStepParamsOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsInput` via: +// +// SyntheticsTestMobileStepParamsArgs{...} +type SyntheticsTestMobileStepParamsInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsOutput() SyntheticsTestMobileStepParamsOutput + ToSyntheticsTestMobileStepParamsOutputWithContext(context.Context) SyntheticsTestMobileStepParamsOutput +} + +type SyntheticsTestMobileStepParamsArgs struct { + // Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + Check pulumi.StringPtrInput `pulumi:"check"` + // Delay between each key stroke for a "type test" step. + Delay pulumi.IntPtrInput `pulumi:"delay"` + // Valid values are `up`, `down`, `left`, `right`. + Direction pulumi.StringPtrInput `pulumi:"direction"` + // Element to use for the step, JSON encoded string. + Element SyntheticsTestMobileStepParamsElementPtrInput `pulumi:"element"` + Enable pulumi.BoolPtrInput `pulumi:"enable"` + MaxScrolls pulumi.IntPtrInput `pulumi:"maxScrolls"` + Positions SyntheticsTestMobileStepParamsPositionArrayInput `pulumi:"positions"` + // ID of the Synthetics test to use as subtest. + SubtestPublicId pulumi.StringPtrInput `pulumi:"subtestPublicId"` + // Value of the step. + Value pulumi.StringPtrInput `pulumi:"value"` + // Details of the variable to extract. + Variable SyntheticsTestMobileStepParamsVariablePtrInput `pulumi:"variable"` + WithEnter pulumi.BoolPtrInput `pulumi:"withEnter"` + // X coordinates for a "scroll step". + X pulumi.Float64PtrInput `pulumi:"x"` + // Y coordinates for a "scroll step". + Y pulumi.Float64PtrInput `pulumi:"y"` +} + +func (SyntheticsTestMobileStepParamsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParams)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsArgs) ToSyntheticsTestMobileStepParamsOutput() SyntheticsTestMobileStepParamsOutput { + return i.ToSyntheticsTestMobileStepParamsOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsArgs) ToSyntheticsTestMobileStepParamsOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsOutput) +} + +type SyntheticsTestMobileStepParamsOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParams)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsOutput) ToSyntheticsTestMobileStepParamsOutput() SyntheticsTestMobileStepParamsOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsOutput) ToSyntheticsTestMobileStepParamsOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsOutput { + return o +} + +// Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. +func (o SyntheticsTestMobileStepParamsOutput) Check() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *string { return v.Check }).(pulumi.StringPtrOutput) +} + +// Delay between each key stroke for a "type test" step. +func (o SyntheticsTestMobileStepParamsOutput) Delay() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *int { return v.Delay }).(pulumi.IntPtrOutput) +} + +// Valid values are `up`, `down`, `left`, `right`. +func (o SyntheticsTestMobileStepParamsOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *string { return v.Direction }).(pulumi.StringPtrOutput) +} + +// Element to use for the step, JSON encoded string. +func (o SyntheticsTestMobileStepParamsOutput) Element() SyntheticsTestMobileStepParamsElementPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *SyntheticsTestMobileStepParamsElement { return v.Element }).(SyntheticsTestMobileStepParamsElementPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsOutput) MaxScrolls() pulumi.IntPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *int { return v.MaxScrolls }).(pulumi.IntPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsOutput) Positions() SyntheticsTestMobileStepParamsPositionArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) []SyntheticsTestMobileStepParamsPosition { return v.Positions }).(SyntheticsTestMobileStepParamsPositionArrayOutput) +} + +// ID of the Synthetics test to use as subtest. +func (o SyntheticsTestMobileStepParamsOutput) SubtestPublicId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *string { return v.SubtestPublicId }).(pulumi.StringPtrOutput) +} + +// Value of the step. +func (o SyntheticsTestMobileStepParamsOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +// Details of the variable to extract. +func (o SyntheticsTestMobileStepParamsOutput) Variable() SyntheticsTestMobileStepParamsVariablePtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *SyntheticsTestMobileStepParamsVariable { return v.Variable }).(SyntheticsTestMobileStepParamsVariablePtrOutput) +} + +func (o SyntheticsTestMobileStepParamsOutput) WithEnter() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *bool { return v.WithEnter }).(pulumi.BoolPtrOutput) +} + +// X coordinates for a "scroll step". +func (o SyntheticsTestMobileStepParamsOutput) X() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *float64 { return v.X }).(pulumi.Float64PtrOutput) +} + +// Y coordinates for a "scroll step". +func (o SyntheticsTestMobileStepParamsOutput) Y() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParams) *float64 { return v.Y }).(pulumi.Float64PtrOutput) +} + +type SyntheticsTestMobileStepParamsElement struct { + Context *string `pulumi:"context"` + // Valid values are `native`, `web`. + ContextType *string `pulumi:"contextType"` + ElementDescription *string `pulumi:"elementDescription"` + MultiLocator map[string]string `pulumi:"multiLocator"` + RelativePosition *SyntheticsTestMobileStepParamsElementRelativePosition `pulumi:"relativePosition"` + TextContent *string `pulumi:"textContent"` + UserLocator *SyntheticsTestMobileStepParamsElementUserLocator `pulumi:"userLocator"` + ViewName *string `pulumi:"viewName"` +} + +// SyntheticsTestMobileStepParamsElementInput is an input type that accepts SyntheticsTestMobileStepParamsElementArgs and SyntheticsTestMobileStepParamsElementOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementInput` via: +// +// SyntheticsTestMobileStepParamsElementArgs{...} +type SyntheticsTestMobileStepParamsElementInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementOutput() SyntheticsTestMobileStepParamsElementOutput + ToSyntheticsTestMobileStepParamsElementOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementOutput +} + +type SyntheticsTestMobileStepParamsElementArgs struct { + Context pulumi.StringPtrInput `pulumi:"context"` + // Valid values are `native`, `web`. + ContextType pulumi.StringPtrInput `pulumi:"contextType"` + ElementDescription pulumi.StringPtrInput `pulumi:"elementDescription"` + MultiLocator pulumi.StringMapInput `pulumi:"multiLocator"` + RelativePosition SyntheticsTestMobileStepParamsElementRelativePositionPtrInput `pulumi:"relativePosition"` + TextContent pulumi.StringPtrInput `pulumi:"textContent"` + UserLocator SyntheticsTestMobileStepParamsElementUserLocatorPtrInput `pulumi:"userLocator"` + ViewName pulumi.StringPtrInput `pulumi:"viewName"` +} + +func (SyntheticsTestMobileStepParamsElementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElement)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsElementArgs) ToSyntheticsTestMobileStepParamsElementOutput() SyntheticsTestMobileStepParamsElementOutput { + return i.ToSyntheticsTestMobileStepParamsElementOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementArgs) ToSyntheticsTestMobileStepParamsElementOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementOutput) +} + +func (i SyntheticsTestMobileStepParamsElementArgs) ToSyntheticsTestMobileStepParamsElementPtrOutput() SyntheticsTestMobileStepParamsElementPtrOutput { + return i.ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementArgs) ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementOutput).ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileStepParamsElementPtrInput is an input type that accepts SyntheticsTestMobileStepParamsElementArgs, SyntheticsTestMobileStepParamsElementPtr and SyntheticsTestMobileStepParamsElementPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementPtrInput` via: +// +// SyntheticsTestMobileStepParamsElementArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileStepParamsElementPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementPtrOutput() SyntheticsTestMobileStepParamsElementPtrOutput + ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementPtrOutput +} + +type syntheticsTestMobileStepParamsElementPtrType SyntheticsTestMobileStepParamsElementArgs + +func SyntheticsTestMobileStepParamsElementPtr(v *SyntheticsTestMobileStepParamsElementArgs) SyntheticsTestMobileStepParamsElementPtrInput { + return (*syntheticsTestMobileStepParamsElementPtrType)(v) +} + +func (*syntheticsTestMobileStepParamsElementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsElement)(nil)).Elem() +} + +func (i *syntheticsTestMobileStepParamsElementPtrType) ToSyntheticsTestMobileStepParamsElementPtrOutput() SyntheticsTestMobileStepParamsElementPtrOutput { + return i.ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileStepParamsElementPtrType) ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementPtrOutput) +} + +type SyntheticsTestMobileStepParamsElementOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElement)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementOutput) ToSyntheticsTestMobileStepParamsElementOutput() SyntheticsTestMobileStepParamsElementOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementOutput) ToSyntheticsTestMobileStepParamsElementOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementOutput) ToSyntheticsTestMobileStepParamsElementPtrOutput() SyntheticsTestMobileStepParamsElementPtrOutput { + return o.ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileStepParamsElement) *SyntheticsTestMobileStepParamsElement { + return &v + }).(SyntheticsTestMobileStepParamsElementPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) Context() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *string { return v.Context }).(pulumi.StringPtrOutput) +} + +// Valid values are `native`, `web`. +func (o SyntheticsTestMobileStepParamsElementOutput) ContextType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *string { return v.ContextType }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) ElementDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *string { return v.ElementDescription }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) MultiLocator() pulumi.StringMapOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) map[string]string { return v.MultiLocator }).(pulumi.StringMapOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) RelativePosition() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *SyntheticsTestMobileStepParamsElementRelativePosition { + return v.RelativePosition + }).(SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) TextContent() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *string { return v.TextContent }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) UserLocator() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *SyntheticsTestMobileStepParamsElementUserLocator { + return v.UserLocator + }).(SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementOutput) ViewName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElement) *string { return v.ViewName }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileStepParamsElementPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsElement)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) ToSyntheticsTestMobileStepParamsElementPtrOutput() SyntheticsTestMobileStepParamsElementPtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) ToSyntheticsTestMobileStepParamsElementPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementPtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) Elem() SyntheticsTestMobileStepParamsElementOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) SyntheticsTestMobileStepParamsElement { + if v != nil { + return *v + } + var ret SyntheticsTestMobileStepParamsElement + return ret + }).(SyntheticsTestMobileStepParamsElementOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) Context() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *string { + if v == nil { + return nil + } + return v.Context + }).(pulumi.StringPtrOutput) +} + +// Valid values are `native`, `web`. +func (o SyntheticsTestMobileStepParamsElementPtrOutput) ContextType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *string { + if v == nil { + return nil + } + return v.ContextType + }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) ElementDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *string { + if v == nil { + return nil + } + return v.ElementDescription + }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) MultiLocator() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) map[string]string { + if v == nil { + return nil + } + return v.MultiLocator + }).(pulumi.StringMapOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) RelativePosition() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *SyntheticsTestMobileStepParamsElementRelativePosition { + if v == nil { + return nil + } + return v.RelativePosition + }).(SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) TextContent() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *string { + if v == nil { + return nil + } + return v.TextContent + }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) UserLocator() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *SyntheticsTestMobileStepParamsElementUserLocator { + if v == nil { + return nil + } + return v.UserLocator + }).(SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementPtrOutput) ViewName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElement) *string { + if v == nil { + return nil + } + return v.ViewName + }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileStepParamsElementRelativePosition struct { + X *float64 `pulumi:"x"` + Y *float64 `pulumi:"y"` +} + +// SyntheticsTestMobileStepParamsElementRelativePositionInput is an input type that accepts SyntheticsTestMobileStepParamsElementRelativePositionArgs and SyntheticsTestMobileStepParamsElementRelativePositionOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementRelativePositionInput` via: +// +// SyntheticsTestMobileStepParamsElementRelativePositionArgs{...} +type SyntheticsTestMobileStepParamsElementRelativePositionInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementRelativePositionOutput() SyntheticsTestMobileStepParamsElementRelativePositionOutput + ToSyntheticsTestMobileStepParamsElementRelativePositionOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementRelativePositionOutput +} + +type SyntheticsTestMobileStepParamsElementRelativePositionArgs struct { + X pulumi.Float64PtrInput `pulumi:"x"` + Y pulumi.Float64PtrInput `pulumi:"y"` +} + +func (SyntheticsTestMobileStepParamsElementRelativePositionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElementRelativePosition)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsElementRelativePositionArgs) ToSyntheticsTestMobileStepParamsElementRelativePositionOutput() SyntheticsTestMobileStepParamsElementRelativePositionOutput { + return i.ToSyntheticsTestMobileStepParamsElementRelativePositionOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementRelativePositionArgs) ToSyntheticsTestMobileStepParamsElementRelativePositionOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementRelativePositionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementRelativePositionOutput) +} + +func (i SyntheticsTestMobileStepParamsElementRelativePositionArgs) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutput() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return i.ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementRelativePositionArgs) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementRelativePositionOutput).ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileStepParamsElementRelativePositionPtrInput is an input type that accepts SyntheticsTestMobileStepParamsElementRelativePositionArgs, SyntheticsTestMobileStepParamsElementRelativePositionPtr and SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementRelativePositionPtrInput` via: +// +// SyntheticsTestMobileStepParamsElementRelativePositionArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileStepParamsElementRelativePositionPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutput() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput + ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput +} + +type syntheticsTestMobileStepParamsElementRelativePositionPtrType SyntheticsTestMobileStepParamsElementRelativePositionArgs + +func SyntheticsTestMobileStepParamsElementRelativePositionPtr(v *SyntheticsTestMobileStepParamsElementRelativePositionArgs) SyntheticsTestMobileStepParamsElementRelativePositionPtrInput { + return (*syntheticsTestMobileStepParamsElementRelativePositionPtrType)(v) +} + +func (*syntheticsTestMobileStepParamsElementRelativePositionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsElementRelativePosition)(nil)).Elem() +} + +func (i *syntheticsTestMobileStepParamsElementRelativePositionPtrType) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutput() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return i.ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileStepParamsElementRelativePositionPtrType) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) +} + +type SyntheticsTestMobileStepParamsElementRelativePositionOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementRelativePositionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElementRelativePosition)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionOutput) ToSyntheticsTestMobileStepParamsElementRelativePositionOutput() SyntheticsTestMobileStepParamsElementRelativePositionOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionOutput) ToSyntheticsTestMobileStepParamsElementRelativePositionOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementRelativePositionOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionOutput) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutput() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return o.ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionOutput) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileStepParamsElementRelativePosition) *SyntheticsTestMobileStepParamsElementRelativePosition { + return &v + }).(SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionOutput) X() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElementRelativePosition) *float64 { return v.X }).(pulumi.Float64PtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionOutput) Y() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElementRelativePosition) *float64 { return v.Y }).(pulumi.Float64PtrOutput) +} + +type SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsElementRelativePosition)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutput() SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) ToSyntheticsTestMobileStepParamsElementRelativePositionPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) Elem() SyntheticsTestMobileStepParamsElementRelativePositionOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElementRelativePosition) SyntheticsTestMobileStepParamsElementRelativePosition { + if v != nil { + return *v + } + var ret SyntheticsTestMobileStepParamsElementRelativePosition + return ret + }).(SyntheticsTestMobileStepParamsElementRelativePositionOutput) +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) X() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElementRelativePosition) *float64 { + if v == nil { + return nil + } + return v.X + }).(pulumi.Float64PtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput) Y() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElementRelativePosition) *float64 { + if v == nil { + return nil + } + return v.Y + }).(pulumi.Float64PtrOutput) +} + +type SyntheticsTestMobileStepParamsElementUserLocator struct { + FailTestOnCannotLocate *bool `pulumi:"failTestOnCannotLocate"` + Values []SyntheticsTestMobileStepParamsElementUserLocatorValue `pulumi:"values"` +} + +// SyntheticsTestMobileStepParamsElementUserLocatorInput is an input type that accepts SyntheticsTestMobileStepParamsElementUserLocatorArgs and SyntheticsTestMobileStepParamsElementUserLocatorOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementUserLocatorInput` via: +// +// SyntheticsTestMobileStepParamsElementUserLocatorArgs{...} +type SyntheticsTestMobileStepParamsElementUserLocatorInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementUserLocatorOutput() SyntheticsTestMobileStepParamsElementUserLocatorOutput + ToSyntheticsTestMobileStepParamsElementUserLocatorOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementUserLocatorOutput +} + +type SyntheticsTestMobileStepParamsElementUserLocatorArgs struct { + FailTestOnCannotLocate pulumi.BoolPtrInput `pulumi:"failTestOnCannotLocate"` + Values SyntheticsTestMobileStepParamsElementUserLocatorValueArrayInput `pulumi:"values"` +} + +func (SyntheticsTestMobileStepParamsElementUserLocatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocator)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorArgs) ToSyntheticsTestMobileStepParamsElementUserLocatorOutput() SyntheticsTestMobileStepParamsElementUserLocatorOutput { + return i.ToSyntheticsTestMobileStepParamsElementUserLocatorOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorArgs) ToSyntheticsTestMobileStepParamsElementUserLocatorOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementUserLocatorOutput) +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorArgs) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutput() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return i.ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorArgs) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementUserLocatorOutput).ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileStepParamsElementUserLocatorPtrInput is an input type that accepts SyntheticsTestMobileStepParamsElementUserLocatorArgs, SyntheticsTestMobileStepParamsElementUserLocatorPtr and SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementUserLocatorPtrInput` via: +// +// SyntheticsTestMobileStepParamsElementUserLocatorArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileStepParamsElementUserLocatorPtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutput() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput + ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput +} + +type syntheticsTestMobileStepParamsElementUserLocatorPtrType SyntheticsTestMobileStepParamsElementUserLocatorArgs + +func SyntheticsTestMobileStepParamsElementUserLocatorPtr(v *SyntheticsTestMobileStepParamsElementUserLocatorArgs) SyntheticsTestMobileStepParamsElementUserLocatorPtrInput { + return (*syntheticsTestMobileStepParamsElementUserLocatorPtrType)(v) +} + +func (*syntheticsTestMobileStepParamsElementUserLocatorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsElementUserLocator)(nil)).Elem() +} + +func (i *syntheticsTestMobileStepParamsElementUserLocatorPtrType) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutput() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return i.ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileStepParamsElementUserLocatorPtrType) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) +} + +type SyntheticsTestMobileStepParamsElementUserLocatorOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementUserLocatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocator)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorOutput() SyntheticsTestMobileStepParamsElementUserLocatorOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutput() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return o.ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileStepParamsElementUserLocator) *SyntheticsTestMobileStepParamsElementUserLocator { + return &v + }).(SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorOutput) FailTestOnCannotLocate() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElementUserLocator) *bool { return v.FailTestOnCannotLocate }).(pulumi.BoolPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorOutput) Values() SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElementUserLocator) []SyntheticsTestMobileStepParamsElementUserLocatorValue { + return v.Values + }).(SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) +} + +type SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsElementUserLocator)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutput() SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorPtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) Elem() SyntheticsTestMobileStepParamsElementUserLocatorOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElementUserLocator) SyntheticsTestMobileStepParamsElementUserLocator { + if v != nil { + return *v + } + var ret SyntheticsTestMobileStepParamsElementUserLocator + return ret + }).(SyntheticsTestMobileStepParamsElementUserLocatorOutput) +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) FailTestOnCannotLocate() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElementUserLocator) *bool { + if v == nil { + return nil + } + return v.FailTestOnCannotLocate + }).(pulumi.BoolPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput) Values() SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsElementUserLocator) []SyntheticsTestMobileStepParamsElementUserLocatorValue { + if v == nil { + return nil + } + return v.Values + }).(SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) +} + +type SyntheticsTestMobileStepParamsElementUserLocatorValue struct { + // Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + Type *string `pulumi:"type"` + Value *string `pulumi:"value"` +} + +// SyntheticsTestMobileStepParamsElementUserLocatorValueInput is an input type that accepts SyntheticsTestMobileStepParamsElementUserLocatorValueArgs and SyntheticsTestMobileStepParamsElementUserLocatorValueOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementUserLocatorValueInput` via: +// +// SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{...} +type SyntheticsTestMobileStepParamsElementUserLocatorValueInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutput() SyntheticsTestMobileStepParamsElementUserLocatorValueOutput + ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementUserLocatorValueOutput +} + +type SyntheticsTestMobileStepParamsElementUserLocatorValueArgs struct { + // Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + Type pulumi.StringPtrInput `pulumi:"type"` + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (SyntheticsTestMobileStepParamsElementUserLocatorValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocatorValue)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorValueArgs) ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutput() SyntheticsTestMobileStepParamsElementUserLocatorValueOutput { + return i.ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorValueArgs) ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) +} + +// SyntheticsTestMobileStepParamsElementUserLocatorValueArrayInput is an input type that accepts SyntheticsTestMobileStepParamsElementUserLocatorValueArray and SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsElementUserLocatorValueArrayInput` via: +// +// SyntheticsTestMobileStepParamsElementUserLocatorValueArray{ SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{...} } +type SyntheticsTestMobileStepParamsElementUserLocatorValueArrayInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput() SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput + ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutputWithContext(context.Context) SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput +} + +type SyntheticsTestMobileStepParamsElementUserLocatorValueArray []SyntheticsTestMobileStepParamsElementUserLocatorValueInput + +func (SyntheticsTestMobileStepParamsElementUserLocatorValueArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileStepParamsElementUserLocatorValue)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorValueArray) ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput() SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput { + return i.ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsElementUserLocatorValueArray) ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) +} + +type SyntheticsTestMobileStepParamsElementUserLocatorValueOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocatorValue)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutput() SyntheticsTestMobileStepParamsElementUserLocatorValueOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorValueOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorValueOutput { + return o +} + +// Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElementUserLocatorValue) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsElementUserLocatorValue) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileStepParamsElementUserLocatorValue)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput() SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) ToSyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput) Index(i pulumi.IntInput) SyntheticsTestMobileStepParamsElementUserLocatorValueOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SyntheticsTestMobileStepParamsElementUserLocatorValue { + return vs[0].([]SyntheticsTestMobileStepParamsElementUserLocatorValue)[vs[1].(int)] + }).(SyntheticsTestMobileStepParamsElementUserLocatorValueOutput) +} + +type SyntheticsTestMobileStepParamsPosition struct { + X *float64 `pulumi:"x"` + Y *float64 `pulumi:"y"` +} + +// SyntheticsTestMobileStepParamsPositionInput is an input type that accepts SyntheticsTestMobileStepParamsPositionArgs and SyntheticsTestMobileStepParamsPositionOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsPositionInput` via: +// +// SyntheticsTestMobileStepParamsPositionArgs{...} +type SyntheticsTestMobileStepParamsPositionInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsPositionOutput() SyntheticsTestMobileStepParamsPositionOutput + ToSyntheticsTestMobileStepParamsPositionOutputWithContext(context.Context) SyntheticsTestMobileStepParamsPositionOutput +} + +type SyntheticsTestMobileStepParamsPositionArgs struct { + X pulumi.Float64PtrInput `pulumi:"x"` + Y pulumi.Float64PtrInput `pulumi:"y"` +} + +func (SyntheticsTestMobileStepParamsPositionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsPosition)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsPositionArgs) ToSyntheticsTestMobileStepParamsPositionOutput() SyntheticsTestMobileStepParamsPositionOutput { + return i.ToSyntheticsTestMobileStepParamsPositionOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsPositionArgs) ToSyntheticsTestMobileStepParamsPositionOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsPositionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsPositionOutput) +} + +// SyntheticsTestMobileStepParamsPositionArrayInput is an input type that accepts SyntheticsTestMobileStepParamsPositionArray and SyntheticsTestMobileStepParamsPositionArrayOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsPositionArrayInput` via: +// +// SyntheticsTestMobileStepParamsPositionArray{ SyntheticsTestMobileStepParamsPositionArgs{...} } +type SyntheticsTestMobileStepParamsPositionArrayInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsPositionArrayOutput() SyntheticsTestMobileStepParamsPositionArrayOutput + ToSyntheticsTestMobileStepParamsPositionArrayOutputWithContext(context.Context) SyntheticsTestMobileStepParamsPositionArrayOutput +} + +type SyntheticsTestMobileStepParamsPositionArray []SyntheticsTestMobileStepParamsPositionInput + +func (SyntheticsTestMobileStepParamsPositionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileStepParamsPosition)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsPositionArray) ToSyntheticsTestMobileStepParamsPositionArrayOutput() SyntheticsTestMobileStepParamsPositionArrayOutput { + return i.ToSyntheticsTestMobileStepParamsPositionArrayOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsPositionArray) ToSyntheticsTestMobileStepParamsPositionArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsPositionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsPositionArrayOutput) +} + +type SyntheticsTestMobileStepParamsPositionOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsPositionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsPosition)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsPositionOutput) ToSyntheticsTestMobileStepParamsPositionOutput() SyntheticsTestMobileStepParamsPositionOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsPositionOutput) ToSyntheticsTestMobileStepParamsPositionOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsPositionOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsPositionOutput) X() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsPosition) *float64 { return v.X }).(pulumi.Float64PtrOutput) +} + +func (o SyntheticsTestMobileStepParamsPositionOutput) Y() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsPosition) *float64 { return v.Y }).(pulumi.Float64PtrOutput) +} + +type SyntheticsTestMobileStepParamsPositionArrayOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsPositionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SyntheticsTestMobileStepParamsPosition)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsPositionArrayOutput) ToSyntheticsTestMobileStepParamsPositionArrayOutput() SyntheticsTestMobileStepParamsPositionArrayOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsPositionArrayOutput) ToSyntheticsTestMobileStepParamsPositionArrayOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsPositionArrayOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsPositionArrayOutput) Index(i pulumi.IntInput) SyntheticsTestMobileStepParamsPositionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SyntheticsTestMobileStepParamsPosition { + return vs[0].([]SyntheticsTestMobileStepParamsPosition)[vs[1].(int)] + }).(SyntheticsTestMobileStepParamsPositionOutput) +} + +type SyntheticsTestMobileStepParamsVariable struct { + // Example of the extracted variable. Defaults to `""`. + Example *string `pulumi:"example"` + // Name of the extracted variable. + Name string `pulumi:"name"` +} + +// SyntheticsTestMobileStepParamsVariableInput is an input type that accepts SyntheticsTestMobileStepParamsVariableArgs and SyntheticsTestMobileStepParamsVariableOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsVariableInput` via: +// +// SyntheticsTestMobileStepParamsVariableArgs{...} +type SyntheticsTestMobileStepParamsVariableInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsVariableOutput() SyntheticsTestMobileStepParamsVariableOutput + ToSyntheticsTestMobileStepParamsVariableOutputWithContext(context.Context) SyntheticsTestMobileStepParamsVariableOutput +} + +type SyntheticsTestMobileStepParamsVariableArgs struct { + // Example of the extracted variable. Defaults to `""`. + Example pulumi.StringPtrInput `pulumi:"example"` + // Name of the extracted variable. + Name pulumi.StringInput `pulumi:"name"` +} + +func (SyntheticsTestMobileStepParamsVariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsVariable)(nil)).Elem() +} + +func (i SyntheticsTestMobileStepParamsVariableArgs) ToSyntheticsTestMobileStepParamsVariableOutput() SyntheticsTestMobileStepParamsVariableOutput { + return i.ToSyntheticsTestMobileStepParamsVariableOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsVariableArgs) ToSyntheticsTestMobileStepParamsVariableOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsVariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsVariableOutput) +} + +func (i SyntheticsTestMobileStepParamsVariableArgs) ToSyntheticsTestMobileStepParamsVariablePtrOutput() SyntheticsTestMobileStepParamsVariablePtrOutput { + return i.ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(context.Background()) +} + +func (i SyntheticsTestMobileStepParamsVariableArgs) ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsVariablePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsVariableOutput).ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(ctx) +} + +// SyntheticsTestMobileStepParamsVariablePtrInput is an input type that accepts SyntheticsTestMobileStepParamsVariableArgs, SyntheticsTestMobileStepParamsVariablePtr and SyntheticsTestMobileStepParamsVariablePtrOutput values. +// You can construct a concrete instance of `SyntheticsTestMobileStepParamsVariablePtrInput` via: +// +// SyntheticsTestMobileStepParamsVariableArgs{...} +// +// or: +// +// nil +type SyntheticsTestMobileStepParamsVariablePtrInput interface { + pulumi.Input + + ToSyntheticsTestMobileStepParamsVariablePtrOutput() SyntheticsTestMobileStepParamsVariablePtrOutput + ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(context.Context) SyntheticsTestMobileStepParamsVariablePtrOutput +} + +type syntheticsTestMobileStepParamsVariablePtrType SyntheticsTestMobileStepParamsVariableArgs + +func SyntheticsTestMobileStepParamsVariablePtr(v *SyntheticsTestMobileStepParamsVariableArgs) SyntheticsTestMobileStepParamsVariablePtrInput { + return (*syntheticsTestMobileStepParamsVariablePtrType)(v) +} + +func (*syntheticsTestMobileStepParamsVariablePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsVariable)(nil)).Elem() +} + +func (i *syntheticsTestMobileStepParamsVariablePtrType) ToSyntheticsTestMobileStepParamsVariablePtrOutput() SyntheticsTestMobileStepParamsVariablePtrOutput { + return i.ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(context.Background()) +} + +func (i *syntheticsTestMobileStepParamsVariablePtrType) ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsVariablePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SyntheticsTestMobileStepParamsVariablePtrOutput) +} + +type SyntheticsTestMobileStepParamsVariableOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsVariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SyntheticsTestMobileStepParamsVariable)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsVariableOutput) ToSyntheticsTestMobileStepParamsVariableOutput() SyntheticsTestMobileStepParamsVariableOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsVariableOutput) ToSyntheticsTestMobileStepParamsVariableOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsVariableOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsVariableOutput) ToSyntheticsTestMobileStepParamsVariablePtrOutput() SyntheticsTestMobileStepParamsVariablePtrOutput { + return o.ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(context.Background()) +} + +func (o SyntheticsTestMobileStepParamsVariableOutput) ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsVariablePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SyntheticsTestMobileStepParamsVariable) *SyntheticsTestMobileStepParamsVariable { + return &v + }).(SyntheticsTestMobileStepParamsVariablePtrOutput) +} + +// Example of the extracted variable. Defaults to `""`. +func (o SyntheticsTestMobileStepParamsVariableOutput) Example() pulumi.StringPtrOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsVariable) *string { return v.Example }).(pulumi.StringPtrOutput) +} + +// Name of the extracted variable. +func (o SyntheticsTestMobileStepParamsVariableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SyntheticsTestMobileStepParamsVariable) string { return v.Name }).(pulumi.StringOutput) +} + +type SyntheticsTestMobileStepParamsVariablePtrOutput struct{ *pulumi.OutputState } + +func (SyntheticsTestMobileStepParamsVariablePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SyntheticsTestMobileStepParamsVariable)(nil)).Elem() +} + +func (o SyntheticsTestMobileStepParamsVariablePtrOutput) ToSyntheticsTestMobileStepParamsVariablePtrOutput() SyntheticsTestMobileStepParamsVariablePtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsVariablePtrOutput) ToSyntheticsTestMobileStepParamsVariablePtrOutputWithContext(ctx context.Context) SyntheticsTestMobileStepParamsVariablePtrOutput { + return o +} + +func (o SyntheticsTestMobileStepParamsVariablePtrOutput) Elem() SyntheticsTestMobileStepParamsVariableOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsVariable) SyntheticsTestMobileStepParamsVariable { + if v != nil { + return *v + } + var ret SyntheticsTestMobileStepParamsVariable + return ret + }).(SyntheticsTestMobileStepParamsVariableOutput) +} + +// Example of the extracted variable. Defaults to `""`. +func (o SyntheticsTestMobileStepParamsVariablePtrOutput) Example() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsVariable) *string { + if v == nil { + return nil + } + return v.Example + }).(pulumi.StringPtrOutput) +} + +// Name of the extracted variable. +func (o SyntheticsTestMobileStepParamsVariablePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SyntheticsTestMobileStepParamsVariable) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + type SyntheticsTestOptionsList struct { // For SSL test, whether or not the test should allow self signed certificates. AcceptSelfSigned *bool `pulumi:"acceptSelfSigned"` @@ -11563,9 +14221,9 @@ func (o SyntheticsTestOptionsListMonitorOptionsPtrOutput) RenotifyInterval() pul } type SyntheticsTestOptionsListRetry struct { - // Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + // Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. Count *int `pulumi:"count"` - // Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + // Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. Interval *int `pulumi:"interval"` } @@ -11581,9 +14239,9 @@ type SyntheticsTestOptionsListRetryInput interface { } type SyntheticsTestOptionsListRetryArgs struct { - // Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + // Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. Count pulumi.IntPtrInput `pulumi:"count"` - // Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + // Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. Interval pulumi.IntPtrInput `pulumi:"interval"` } @@ -11664,12 +14322,12 @@ func (o SyntheticsTestOptionsListRetryOutput) ToSyntheticsTestOptionsListRetryPt }).(SyntheticsTestOptionsListRetryPtrOutput) } -// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. +// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. func (o SyntheticsTestOptionsListRetryOutput) Count() pulumi.IntPtrOutput { return o.ApplyT(func(v SyntheticsTestOptionsListRetry) *int { return v.Count }).(pulumi.IntPtrOutput) } -// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. +// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. func (o SyntheticsTestOptionsListRetryOutput) Interval() pulumi.IntPtrOutput { return o.ApplyT(func(v SyntheticsTestOptionsListRetry) *int { return v.Interval }).(pulumi.IntPtrOutput) } @@ -11698,7 +14356,7 @@ func (o SyntheticsTestOptionsListRetryPtrOutput) Elem() SyntheticsTestOptionsLis }).(SyntheticsTestOptionsListRetryOutput) } -// Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. +// Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. func (o SyntheticsTestOptionsListRetryPtrOutput) Count() pulumi.IntPtrOutput { return o.ApplyT(func(v *SyntheticsTestOptionsListRetry) *int { if v == nil { @@ -11708,7 +14366,7 @@ func (o SyntheticsTestOptionsListRetryPtrOutput) Count() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// Interval between a failed test and the next retry in milliseconds. Defaults to `300`. +// Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. func (o SyntheticsTestOptionsListRetryPtrOutput) Interval() pulumi.IntPtrOutput { return o.ApplyT(func(v *SyntheticsTestOptionsListRetry) *int { if v == nil { @@ -19478,6 +22136,37 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestBrowserVariableArrayInput)(nil)).Elem(), SyntheticsTestBrowserVariableArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestConfigVariableInput)(nil)).Elem(), SyntheticsTestConfigVariableArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestConfigVariableArrayInput)(nil)).Elem(), SyntheticsTestConfigVariableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListInput)(nil)).Elem(), SyntheticsTestMobileOptionsListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListPtrInput)(nil)).Elem(), SyntheticsTestMobileOptionsListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListBindingInput)(nil)).Elem(), SyntheticsTestMobileOptionsListBindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListBindingArrayInput)(nil)).Elem(), SyntheticsTestMobileOptionsListBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListCiInput)(nil)).Elem(), SyntheticsTestMobileOptionsListCiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListCiPtrInput)(nil)).Elem(), SyntheticsTestMobileOptionsListCiArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListMobileApplicationInput)(nil)).Elem(), SyntheticsTestMobileOptionsListMobileApplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListMobileApplicationPtrInput)(nil)).Elem(), SyntheticsTestMobileOptionsListMobileApplicationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListMonitorOptionsInput)(nil)).Elem(), SyntheticsTestMobileOptionsListMonitorOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListMonitorOptionsPtrInput)(nil)).Elem(), SyntheticsTestMobileOptionsListMonitorOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListRetryInput)(nil)).Elem(), SyntheticsTestMobileOptionsListRetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListRetryPtrInput)(nil)).Elem(), SyntheticsTestMobileOptionsListRetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListSchedulingInput)(nil)).Elem(), SyntheticsTestMobileOptionsListSchedulingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListSchedulingPtrInput)(nil)).Elem(), SyntheticsTestMobileOptionsListSchedulingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListSchedulingTimeframeInput)(nil)).Elem(), SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileOptionsListSchedulingTimeframeArrayInput)(nil)).Elem(), SyntheticsTestMobileOptionsListSchedulingTimeframeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepInput)(nil)).Elem(), SyntheticsTestMobileStepArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepArrayInput)(nil)).Elem(), SyntheticsTestMobileStepArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsInput)(nil)).Elem(), SyntheticsTestMobileStepParamsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementPtrInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementRelativePositionInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementRelativePositionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementRelativePositionPtrInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementRelativePositionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocatorInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementUserLocatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocatorPtrInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementUserLocatorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocatorValueInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsElementUserLocatorValueArrayInput)(nil)).Elem(), SyntheticsTestMobileStepParamsElementUserLocatorValueArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsPositionInput)(nil)).Elem(), SyntheticsTestMobileStepParamsPositionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsPositionArrayInput)(nil)).Elem(), SyntheticsTestMobileStepParamsPositionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsVariableInput)(nil)).Elem(), SyntheticsTestMobileStepParamsVariableArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestMobileStepParamsVariablePtrInput)(nil)).Elem(), SyntheticsTestMobileStepParamsVariableArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestOptionsListInput)(nil)).Elem(), SyntheticsTestOptionsListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestOptionsListPtrInput)(nil)).Elem(), SyntheticsTestOptionsListArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SyntheticsTestOptionsListCiInput)(nil)).Elem(), SyntheticsTestOptionsListCiArgs{}) @@ -19721,6 +22410,37 @@ func init() { pulumi.RegisterOutputType(SyntheticsTestBrowserVariableArrayOutput{}) pulumi.RegisterOutputType(SyntheticsTestConfigVariableOutput{}) pulumi.RegisterOutputType(SyntheticsTestConfigVariableArrayOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListBindingOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListBindingArrayOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListCiOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListCiPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListMobileApplicationOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListMobileApplicationPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListMonitorOptionsOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListMonitorOptionsPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListRetryOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListRetryPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListSchedulingOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListSchedulingPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListSchedulingTimeframeOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileOptionsListSchedulingTimeframeArrayOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepArrayOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementRelativePositionOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementRelativePositionPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementUserLocatorOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementUserLocatorPtrOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementUserLocatorValueOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsElementUserLocatorValueArrayOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsPositionOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsPositionArrayOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsVariableOutput{}) + pulumi.RegisterOutputType(SyntheticsTestMobileStepParamsVariablePtrOutput{}) pulumi.RegisterOutputType(SyntheticsTestOptionsListOutput{}) pulumi.RegisterOutputType(SyntheticsTestOptionsListPtrOutput{}) pulumi.RegisterOutputType(SyntheticsTestOptionsListCiOutput{}) diff --git a/sdk/go/datadog/syntheticsTest.go b/sdk/go/datadog/syntheticsTest.go index ef05f574b..1b540d098 100644 --- a/sdk/go/datadog/syntheticsTest.go +++ b/sdk/go/datadog/syntheticsTest.go @@ -436,6 +436,166 @@ import ( // if err != nil { // return err // } +// // Example Usage (Synthetics Mobile test) +// // Create a new Datadog Synthetics Mobile test starting on https://www.example.org +// _, err = datadog.NewSyntheticsTest(ctx, "test_mobile", &datadog.SyntheticsTestArgs{ +// Type: pulumi.String("mobile"), +// Name: pulumi.String("A Mobile test on example.org"), +// Status: pulumi.String("paused"), +// Message: pulumi.String("Notify @datadog.user"), +// Tags: pulumi.StringArray{ +// pulumi.String("foo:bar"), +// pulumi.String("baz"), +// }, +// ConfigVariables: datadog.SyntheticsTestConfigVariableArray{ +// &datadog.SyntheticsTestConfigVariableArgs{ +// Example: pulumi.String("123"), +// Name: pulumi.String("VARIABLE_NAME"), +// Pattern: pulumi.String("{{numeric(3)}}"), +// Type: pulumi.String("text"), +// Secure: pulumi.Bool(false), +// }, +// }, +// ConfigInitialApplicationArguments: pulumi.StringMap{ +// "test_process_argument": pulumi.String("test1"), +// }, +// DeviceIds: pulumi.StringArray{ +// pulumi.String("synthetics:mobile:device:apple_iphone_14_plus_ios_16"), +// }, +// Locations: pulumi.StringArray{ +// pulumi.String("aws:eu-central-1"), +// }, +// MobileOptionsList: &datadog.SyntheticsTestMobileOptionsListArgs{ +// MinFailureDuration: pulumi.Int(0), +// Retry: &datadog.SyntheticsTestMobileOptionsListRetryArgs{ +// Count: pulumi.Int(0), +// Interval: pulumi.Int(300), +// }, +// TickEvery: pulumi.Int(43200), +// Scheduling: &datadog.SyntheticsTestMobileOptionsListSchedulingArgs{ +// Timeframes: datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArray{ +// &datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{ +// Day: pulumi.Int(5), +// From: pulumi.String("07:00"), +// To: pulumi.String("16:00"), +// }, +// &datadog.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs{ +// Day: pulumi.Int(7), +// From: pulumi.String("07:00"), +// To: pulumi.String("16:00"), +// }, +// }, +// Timezone: pulumi.String("UTC"), +// }, +// MonitorName: pulumi.String("mobile-test-monitor"), +// MonitorOptions: &datadog.SyntheticsTestMobileOptionsListMonitorOptionsArgs{ +// RenotifyInterval: pulumi.Int(10), +// EscalationMessage: pulumi.String("test escalation message"), +// RenotifyOccurrences: pulumi.Int(3), +// NotificationPresetName: pulumi.String("show_all"), +// }, +// MonitorPriority: pulumi.Int(5), +// RestrictedRoles: pulumi.StringArray{ +// pulumi.String("role1"), +// pulumi.String("role2"), +// }, +// Bindings: datadog.SyntheticsTestMobileOptionsListBindingArray{ +// &datadog.SyntheticsTestMobileOptionsListBindingArgs{ +// Principals: pulumi.StringArray{ +// pulumi.String("org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091"), +// pulumi.String("team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002"), +// }, +// Relation: pulumi.String("editor"), +// }, +// }, +// Ci: &datadog.SyntheticsTestMobileOptionsListCiArgs{ +// ExecutionRule: pulumi.String("blocking"), +// }, +// DefaultStepTimeout: pulumi.Int(10), +// DeviceIds: pulumi.StringArray{ +// pulumi.String("synthetics:mobile:device:apple_iphone_14_plus_ios_16"), +// }, +// NoScreenshot: pulumi.Bool(true), +// AllowApplicationCrash: pulumi.Bool(false), +// DisableAutoAcceptAlert: pulumi.Bool(true), +// MobileApplication: &datadog.SyntheticsTestMobileOptionsListMobileApplicationArgs{ +// ApplicationId: pulumi.String("5f055d15-0000-aaaa-zzzz-6739f83346aa"), +// ReferenceId: pulumi.String("434d4719-0000-aaaa-zzzz-31082b544718"), +// ReferenceType: pulumi.String("version"), +// }, +// }, +// MobileSteps: datadog.SyntheticsTestMobileStepArray{ +// &datadog.SyntheticsTestMobileStepArgs{ +// Name: pulumi.String("Tap on StaticText \"Tap\""), +// Params: &datadog.SyntheticsTestMobileStepParamsArgs{ +// Element: &datadog.SyntheticsTestMobileStepParamsElementArgs{ +// Context: pulumi.String("NATIVE_APP"), +// ViewName: pulumi.String("StaticText"), +// ContextType: pulumi.String("native"), +// TextContent: pulumi.String("Tap"), +// MultiLocator: pulumi.StringMap{}, +// RelativePosition: &datadog.SyntheticsTestMobileStepParamsElementRelativePositionArgs{ +// X: pulumi.Float64(0.07256155303030302), +// Y: pulumi.Float64(0.41522381756756754), +// }, +// UserLocator: &datadog.SyntheticsTestMobileStepParamsElementUserLocatorArgs{ +// FailTestOnCannotLocate: pulumi.Bool(false), +// Values: datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArray{ +// &datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{ +// Type: pulumi.String("id"), +// Value: pulumi.String("some_id"), +// }, +// }, +// }, +// ElementDescription: pulumi.String(""), +// }, +// }, +// Timeout: pulumi.Int(100), +// Type: pulumi.String("tap"), +// AllowFailure: pulumi.Bool(false), +// IsCritical: pulumi.Bool(true), +// NoScreenshot: pulumi.Bool(false), +// HasNewStepElement: pulumi.Bool(false), +// }, +// &datadog.SyntheticsTestMobileStepArgs{ +// Name: pulumi.String("Test View \"Tap\" content"), +// Params: &datadog.SyntheticsTestMobileStepParamsArgs{ +// Check: pulumi.String("contains"), +// Value: pulumi.String("Tap"), +// Element: &datadog.SyntheticsTestMobileStepParamsElementArgs{ +// Context: pulumi.String("NATIVE_APP"), +// ViewName: pulumi.String("View"), +// ContextType: pulumi.String("native"), +// TextContent: pulumi.String("Tap"), +// MultiLocator: pulumi.StringMap{}, +// RelativePosition: &datadog.SyntheticsTestMobileStepParamsElementRelativePositionArgs{ +// X: pulumi.Float64(0.27660448306074764), +// Y: pulumi.Float64(0.6841517857142857), +// }, +// UserLocator: &datadog.SyntheticsTestMobileStepParamsElementUserLocatorArgs{ +// FailTestOnCannotLocate: pulumi.Bool(false), +// Values: datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArray{ +// &datadog.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs{ +// Type: pulumi.String("id"), +// Value: pulumi.String("some_id"), +// }, +// }, +// }, +// ElementDescription: pulumi.String(""), +// }, +// }, +// Timeout: pulumi.Int(100), +// Type: pulumi.String("assertElementContent"), +// AllowFailure: pulumi.Bool(false), +// IsCritical: pulumi.Bool(true), +// NoScreenshot: pulumi.Bool(false), +// HasNewStepElement: pulumi.Bool(false), +// }, +// }, +// }) +// if err != nil { +// return err +// } // // Example Usage (GRPC API behavior check test) // // Create a new Datadog GRPC API test calling host example.org on port 443 // // targeting service `greeter.Greeter` with the method `SayHello` @@ -584,16 +744,21 @@ type SyntheticsTest struct { BrowserSteps SyntheticsTestBrowserStepArrayOutput `pulumi:"browserSteps"` // Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. BrowserVariables SyntheticsTestBrowserVariableArrayOutput `pulumi:"browserVariables"` + // Initial application arguments for the mobile test. + ConfigInitialApplicationArguments pulumi.StringMapOutput `pulumi:"configInitialApplicationArguments"` // Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. ConfigVariables SyntheticsTestConfigVariableArrayOutput `pulumi:"configVariables"` - // Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + // Required if `type = "browser"`. Array with the different device IDs used to run the test. DeviceIds pulumi.StringArrayOutput `pulumi:"deviceIds"` // A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). ForceDeleteDependencies pulumi.BoolPtrOutput `pulumi:"forceDeleteDependencies"` // Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. Locations pulumi.StringArrayOutput `pulumi:"locations"` // A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. - Message pulumi.StringPtrOutput `pulumi:"message"` + Message pulumi.StringPtrOutput `pulumi:"message"` + MobileOptionsList SyntheticsTestMobileOptionsListPtrOutput `pulumi:"mobileOptionsList"` + // Steps for mobile tests + MobileSteps SyntheticsTestMobileStepArrayOutput `pulumi:"mobileSteps"` // ID of the monitor associated with the Datadog synthetics test. MonitorId pulumi.IntOutput `pulumi:"monitorId"` // Name of Datadog synthetics test. @@ -679,16 +844,21 @@ type syntheticsTestState struct { BrowserSteps []SyntheticsTestBrowserStep `pulumi:"browserSteps"` // Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. BrowserVariables []SyntheticsTestBrowserVariable `pulumi:"browserVariables"` + // Initial application arguments for the mobile test. + ConfigInitialApplicationArguments map[string]string `pulumi:"configInitialApplicationArguments"` // Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. ConfigVariables []SyntheticsTestConfigVariable `pulumi:"configVariables"` - // Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + // Required if `type = "browser"`. Array with the different device IDs used to run the test. DeviceIds []string `pulumi:"deviceIds"` // A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). ForceDeleteDependencies *bool `pulumi:"forceDeleteDependencies"` // Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. Locations []string `pulumi:"locations"` // A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. - Message *string `pulumi:"message"` + Message *string `pulumi:"message"` + MobileOptionsList *SyntheticsTestMobileOptionsList `pulumi:"mobileOptionsList"` + // Steps for mobile tests + MobileSteps []SyntheticsTestMobileStep `pulumi:"mobileSteps"` // ID of the monitor associated with the Datadog synthetics test. MonitorId *int `pulumi:"monitorId"` // Name of Datadog synthetics test. @@ -733,16 +903,21 @@ type SyntheticsTestState struct { BrowserSteps SyntheticsTestBrowserStepArrayInput // Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. BrowserVariables SyntheticsTestBrowserVariableArrayInput + // Initial application arguments for the mobile test. + ConfigInitialApplicationArguments pulumi.StringMapInput // Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. ConfigVariables SyntheticsTestConfigVariableArrayInput - // Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + // Required if `type = "browser"`. Array with the different device IDs used to run the test. DeviceIds pulumi.StringArrayInput // A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). ForceDeleteDependencies pulumi.BoolPtrInput // Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. Locations pulumi.StringArrayInput // A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. - Message pulumi.StringPtrInput + Message pulumi.StringPtrInput + MobileOptionsList SyntheticsTestMobileOptionsListPtrInput + // Steps for mobile tests + MobileSteps SyntheticsTestMobileStepArrayInput // ID of the monitor associated with the Datadog synthetics test. MonitorId pulumi.IntPtrInput // Name of Datadog synthetics test. @@ -791,16 +966,21 @@ type syntheticsTestArgs struct { BrowserSteps []SyntheticsTestBrowserStep `pulumi:"browserSteps"` // Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. BrowserVariables []SyntheticsTestBrowserVariable `pulumi:"browserVariables"` + // Initial application arguments for the mobile test. + ConfigInitialApplicationArguments map[string]string `pulumi:"configInitialApplicationArguments"` // Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. ConfigVariables []SyntheticsTestConfigVariable `pulumi:"configVariables"` - // Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + // Required if `type = "browser"`. Array with the different device IDs used to run the test. DeviceIds []string `pulumi:"deviceIds"` // A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). ForceDeleteDependencies *bool `pulumi:"forceDeleteDependencies"` // Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. Locations []string `pulumi:"locations"` // A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. - Message *string `pulumi:"message"` + Message *string `pulumi:"message"` + MobileOptionsList *SyntheticsTestMobileOptionsList `pulumi:"mobileOptionsList"` + // Steps for mobile tests + MobileSteps []SyntheticsTestMobileStep `pulumi:"mobileSteps"` // Name of Datadog synthetics test. Name string `pulumi:"name"` OptionsList *SyntheticsTestOptionsList `pulumi:"optionsList"` @@ -844,16 +1024,21 @@ type SyntheticsTestArgs struct { BrowserSteps SyntheticsTestBrowserStepArrayInput // Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. BrowserVariables SyntheticsTestBrowserVariableArrayInput + // Initial application arguments for the mobile test. + ConfigInitialApplicationArguments pulumi.StringMapInput // Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. ConfigVariables SyntheticsTestConfigVariableArrayInput - // Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + // Required if `type = "browser"`. Array with the different device IDs used to run the test. DeviceIds pulumi.StringArrayInput // A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). ForceDeleteDependencies pulumi.BoolPtrInput // Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. Locations pulumi.StringArrayInput // A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. - Message pulumi.StringPtrInput + Message pulumi.StringPtrInput + MobileOptionsList SyntheticsTestMobileOptionsListPtrInput + // Steps for mobile tests + MobileSteps SyntheticsTestMobileStepArrayInput // Name of Datadog synthetics test. Name pulumi.StringInput OptionsList SyntheticsTestOptionsListPtrInput @@ -994,12 +1179,17 @@ func (o SyntheticsTestOutput) BrowserVariables() SyntheticsTestBrowserVariableAr return o.ApplyT(func(v *SyntheticsTest) SyntheticsTestBrowserVariableArrayOutput { return v.BrowserVariables }).(SyntheticsTestBrowserVariableArrayOutput) } +// Initial application arguments for the mobile test. +func (o SyntheticsTestOutput) ConfigInitialApplicationArguments() pulumi.StringMapOutput { + return o.ApplyT(func(v *SyntheticsTest) pulumi.StringMapOutput { return v.ConfigInitialApplicationArguments }).(pulumi.StringMapOutput) +} + // Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. func (o SyntheticsTestOutput) ConfigVariables() SyntheticsTestConfigVariableArrayOutput { return o.ApplyT(func(v *SyntheticsTest) SyntheticsTestConfigVariableArrayOutput { return v.ConfigVariables }).(SyntheticsTestConfigVariableArrayOutput) } -// Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. +// Required if `type = "browser"`. Array with the different device IDs used to run the test. func (o SyntheticsTestOutput) DeviceIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *SyntheticsTest) pulumi.StringArrayOutput { return v.DeviceIds }).(pulumi.StringArrayOutput) } @@ -1019,6 +1209,15 @@ func (o SyntheticsTestOutput) Message() pulumi.StringPtrOutput { return o.ApplyT(func(v *SyntheticsTest) pulumi.StringPtrOutput { return v.Message }).(pulumi.StringPtrOutput) } +func (o SyntheticsTestOutput) MobileOptionsList() SyntheticsTestMobileOptionsListPtrOutput { + return o.ApplyT(func(v *SyntheticsTest) SyntheticsTestMobileOptionsListPtrOutput { return v.MobileOptionsList }).(SyntheticsTestMobileOptionsListPtrOutput) +} + +// Steps for mobile tests +func (o SyntheticsTestOutput) MobileSteps() SyntheticsTestMobileStepArrayOutput { + return o.ApplyT(func(v *SyntheticsTest) SyntheticsTestMobileStepArrayOutput { return v.MobileSteps }).(SyntheticsTestMobileStepArrayOutput) +} + // ID of the monitor associated with the Datadog synthetics test. func (o SyntheticsTestOutput) MonitorId() pulumi.IntOutput { return o.ApplyT(func(v *SyntheticsTest) pulumi.IntOutput { return v.MonitorId }).(pulumi.IntOutput) diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java b/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java index 1a525c21a..e3e4b3999 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Dashboard.java @@ -23,6 +23,8 @@ /** * Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards. * + * !> The `is_read_only` field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. + * * ## Example Usage * * <!--Start PulumiCodeChooser --> @@ -852,18 +854,18 @@ public Output> description() { return Codegen.optional(this.description); } /** - * Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ @Export(name="isReadOnly", refs={Boolean.class}, tree="[0]") private Output isReadOnly; /** - * @return Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @return Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * */ public Output> isReadOnly() { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/DashboardArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/DashboardArgs.java index 806104ff1..e6ddc2918 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/DashboardArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/DashboardArgs.java @@ -45,24 +45,24 @@ public Optional> description() { } /** - * Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ @Import(name="isReadOnly") private @Nullable Output isReadOnly; /** - * @return Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @return Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ public Optional> isReadOnly() { return Optional.ofNullable(this.isReadOnly); } @@ -288,30 +288,30 @@ public Builder description(String description) { } /** - * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @return builder * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ public Builder isReadOnly(@Nullable Output isReadOnly) { $.isReadOnly = isReadOnly; return this; } /** - * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @return builder * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ public Builder isReadOnly(Boolean isReadOnly) { return isReadOnly(Output.of(isReadOnly)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java b/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java index 466ae4d3c..39e2b0b91 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/Monitor.java @@ -103,15 +103,15 @@ public Output> enableLogsSample() { * */ @Export(name="enableSamples", refs={Boolean.class}, tree="[0]") - private Output enableSamples; + private Output enableSamples; /** * @return Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline * monitors. * */ - public Output enableSamples() { - return this.enableSamples; + public Output> enableSamples() { + return Codegen.optional(this.enableSamples); } /** * A message to include with a re-notification. Supports the `{@literal @}username` notification allowed elsewhere. diff --git a/sdk/java/src/main/java/com/pulumi/datadog/MonitorArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/MonitorArgs.java index 706ff38a1..6f9158b88 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/MonitorArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/MonitorArgs.java @@ -40,6 +40,23 @@ public Optional> enableLogsSample() { return Optional.ofNullable(this.enableLogsSample); } + /** + * Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + * monitors. + * + */ + @Import(name="enableSamples") + private @Nullable Output enableSamples; + + /** + * @return Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + * monitors. + * + */ + public Optional> enableSamples() { + return Optional.ofNullable(this.enableSamples); + } + /** * A message to include with a re-notification. Supports the `{@literal @}username` notification allowed elsewhere. * @@ -588,6 +605,7 @@ private MonitorArgs() {} private MonitorArgs(MonitorArgs $) { this.enableLogsSample = $.enableLogsSample; + this.enableSamples = $.enableSamples; this.escalationMessage = $.escalationMessage; this.evaluationDelay = $.evaluationDelay; this.forceDelete = $.forceDelete; @@ -663,6 +681,29 @@ public Builder enableLogsSample(Boolean enableLogsSample) { return enableLogsSample(Output.of(enableLogsSample)); } + /** + * @param enableSamples Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + * monitors. + * + * @return builder + * + */ + public Builder enableSamples(@Nullable Output enableSamples) { + $.enableSamples = enableSamples; + return this; + } + + /** + * @param enableSamples Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + * monitors. + * + * @return builder + * + */ + public Builder enableSamples(Boolean enableSamples) { + return enableSamples(Output.of(enableSamples)); + } + /** * @param escalationMessage A message to include with a re-notification. Supports the `{@literal @}username` notification allowed elsewhere. * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java index c0886432c..b5e7350ec 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTest.java @@ -15,6 +15,8 @@ import com.pulumi.datadog.outputs.SyntheticsTestBrowserStep; import com.pulumi.datadog.outputs.SyntheticsTestBrowserVariable; import com.pulumi.datadog.outputs.SyntheticsTestConfigVariable; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsList; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStep; import com.pulumi.datadog.outputs.SyntheticsTestOptionsList; import com.pulumi.datadog.outputs.SyntheticsTestRequestBasicauth; import com.pulumi.datadog.outputs.SyntheticsTestRequestClientCertificate; @@ -66,6 +68,17 @@ * import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs; * import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepParamsArgs; * import com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListRetryArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListSchedulingArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListMonitorOptionsArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListCiArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListMobileApplicationArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileStepArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs; + * import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs; * import static com.pulumi.codegen.internal.Serialization.*; * import java.util.List; * import java.util.ArrayList; @@ -406,6 +419,143 @@ * .build()) * .build()); * + * // Example Usage (Synthetics Mobile test) + * // Create a new Datadog Synthetics Mobile test starting on https://www.example.org + * var testMobile = new SyntheticsTest("testMobile", SyntheticsTestArgs.builder() + * .type("mobile") + * .name("A Mobile test on example.org") + * .status("paused") + * .message("Notify }{@literal @}{@code datadog.user") + * .tags( + * "foo:bar", + * "baz") + * .configVariables(SyntheticsTestConfigVariableArgs.builder() + * .example("123") + * .name("VARIABLE_NAME") + * .pattern("}{{{@code numeric(3)}}}{@code ") + * .type("text") + * .secure(false) + * .build()) + * .configInitialApplicationArguments(Map.of("test_process_argument", "test1")) + * .deviceIds("synthetics:mobile:device:apple_iphone_14_plus_ios_16") + * .locations("aws:eu-central-1") + * .mobileOptionsList(SyntheticsTestMobileOptionsListArgs.builder() + * .minFailureDuration(0) + * .retry(SyntheticsTestMobileOptionsListRetryArgs.builder() + * .count(0) + * .interval(300) + * .build()) + * .tickEvery(43200) + * .scheduling(SyntheticsTestMobileOptionsListSchedulingArgs.builder() + * .timeframes( + * SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.builder() + * .day(5) + * .from("07:00") + * .to("16:00") + * .build(), + * SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.builder() + * .day(7) + * .from("07:00") + * .to("16:00") + * .build()) + * .timezone("UTC") + * .build()) + * .monitorName("mobile-test-monitor") + * .monitorOptions(SyntheticsTestMobileOptionsListMonitorOptionsArgs.builder() + * .renotifyInterval(10) + * .escalationMessage("test escalation message") + * .renotifyOccurrences(3) + * .notificationPresetName("show_all") + * .build()) + * .monitorPriority(5) + * .restrictedRoles( + * "role1", + * "role2") + * .bindings(SyntheticsTestMobileOptionsListBindingArgs.builder() + * .principals( + * "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091", + * "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002") + * .relation("editor") + * .build()) + * .ci(SyntheticsTestMobileOptionsListCiArgs.builder() + * .executionRule("blocking") + * .build()) + * .defaultStepTimeout(10) + * .deviceIds("synthetics:mobile:device:apple_iphone_14_plus_ios_16") + * .noScreenshot(true) + * .allowApplicationCrash(false) + * .disableAutoAcceptAlert(true) + * .mobileApplication(SyntheticsTestMobileOptionsListMobileApplicationArgs.builder() + * .applicationId("5f055d15-0000-aaaa-zzzz-6739f83346aa") + * .referenceId("434d4719-0000-aaaa-zzzz-31082b544718") + * .referenceType("version") + * .build()) + * .build()) + * .mobileSteps( + * SyntheticsTestMobileStepArgs.builder() + * .name("Tap on StaticText \"Tap\"") + * .params(SyntheticsTestMobileStepParamsArgs.builder() + * .element(SyntheticsTestMobileStepParamsElementArgs.builder() + * .context("NATIVE_APP") + * .viewName("StaticText") + * .contextType("native") + * .textContent("Tap") + * .multiLocator() + * .relativePosition(SyntheticsTestMobileStepParamsElementRelativePositionArgs.builder() + * .x(0.07256155303030302) + * .y(0.41522381756756754) + * .build()) + * .userLocator(SyntheticsTestMobileStepParamsElementUserLocatorArgs.builder() + * .failTestOnCannotLocate(false) + * .values(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.builder() + * .type("id") + * .value("some_id") + * .build()) + * .build()) + * .elementDescription("") + * .build()) + * .build()) + * .timeout(100) + * .type("tap") + * .allowFailure(false) + * .isCritical(true) + * .noScreenshot(false) + * .hasNewStepElement(false) + * .build(), + * SyntheticsTestMobileStepArgs.builder() + * .name("Test View \"Tap\" content") + * .params(SyntheticsTestMobileStepParamsArgs.builder() + * .check("contains") + * .value("Tap") + * .element(SyntheticsTestMobileStepParamsElementArgs.builder() + * .context("NATIVE_APP") + * .viewName("View") + * .contextType("native") + * .textContent("Tap") + * .multiLocator() + * .relativePosition(SyntheticsTestMobileStepParamsElementRelativePositionArgs.builder() + * .x(0.27660448306074764) + * .y(0.6841517857142857) + * .build()) + * .userLocator(SyntheticsTestMobileStepParamsElementUserLocatorArgs.builder() + * .failTestOnCannotLocate(false) + * .values(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.builder() + * .type("id") + * .value("some_id") + * .build()) + * .build()) + * .elementDescription("") + * .build()) + * .build()) + * .timeout(100) + * .type("assertElementContent") + * .allowFailure(false) + * .isCritical(true) + * .noScreenshot(false) + * .hasNewStepElement(false) + * .build()) + * .build()); + * * // Example Usage (GRPC API behavior check test) * // Create a new Datadog GRPC API test calling host example.org on port 443 * // targeting service `greeter.Greeter` with the method `SayHello` @@ -585,6 +735,20 @@ public Output>> browserSteps() { public Output>> browserVariables() { return Codegen.optional(this.browserVariables); } + /** + * Initial application arguments for the mobile test. + * + */ + @Export(name="configInitialApplicationArguments", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> configInitialApplicationArguments; + + /** + * @return Initial application arguments for the mobile test. + * + */ + public Output>> configInitialApplicationArguments() { + return Codegen.optional(this.configInitialApplicationArguments); + } /** * Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. * @@ -600,14 +764,14 @@ public Output>> configVariables() { return Codegen.optional(this.configVariables); } /** - * Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * Required if `type = "browser"`. Array with the different device IDs used to run the test. * */ @Export(name="deviceIds", refs={List.class,String.class}, tree="[0,1]") private Output> deviceIds; /** - * @return Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @return Required if `type = "browser"`. Array with the different device IDs used to run the test. * */ public Output>> deviceIds() { @@ -655,6 +819,26 @@ public Output> locations() { public Output> message() { return Codegen.optional(this.message); } + @Export(name="mobileOptionsList", refs={SyntheticsTestMobileOptionsList.class}, tree="[0]") + private Output mobileOptionsList; + + public Output> mobileOptionsList() { + return Codegen.optional(this.mobileOptionsList); + } + /** + * Steps for mobile tests + * + */ + @Export(name="mobileSteps", refs={List.class,SyntheticsTestMobileStep.class}, tree="[0,1]") + private Output> mobileSteps; + + /** + * @return Steps for mobile tests + * + */ + public Output>> mobileSteps() { + return Codegen.optional(this.mobileSteps); + } /** * ID of the monitor associated with the Datadog synthetics test. * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java index 7c8dc77eb..e989140fb 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/SyntheticsTestArgs.java @@ -10,6 +10,8 @@ import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs; import com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs; import com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepArgs; import com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs; import com.pulumi.datadog.inputs.SyntheticsTestRequestBasicauthArgs; import com.pulumi.datadog.inputs.SyntheticsTestRequestClientCertificateArgs; @@ -90,6 +92,21 @@ public Optional>> browserVariable return Optional.ofNullable(this.browserVariables); } + /** + * Initial application arguments for the mobile test. + * + */ + @Import(name="configInitialApplicationArguments") + private @Nullable Output> configInitialApplicationArguments; + + /** + * @return Initial application arguments for the mobile test. + * + */ + public Optional>> configInitialApplicationArguments() { + return Optional.ofNullable(this.configInitialApplicationArguments); + } + /** * Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. * @@ -106,14 +123,14 @@ public Optional>> configVariables( } /** - * Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * Required if `type = "browser"`. Array with the different device IDs used to run the test. * */ @Import(name="deviceIds") private @Nullable Output> deviceIds; /** - * @return Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @return Required if `type = "browser"`. Array with the different device IDs used to run the test. * */ public Optional>> deviceIds() { @@ -165,6 +182,28 @@ public Optional> message() { return Optional.ofNullable(this.message); } + @Import(name="mobileOptionsList") + private @Nullable Output mobileOptionsList; + + public Optional> mobileOptionsList() { + return Optional.ofNullable(this.mobileOptionsList); + } + + /** + * Steps for mobile tests + * + */ + @Import(name="mobileSteps") + private @Nullable Output> mobileSteps; + + /** + * @return Steps for mobile tests + * + */ + public Optional>> mobileSteps() { + return Optional.ofNullable(this.mobileSteps); + } + /** * Name of Datadog synthetics test. * @@ -404,11 +443,14 @@ private SyntheticsTestArgs(SyntheticsTestArgs $) { this.assertions = $.assertions; this.browserSteps = $.browserSteps; this.browserVariables = $.browserVariables; + this.configInitialApplicationArguments = $.configInitialApplicationArguments; this.configVariables = $.configVariables; this.deviceIds = $.deviceIds; this.forceDeleteDependencies = $.forceDeleteDependencies; this.locations = $.locations; this.message = $.message; + this.mobileOptionsList = $.mobileOptionsList; + this.mobileSteps = $.mobileSteps; this.name = $.name; this.optionsList = $.optionsList; this.requestBasicauth = $.requestBasicauth; @@ -569,6 +611,27 @@ public Builder browserVariables(SyntheticsTestBrowserVariableArgs... browserVari return browserVariables(List.of(browserVariables)); } + /** + * @param configInitialApplicationArguments Initial application arguments for the mobile test. + * + * @return builder + * + */ + public Builder configInitialApplicationArguments(@Nullable Output> configInitialApplicationArguments) { + $.configInitialApplicationArguments = configInitialApplicationArguments; + return this; + } + + /** + * @param configInitialApplicationArguments Initial application arguments for the mobile test. + * + * @return builder + * + */ + public Builder configInitialApplicationArguments(Map configInitialApplicationArguments) { + return configInitialApplicationArguments(Output.of(configInitialApplicationArguments)); + } + /** * @param configVariables Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. * @@ -601,7 +664,7 @@ public Builder configVariables(SyntheticsTestConfigVariableArgs... configVariabl } /** - * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. * * @return builder * @@ -612,7 +675,7 @@ public Builder deviceIds(@Nullable Output> deviceIds) { } /** - * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. * * @return builder * @@ -622,7 +685,7 @@ public Builder deviceIds(List deviceIds) { } /** - * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. * * @return builder * @@ -704,6 +767,46 @@ public Builder message(String message) { return message(Output.of(message)); } + public Builder mobileOptionsList(@Nullable Output mobileOptionsList) { + $.mobileOptionsList = mobileOptionsList; + return this; + } + + public Builder mobileOptionsList(SyntheticsTestMobileOptionsListArgs mobileOptionsList) { + return mobileOptionsList(Output.of(mobileOptionsList)); + } + + /** + * @param mobileSteps Steps for mobile tests + * + * @return builder + * + */ + public Builder mobileSteps(@Nullable Output> mobileSteps) { + $.mobileSteps = mobileSteps; + return this; + } + + /** + * @param mobileSteps Steps for mobile tests + * + * @return builder + * + */ + public Builder mobileSteps(List mobileSteps) { + return mobileSteps(Output.of(mobileSteps)); + } + + /** + * @param mobileSteps Steps for mobile tests + * + * @return builder + * + */ + public Builder mobileSteps(SyntheticsTestMobileStepArgs... mobileSteps) { + return mobileSteps(List.of(mobileSteps)); + } + /** * @param name Name of Datadog synthetics test. * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/AwsFunctions.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/AwsFunctions.java index 9d9b60c5e..d0c5c0191 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/aws/AwsFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/AwsFunctions.java @@ -6,6 +6,8 @@ import com.pulumi.core.Output; import com.pulumi.core.TypeShape; import com.pulumi.datadog.Utilities; +import com.pulumi.datadog.aws.outputs.GetIntegrationAvailableLogsServicesResult; +import com.pulumi.datadog.aws.outputs.GetIntegrationAvailableNamespacesResult; import com.pulumi.datadog.aws.outputs.GetIntegrationLogsServicesResult; import com.pulumi.datadog.aws.outputs.GetIntegrationNamespaceRulesResult; import com.pulumi.deployment.Deployment; @@ -15,6 +17,104 @@ import java.util.concurrent.CompletableFuture; public final class AwsFunctions { + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableLogsServices() { + return getIntegrationAvailableLogsServices(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static CompletableFuture getIntegrationAvailableLogsServicesPlain() { + return getIntegrationAvailableLogsServicesPlain(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableLogsServices(InvokeArgs args) { + return getIntegrationAvailableLogsServices(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static CompletableFuture getIntegrationAvailableLogsServicesPlain(InvokeArgs args) { + return getIntegrationAvailableLogsServicesPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableLogsServices(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", TypeShape.of(GetIntegrationAvailableLogsServicesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableLogsServices(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", TypeShape.of(GetIntegrationAvailableLogsServicesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static CompletableFuture getIntegrationAvailableLogsServicesPlain(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", TypeShape.of(GetIntegrationAvailableLogsServicesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableNamespaces() { + return getIntegrationAvailableNamespaces(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static CompletableFuture getIntegrationAvailableNamespacesPlain() { + return getIntegrationAvailableNamespacesPlain(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableNamespaces(InvokeArgs args) { + return getIntegrationAvailableNamespaces(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static CompletableFuture getIntegrationAvailableNamespacesPlain(InvokeArgs args) { + return getIntegrationAvailableNamespacesPlain(args, InvokeOptions.Empty); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableNamespaces(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", TypeShape.of(GetIntegrationAvailableNamespacesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static Output getIntegrationAvailableNamespaces(InvokeArgs args, InvokeOutputOptions options) { + return Deployment.getInstance().invoke("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", TypeShape.of(GetIntegrationAvailableNamespacesResult.class), args, Utilities.withVersion(options)); + } + /** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `datadog.aws.IntegrationAccount` resource. + * + */ + public static CompletableFuture getIntegrationAvailableNamespacesPlain(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", TypeShape.of(GetIntegrationAvailableNamespacesResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to retrieve all AWS log ready services. * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccount.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccount.java new file mode 100644 index 000000000..5a5357413 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccount.java @@ -0,0 +1,186 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.datadog.Utilities; +import com.pulumi.datadog.aws.IntegrationAccountArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountState; +import com.pulumi.datadog.aws.outputs.IntegrationAccountAuthConfig; +import com.pulumi.datadog.aws.outputs.IntegrationAccountAwsRegions; +import com.pulumi.datadog.aws.outputs.IntegrationAccountLogsConfig; +import com.pulumi.datadog.aws.outputs.IntegrationAccountMetricsConfig; +import com.pulumi.datadog.aws.outputs.IntegrationAccountResourcesConfig; +import com.pulumi.datadog.aws.outputs.IntegrationAccountTracesConfig; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Import + * + * ```sh + * $ pulumi import datadog:aws/integrationAccount:IntegrationAccount example "<datadog-aws-account-config-id>" + * ``` + * + * AWS Account Config ID can be retrieved by using the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and querying by AWS Account ID, or by accessing the `id` field of an existing `datadog_integration_aws` resource. + * + */ +@ResourceType(type="datadog:aws/integrationAccount:IntegrationAccount") +public class IntegrationAccount extends com.pulumi.resources.CustomResource { + /** + * Tags to apply to all metrics in the account + * + */ + @Export(name="accountTags", refs={List.class,String.class}, tree="[0,1]") + private Output> accountTags; + + /** + * @return Tags to apply to all metrics in the account + * + */ + public Output> accountTags() { + return this.accountTags; + } + @Export(name="authConfig", refs={IntegrationAccountAuthConfig.class}, tree="[0]") + private Output authConfig; + + public Output> authConfig() { + return Codegen.optional(this.authConfig); + } + /** + * Your AWS Account ID without dashes. + * + */ + @Export(name="awsAccountId", refs={String.class}, tree="[0]") + private Output awsAccountId; + + /** + * @return Your AWS Account ID without dashes. + * + */ + public Output awsAccountId() { + return this.awsAccountId; + } + /** + * AWS Account partition + * + */ + @Export(name="awsPartition", refs={String.class}, tree="[0]") + private Output awsPartition; + + /** + * @return AWS Account partition + * + */ + public Output awsPartition() { + return this.awsPartition; + } + /** + * AWS Regions to collect data from. + * + */ + @Export(name="awsRegions", refs={IntegrationAccountAwsRegions.class}, tree="[0]") + private Output awsRegions; + + /** + * @return AWS Regions to collect data from. + * + */ + public Output> awsRegions() { + return Codegen.optional(this.awsRegions); + } + @Export(name="logsConfig", refs={IntegrationAccountLogsConfig.class}, tree="[0]") + private Output logsConfig; + + public Output> logsConfig() { + return Codegen.optional(this.logsConfig); + } + @Export(name="metricsConfig", refs={IntegrationAccountMetricsConfig.class}, tree="[0]") + private Output metricsConfig; + + public Output> metricsConfig() { + return Codegen.optional(this.metricsConfig); + } + @Export(name="resourcesConfig", refs={IntegrationAccountResourcesConfig.class}, tree="[0]") + private Output resourcesConfig; + + public Output> resourcesConfig() { + return Codegen.optional(this.resourcesConfig); + } + /** + * AWS Traces Collection config. + * + */ + @Export(name="tracesConfig", refs={IntegrationAccountTracesConfig.class}, tree="[0]") + private Output tracesConfig; + + /** + * @return AWS Traces Collection config. + * + */ + public Output> tracesConfig() { + return Codegen.optional(this.tracesConfig); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public IntegrationAccount(java.lang.String name) { + this(name, IntegrationAccountArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public IntegrationAccount(java.lang.String name, IntegrationAccountArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public IntegrationAccount(java.lang.String name, IntegrationAccountArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("datadog:aws/integrationAccount:IntegrationAccount", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private IntegrationAccount(java.lang.String name, Output id, @Nullable IntegrationAccountState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("datadog:aws/integrationAccount:IntegrationAccount", name, state, makeResourceOptions(options, id), false); + } + + private static IntegrationAccountArgs makeArgs(IntegrationAccountArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? IntegrationAccountArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host 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 + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static IntegrationAccount get(java.lang.String name, Output id, @Nullable IntegrationAccountState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new IntegrationAccount(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccountArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccountArgs.java new file mode 100644 index 000000000..3c6471ffe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/IntegrationAccountArgs.java @@ -0,0 +1,323 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.aws.inputs.IntegrationAccountAuthConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountAwsRegionsArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountLogsConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountMetricsConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountResourcesConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountTracesConfigArgs; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountArgs Empty = new IntegrationAccountArgs(); + + /** + * Tags to apply to all metrics in the account + * + */ + @Import(name="accountTags") + private @Nullable Output> accountTags; + + /** + * @return Tags to apply to all metrics in the account + * + */ + public Optional>> accountTags() { + return Optional.ofNullable(this.accountTags); + } + + @Import(name="authConfig") + private @Nullable Output authConfig; + + public Optional> authConfig() { + return Optional.ofNullable(this.authConfig); + } + + /** + * Your AWS Account ID without dashes. + * + */ + @Import(name="awsAccountId", required=true) + private Output awsAccountId; + + /** + * @return Your AWS Account ID without dashes. + * + */ + public Output awsAccountId() { + return this.awsAccountId; + } + + /** + * AWS Account partition + * + */ + @Import(name="awsPartition", required=true) + private Output awsPartition; + + /** + * @return AWS Account partition + * + */ + public Output awsPartition() { + return this.awsPartition; + } + + /** + * AWS Regions to collect data from. + * + */ + @Import(name="awsRegions") + private @Nullable Output awsRegions; + + /** + * @return AWS Regions to collect data from. + * + */ + public Optional> awsRegions() { + return Optional.ofNullable(this.awsRegions); + } + + @Import(name="logsConfig") + private @Nullable Output logsConfig; + + public Optional> logsConfig() { + return Optional.ofNullable(this.logsConfig); + } + + @Import(name="metricsConfig") + private @Nullable Output metricsConfig; + + public Optional> metricsConfig() { + return Optional.ofNullable(this.metricsConfig); + } + + @Import(name="resourcesConfig") + private @Nullable Output resourcesConfig; + + public Optional> resourcesConfig() { + return Optional.ofNullable(this.resourcesConfig); + } + + /** + * AWS Traces Collection config. + * + */ + @Import(name="tracesConfig") + private @Nullable Output tracesConfig; + + /** + * @return AWS Traces Collection config. + * + */ + public Optional> tracesConfig() { + return Optional.ofNullable(this.tracesConfig); + } + + private IntegrationAccountArgs() {} + + private IntegrationAccountArgs(IntegrationAccountArgs $) { + this.accountTags = $.accountTags; + this.authConfig = $.authConfig; + this.awsAccountId = $.awsAccountId; + this.awsPartition = $.awsPartition; + this.awsRegions = $.awsRegions; + this.logsConfig = $.logsConfig; + this.metricsConfig = $.metricsConfig; + this.resourcesConfig = $.resourcesConfig; + this.tracesConfig = $.tracesConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountArgs $; + + public Builder() { + $ = new IntegrationAccountArgs(); + } + + public Builder(IntegrationAccountArgs defaults) { + $ = new IntegrationAccountArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountTags Tags to apply to all metrics in the account + * + * @return builder + * + */ + public Builder accountTags(@Nullable Output> accountTags) { + $.accountTags = accountTags; + return this; + } + + /** + * @param accountTags Tags to apply to all metrics in the account + * + * @return builder + * + */ + public Builder accountTags(List accountTags) { + return accountTags(Output.of(accountTags)); + } + + /** + * @param accountTags Tags to apply to all metrics in the account + * + * @return builder + * + */ + public Builder accountTags(String... accountTags) { + return accountTags(List.of(accountTags)); + } + + public Builder authConfig(@Nullable Output authConfig) { + $.authConfig = authConfig; + return this; + } + + public Builder authConfig(IntegrationAccountAuthConfigArgs authConfig) { + return authConfig(Output.of(authConfig)); + } + + /** + * @param awsAccountId Your AWS Account ID without dashes. + * + * @return builder + * + */ + public Builder awsAccountId(Output awsAccountId) { + $.awsAccountId = awsAccountId; + return this; + } + + /** + * @param awsAccountId Your AWS Account ID without dashes. + * + * @return builder + * + */ + public Builder awsAccountId(String awsAccountId) { + return awsAccountId(Output.of(awsAccountId)); + } + + /** + * @param awsPartition AWS Account partition + * + * @return builder + * + */ + public Builder awsPartition(Output awsPartition) { + $.awsPartition = awsPartition; + return this; + } + + /** + * @param awsPartition AWS Account partition + * + * @return builder + * + */ + public Builder awsPartition(String awsPartition) { + return awsPartition(Output.of(awsPartition)); + } + + /** + * @param awsRegions AWS Regions to collect data from. + * + * @return builder + * + */ + public Builder awsRegions(@Nullable Output awsRegions) { + $.awsRegions = awsRegions; + return this; + } + + /** + * @param awsRegions AWS Regions to collect data from. + * + * @return builder + * + */ + public Builder awsRegions(IntegrationAccountAwsRegionsArgs awsRegions) { + return awsRegions(Output.of(awsRegions)); + } + + public Builder logsConfig(@Nullable Output logsConfig) { + $.logsConfig = logsConfig; + return this; + } + + public Builder logsConfig(IntegrationAccountLogsConfigArgs logsConfig) { + return logsConfig(Output.of(logsConfig)); + } + + public Builder metricsConfig(@Nullable Output metricsConfig) { + $.metricsConfig = metricsConfig; + return this; + } + + public Builder metricsConfig(IntegrationAccountMetricsConfigArgs metricsConfig) { + return metricsConfig(Output.of(metricsConfig)); + } + + public Builder resourcesConfig(@Nullable Output resourcesConfig) { + $.resourcesConfig = resourcesConfig; + return this; + } + + public Builder resourcesConfig(IntegrationAccountResourcesConfigArgs resourcesConfig) { + return resourcesConfig(Output.of(resourcesConfig)); + } + + /** + * @param tracesConfig AWS Traces Collection config. + * + * @return builder + * + */ + public Builder tracesConfig(@Nullable Output tracesConfig) { + $.tracesConfig = tracesConfig; + return this; + } + + /** + * @param tracesConfig AWS Traces Collection config. + * + * @return builder + * + */ + public Builder tracesConfig(IntegrationAccountTracesConfigArgs tracesConfig) { + return tracesConfig(Output.of(tracesConfig)); + } + + public IntegrationAccountArgs build() { + if ($.awsAccountId == null) { + throw new MissingRequiredPropertyException("IntegrationAccountArgs", "awsAccountId"); + } + if ($.awsPartition == null) { + throw new MissingRequiredPropertyException("IntegrationAccountArgs", "awsPartition"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigArgs.java new file mode 100644 index 000000000..354b5432e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigArgs.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.aws.inputs.IntegrationAccountAuthConfigAwsAuthConfigKeysArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountAuthConfigAwsAuthConfigRoleArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountAuthConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountAuthConfigArgs Empty = new IntegrationAccountAuthConfigArgs(); + + @Import(name="awsAuthConfigKeys") + private @Nullable Output awsAuthConfigKeys; + + public Optional> awsAuthConfigKeys() { + return Optional.ofNullable(this.awsAuthConfigKeys); + } + + @Import(name="awsAuthConfigRole") + private @Nullable Output awsAuthConfigRole; + + public Optional> awsAuthConfigRole() { + return Optional.ofNullable(this.awsAuthConfigRole); + } + + private IntegrationAccountAuthConfigArgs() {} + + private IntegrationAccountAuthConfigArgs(IntegrationAccountAuthConfigArgs $) { + this.awsAuthConfigKeys = $.awsAuthConfigKeys; + this.awsAuthConfigRole = $.awsAuthConfigRole; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountAuthConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountAuthConfigArgs $; + + public Builder() { + $ = new IntegrationAccountAuthConfigArgs(); + } + + public Builder(IntegrationAccountAuthConfigArgs defaults) { + $ = new IntegrationAccountAuthConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder awsAuthConfigKeys(@Nullable Output awsAuthConfigKeys) { + $.awsAuthConfigKeys = awsAuthConfigKeys; + return this; + } + + public Builder awsAuthConfigKeys(IntegrationAccountAuthConfigAwsAuthConfigKeysArgs awsAuthConfigKeys) { + return awsAuthConfigKeys(Output.of(awsAuthConfigKeys)); + } + + public Builder awsAuthConfigRole(@Nullable Output awsAuthConfigRole) { + $.awsAuthConfigRole = awsAuthConfigRole; + return this; + } + + public Builder awsAuthConfigRole(IntegrationAccountAuthConfigAwsAuthConfigRoleArgs awsAuthConfigRole) { + return awsAuthConfigRole(Output.of(awsAuthConfigRole)); + } + + public IntegrationAccountAuthConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.java new file mode 100644 index 000000000..3773ad3f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigKeysArgs.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountAuthConfigAwsAuthConfigKeysArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountAuthConfigAwsAuthConfigKeysArgs Empty = new IntegrationAccountAuthConfigAwsAuthConfigKeysArgs(); + + /** + * AWS Access Key ID + * + */ + @Import(name="accessKeyId") + private @Nullable Output accessKeyId; + + /** + * @return AWS Access Key ID + * + */ + public Optional> accessKeyId() { + return Optional.ofNullable(this.accessKeyId); + } + + @Import(name="secretAccessKey") + private @Nullable Output secretAccessKey; + + public Optional> secretAccessKey() { + return Optional.ofNullable(this.secretAccessKey); + } + + private IntegrationAccountAuthConfigAwsAuthConfigKeysArgs() {} + + private IntegrationAccountAuthConfigAwsAuthConfigKeysArgs(IntegrationAccountAuthConfigAwsAuthConfigKeysArgs $) { + this.accessKeyId = $.accessKeyId; + this.secretAccessKey = $.secretAccessKey; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountAuthConfigAwsAuthConfigKeysArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountAuthConfigAwsAuthConfigKeysArgs $; + + public Builder() { + $ = new IntegrationAccountAuthConfigAwsAuthConfigKeysArgs(); + } + + public Builder(IntegrationAccountAuthConfigAwsAuthConfigKeysArgs defaults) { + $ = new IntegrationAccountAuthConfigAwsAuthConfigKeysArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accessKeyId AWS Access Key ID + * + * @return builder + * + */ + public Builder accessKeyId(@Nullable Output accessKeyId) { + $.accessKeyId = accessKeyId; + return this; + } + + /** + * @param accessKeyId AWS Access Key ID + * + * @return builder + * + */ + public Builder accessKeyId(String accessKeyId) { + return accessKeyId(Output.of(accessKeyId)); + } + + public Builder secretAccessKey(@Nullable Output secretAccessKey) { + $.secretAccessKey = secretAccessKey; + return this; + } + + public Builder secretAccessKey(String secretAccessKey) { + return secretAccessKey(Output.of(secretAccessKey)); + } + + public IntegrationAccountAuthConfigAwsAuthConfigKeysArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.java new file mode 100644 index 000000000..0813c59ed --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAuthConfigAwsAuthConfigRoleArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountAuthConfigAwsAuthConfigRoleArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountAuthConfigAwsAuthConfigRoleArgs Empty = new IntegrationAccountAuthConfigAwsAuthConfigRoleArgs(); + + /** + * AWS IAM External ID for associated role + * + */ + @Import(name="externalId") + private @Nullable Output externalId; + + /** + * @return AWS IAM External ID for associated role + * + */ + public Optional> externalId() { + return Optional.ofNullable(this.externalId); + } + + /** + * AWS IAM Role name + * + */ + @Import(name="roleName") + private @Nullable Output roleName; + + /** + * @return AWS IAM Role name + * + */ + public Optional> roleName() { + return Optional.ofNullable(this.roleName); + } + + private IntegrationAccountAuthConfigAwsAuthConfigRoleArgs() {} + + private IntegrationAccountAuthConfigAwsAuthConfigRoleArgs(IntegrationAccountAuthConfigAwsAuthConfigRoleArgs $) { + this.externalId = $.externalId; + this.roleName = $.roleName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountAuthConfigAwsAuthConfigRoleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountAuthConfigAwsAuthConfigRoleArgs $; + + public Builder() { + $ = new IntegrationAccountAuthConfigAwsAuthConfigRoleArgs(); + } + + public Builder(IntegrationAccountAuthConfigAwsAuthConfigRoleArgs defaults) { + $ = new IntegrationAccountAuthConfigAwsAuthConfigRoleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param externalId AWS IAM External ID for associated role + * + * @return builder + * + */ + public Builder externalId(@Nullable Output externalId) { + $.externalId = externalId; + return this; + } + + /** + * @param externalId AWS IAM External ID for associated role + * + * @return builder + * + */ + public Builder externalId(String externalId) { + return externalId(Output.of(externalId)); + } + + /** + * @param roleName AWS IAM Role name + * + * @return builder + * + */ + public Builder roleName(@Nullable Output roleName) { + $.roleName = roleName; + return this; + } + + /** + * @param roleName AWS IAM Role name + * + * @return builder + * + */ + public Builder roleName(String roleName) { + return roleName(Output.of(roleName)); + } + + public IntegrationAccountAuthConfigAwsAuthConfigRoleArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAwsRegionsArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAwsRegionsArgs.java new file mode 100644 index 000000000..4445dcf84 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountAwsRegionsArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountAwsRegionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountAwsRegionsArgs Empty = new IntegrationAccountAwsRegionsArgs(); + + /** + * Include all regions. Defaults to `true`. + * + */ + @Import(name="includeAll") + private @Nullable Output includeAll; + + /** + * @return Include all regions. Defaults to `true`. + * + */ + public Optional> includeAll() { + return Optional.ofNullable(this.includeAll); + } + + /** + * Include only these regions. + * + */ + @Import(name="includeOnlies") + private @Nullable Output> includeOnlies; + + /** + * @return Include only these regions. + * + */ + public Optional>> includeOnlies() { + return Optional.ofNullable(this.includeOnlies); + } + + private IntegrationAccountAwsRegionsArgs() {} + + private IntegrationAccountAwsRegionsArgs(IntegrationAccountAwsRegionsArgs $) { + this.includeAll = $.includeAll; + this.includeOnlies = $.includeOnlies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountAwsRegionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountAwsRegionsArgs $; + + public Builder() { + $ = new IntegrationAccountAwsRegionsArgs(); + } + + public Builder(IntegrationAccountAwsRegionsArgs defaults) { + $ = new IntegrationAccountAwsRegionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param includeAll Include all regions. Defaults to `true`. + * + * @return builder + * + */ + public Builder includeAll(@Nullable Output includeAll) { + $.includeAll = includeAll; + return this; + } + + /** + * @param includeAll Include all regions. Defaults to `true`. + * + * @return builder + * + */ + public Builder includeAll(Boolean includeAll) { + return includeAll(Output.of(includeAll)); + } + + /** + * @param includeOnlies Include only these regions. + * + * @return builder + * + */ + public Builder includeOnlies(@Nullable Output> includeOnlies) { + $.includeOnlies = includeOnlies; + return this; + } + + /** + * @param includeOnlies Include only these regions. + * + * @return builder + * + */ + public Builder includeOnlies(List includeOnlies) { + return includeOnlies(Output.of(includeOnlies)); + } + + /** + * @param includeOnlies Include only these regions. + * + * @return builder + * + */ + public Builder includeOnlies(String... includeOnlies) { + return includeOnlies(List.of(includeOnlies)); + } + + public IntegrationAccountAwsRegionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigArgs.java new file mode 100644 index 000000000..1c71da755 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.aws.inputs.IntegrationAccountLogsConfigLambdaForwarderArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountLogsConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountLogsConfigArgs Empty = new IntegrationAccountLogsConfigArgs(); + + @Import(name="lambdaForwarder") + private @Nullable Output lambdaForwarder; + + public Optional> lambdaForwarder() { + return Optional.ofNullable(this.lambdaForwarder); + } + + private IntegrationAccountLogsConfigArgs() {} + + private IntegrationAccountLogsConfigArgs(IntegrationAccountLogsConfigArgs $) { + this.lambdaForwarder = $.lambdaForwarder; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountLogsConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountLogsConfigArgs $; + + public Builder() { + $ = new IntegrationAccountLogsConfigArgs(); + } + + public Builder(IntegrationAccountLogsConfigArgs defaults) { + $ = new IntegrationAccountLogsConfigArgs(Objects.requireNonNull(defaults)); + } + + public Builder lambdaForwarder(@Nullable Output lambdaForwarder) { + $.lambdaForwarder = lambdaForwarder; + return this; + } + + public Builder lambdaForwarder(IntegrationAccountLogsConfigLambdaForwarderArgs lambdaForwarder) { + return lambdaForwarder(Output.of(lambdaForwarder)); + } + + public IntegrationAccountLogsConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.java new file mode 100644 index 000000000..21e0b99b3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountLogsConfigLambdaForwarderArgs.java @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountLogsConfigLambdaForwarderArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountLogsConfigLambdaForwarderArgs Empty = new IntegrationAccountLogsConfigLambdaForwarderArgs(); + + /** + * List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + */ + @Import(name="lambdas") + private @Nullable Output> lambdas; + + /** + * @return List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + */ + public Optional>> lambdas() { + return Optional.ofNullable(this.lambdas); + } + + /** + * List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + */ + @Import(name="sources") + private @Nullable Output> sources; + + /** + * @return List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + */ + public Optional>> sources() { + return Optional.ofNullable(this.sources); + } + + private IntegrationAccountLogsConfigLambdaForwarderArgs() {} + + private IntegrationAccountLogsConfigLambdaForwarderArgs(IntegrationAccountLogsConfigLambdaForwarderArgs $) { + this.lambdas = $.lambdas; + this.sources = $.sources; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountLogsConfigLambdaForwarderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountLogsConfigLambdaForwarderArgs $; + + public Builder() { + $ = new IntegrationAccountLogsConfigLambdaForwarderArgs(); + } + + public Builder(IntegrationAccountLogsConfigLambdaForwarderArgs defaults) { + $ = new IntegrationAccountLogsConfigLambdaForwarderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param lambdas List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + * @return builder + * + */ + public Builder lambdas(@Nullable Output> lambdas) { + $.lambdas = lambdas; + return this; + } + + /** + * @param lambdas List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + * @return builder + * + */ + public Builder lambdas(List lambdas) { + return lambdas(Output.of(lambdas)); + } + + /** + * @param lambdas List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + * @return builder + * + */ + public Builder lambdas(String... lambdas) { + return lambdas(List.of(lambdas)); + } + + /** + * @param sources List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + * @return builder + * + */ + public Builder sources(@Nullable Output> sources) { + $.sources = sources; + return this; + } + + /** + * @param sources List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + * @return builder + * + */ + public Builder sources(List sources) { + return sources(Output.of(sources)); + } + + /** + * @param sources List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + * @return builder + * + */ + public Builder sources(String... sources) { + return sources(List.of(sources)); + } + + public IntegrationAccountLogsConfigLambdaForwarderArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigArgs.java new file mode 100644 index 000000000..ee052530c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigArgs.java @@ -0,0 +1,261 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.aws.inputs.IntegrationAccountMetricsConfigNamespaceFiltersArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountMetricsConfigTagFilterArgs; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountMetricsConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountMetricsConfigArgs Empty = new IntegrationAccountMetricsConfigArgs(); + + /** + * Enable EC2 automute for AWS metrics Defaults to `true`. + * + */ + @Import(name="automuteEnabled") + private @Nullable Output automuteEnabled; + + /** + * @return Enable EC2 automute for AWS metrics Defaults to `true`. + * + */ + public Optional> automuteEnabled() { + return Optional.ofNullable(this.automuteEnabled); + } + + /** + * Enable CloudWatch alarms collection Defaults to `false`. + * + */ + @Import(name="collectCloudwatchAlarms") + private @Nullable Output collectCloudwatchAlarms; + + /** + * @return Enable CloudWatch alarms collection Defaults to `false`. + * + */ + public Optional> collectCloudwatchAlarms() { + return Optional.ofNullable(this.collectCloudwatchAlarms); + } + + /** + * Enable custom metrics collection Defaults to `false`. + * + */ + @Import(name="collectCustomMetrics") + private @Nullable Output collectCustomMetrics; + + /** + * @return Enable custom metrics collection Defaults to `false`. + * + */ + public Optional> collectCustomMetrics() { + return Optional.ofNullable(this.collectCustomMetrics); + } + + /** + * Enable AWS metrics collection Defaults to `true`. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Enable AWS metrics collection Defaults to `true`. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + @Import(name="namespaceFilters") + private @Nullable Output namespaceFilters; + + public Optional> namespaceFilters() { + return Optional.ofNullable(this.namespaceFilters); + } + + /** + * AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + */ + @Import(name="tagFilters") + private @Nullable Output> tagFilters; + + /** + * @return AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + */ + public Optional>> tagFilters() { + return Optional.ofNullable(this.tagFilters); + } + + private IntegrationAccountMetricsConfigArgs() {} + + private IntegrationAccountMetricsConfigArgs(IntegrationAccountMetricsConfigArgs $) { + this.automuteEnabled = $.automuteEnabled; + this.collectCloudwatchAlarms = $.collectCloudwatchAlarms; + this.collectCustomMetrics = $.collectCustomMetrics; + this.enabled = $.enabled; + this.namespaceFilters = $.namespaceFilters; + this.tagFilters = $.tagFilters; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountMetricsConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountMetricsConfigArgs $; + + public Builder() { + $ = new IntegrationAccountMetricsConfigArgs(); + } + + public Builder(IntegrationAccountMetricsConfigArgs defaults) { + $ = new IntegrationAccountMetricsConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param automuteEnabled Enable EC2 automute for AWS metrics Defaults to `true`. + * + * @return builder + * + */ + public Builder automuteEnabled(@Nullable Output automuteEnabled) { + $.automuteEnabled = automuteEnabled; + return this; + } + + /** + * @param automuteEnabled Enable EC2 automute for AWS metrics Defaults to `true`. + * + * @return builder + * + */ + public Builder automuteEnabled(Boolean automuteEnabled) { + return automuteEnabled(Output.of(automuteEnabled)); + } + + /** + * @param collectCloudwatchAlarms Enable CloudWatch alarms collection Defaults to `false`. + * + * @return builder + * + */ + public Builder collectCloudwatchAlarms(@Nullable Output collectCloudwatchAlarms) { + $.collectCloudwatchAlarms = collectCloudwatchAlarms; + return this; + } + + /** + * @param collectCloudwatchAlarms Enable CloudWatch alarms collection Defaults to `false`. + * + * @return builder + * + */ + public Builder collectCloudwatchAlarms(Boolean collectCloudwatchAlarms) { + return collectCloudwatchAlarms(Output.of(collectCloudwatchAlarms)); + } + + /** + * @param collectCustomMetrics Enable custom metrics collection Defaults to `false`. + * + * @return builder + * + */ + public Builder collectCustomMetrics(@Nullable Output collectCustomMetrics) { + $.collectCustomMetrics = collectCustomMetrics; + return this; + } + + /** + * @param collectCustomMetrics Enable custom metrics collection Defaults to `false`. + * + * @return builder + * + */ + public Builder collectCustomMetrics(Boolean collectCustomMetrics) { + return collectCustomMetrics(Output.of(collectCustomMetrics)); + } + + /** + * @param enabled Enable AWS metrics collection Defaults to `true`. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Enable AWS metrics collection Defaults to `true`. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + public Builder namespaceFilters(@Nullable Output namespaceFilters) { + $.namespaceFilters = namespaceFilters; + return this; + } + + public Builder namespaceFilters(IntegrationAccountMetricsConfigNamespaceFiltersArgs namespaceFilters) { + return namespaceFilters(Output.of(namespaceFilters)); + } + + /** + * @param tagFilters AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + * @return builder + * + */ + public Builder tagFilters(@Nullable Output> tagFilters) { + $.tagFilters = tagFilters; + return this; + } + + /** + * @param tagFilters AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + * @return builder + * + */ + public Builder tagFilters(List tagFilters) { + return tagFilters(Output.of(tagFilters)); + } + + /** + * @param tagFilters AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + * @return builder + * + */ + public Builder tagFilters(IntegrationAccountMetricsConfigTagFilterArgs... tagFilters) { + return tagFilters(List.of(tagFilters)); + } + + public IntegrationAccountMetricsConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.java new file mode 100644 index 000000000..480977e4a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigNamespaceFiltersArgs.java @@ -0,0 +1,141 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountMetricsConfigNamespaceFiltersArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountMetricsConfigNamespaceFiltersArgs Empty = new IntegrationAccountMetricsConfigNamespaceFiltersArgs(); + + /** + * Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + */ + @Import(name="excludeOnlies") + private @Nullable Output> excludeOnlies; + + /** + * @return Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + */ + public Optional>> excludeOnlies() { + return Optional.ofNullable(this.excludeOnlies); + } + + /** + * Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + */ + @Import(name="includeOnlies") + private @Nullable Output> includeOnlies; + + /** + * @return Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + */ + public Optional>> includeOnlies() { + return Optional.ofNullable(this.includeOnlies); + } + + private IntegrationAccountMetricsConfigNamespaceFiltersArgs() {} + + private IntegrationAccountMetricsConfigNamespaceFiltersArgs(IntegrationAccountMetricsConfigNamespaceFiltersArgs $) { + this.excludeOnlies = $.excludeOnlies; + this.includeOnlies = $.includeOnlies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountMetricsConfigNamespaceFiltersArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountMetricsConfigNamespaceFiltersArgs $; + + public Builder() { + $ = new IntegrationAccountMetricsConfigNamespaceFiltersArgs(); + } + + public Builder(IntegrationAccountMetricsConfigNamespaceFiltersArgs defaults) { + $ = new IntegrationAccountMetricsConfigNamespaceFiltersArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param excludeOnlies Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + * @return builder + * + */ + public Builder excludeOnlies(@Nullable Output> excludeOnlies) { + $.excludeOnlies = excludeOnlies; + return this; + } + + /** + * @param excludeOnlies Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + * @return builder + * + */ + public Builder excludeOnlies(List excludeOnlies) { + return excludeOnlies(Output.of(excludeOnlies)); + } + + /** + * @param excludeOnlies Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + * @return builder + * + */ + public Builder excludeOnlies(String... excludeOnlies) { + return excludeOnlies(List.of(excludeOnlies)); + } + + /** + * @param includeOnlies Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + * @return builder + * + */ + public Builder includeOnlies(@Nullable Output> includeOnlies) { + $.includeOnlies = includeOnlies; + return this; + } + + /** + * @param includeOnlies Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + * @return builder + * + */ + public Builder includeOnlies(List includeOnlies) { + return includeOnlies(Output.of(includeOnlies)); + } + + /** + * @param includeOnlies Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + * @return builder + * + */ + public Builder includeOnlies(String... includeOnlies) { + return includeOnlies(List.of(includeOnlies)); + } + + public IntegrationAccountMetricsConfigNamespaceFiltersArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigTagFilterArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigTagFilterArgs.java new file mode 100644 index 000000000..34ae594ca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountMetricsConfigTagFilterArgs.java @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountMetricsConfigTagFilterArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountMetricsConfigTagFilterArgs Empty = new IntegrationAccountMetricsConfigTagFilterArgs(); + + /** + * The AWS service for which the tag filters defined in `tags` will be applied. + * + */ + @Import(name="namespace", required=true) + private Output namespace; + + /** + * @return The AWS service for which the tag filters defined in `tags` will be applied. + * + */ + public Output namespace() { + return this.namespace; + } + + /** + * The AWS resource tags to filter on for the service specified by `namespace`. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return The AWS resource tags to filter on for the service specified by `namespace`. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private IntegrationAccountMetricsConfigTagFilterArgs() {} + + private IntegrationAccountMetricsConfigTagFilterArgs(IntegrationAccountMetricsConfigTagFilterArgs $) { + this.namespace = $.namespace; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountMetricsConfigTagFilterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountMetricsConfigTagFilterArgs $; + + public Builder() { + $ = new IntegrationAccountMetricsConfigTagFilterArgs(); + } + + public Builder(IntegrationAccountMetricsConfigTagFilterArgs defaults) { + $ = new IntegrationAccountMetricsConfigTagFilterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param namespace The AWS service for which the tag filters defined in `tags` will be applied. + * + * @return builder + * + */ + public Builder namespace(Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace The AWS service for which the tag filters defined in `tags` will be applied. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param tags The AWS resource tags to filter on for the service specified by `namespace`. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags The AWS resource tags to filter on for the service specified by `namespace`. + * + * @return builder + * + */ + public Builder tags(List tags) { + return tags(Output.of(tags)); + } + + /** + * @param tags The AWS resource tags to filter on for the service specified by `namespace`. + * + * @return builder + * + */ + public Builder tags(String... tags) { + return tags(List.of(tags)); + } + + public IntegrationAccountMetricsConfigTagFilterArgs build() { + if ($.namespace == null) { + throw new MissingRequiredPropertyException("IntegrationAccountMetricsConfigTagFilterArgs", "namespace"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountResourcesConfigArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountResourcesConfigArgs.java new file mode 100644 index 000000000..74367e367 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountResourcesConfigArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountResourcesConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountResourcesConfigArgs Empty = new IntegrationAccountResourcesConfigArgs(); + + /** + * Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + * + */ + @Import(name="cloudSecurityPostureManagementCollection") + private @Nullable Output cloudSecurityPostureManagementCollection; + + /** + * @return Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + * + */ + public Optional> cloudSecurityPostureManagementCollection() { + return Optional.ofNullable(this.cloudSecurityPostureManagementCollection); + } + + /** + * Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + * + */ + @Import(name="extendedCollection") + private @Nullable Output extendedCollection; + + /** + * @return Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + * + */ + public Optional> extendedCollection() { + return Optional.ofNullable(this.extendedCollection); + } + + private IntegrationAccountResourcesConfigArgs() {} + + private IntegrationAccountResourcesConfigArgs(IntegrationAccountResourcesConfigArgs $) { + this.cloudSecurityPostureManagementCollection = $.cloudSecurityPostureManagementCollection; + this.extendedCollection = $.extendedCollection; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountResourcesConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountResourcesConfigArgs $; + + public Builder() { + $ = new IntegrationAccountResourcesConfigArgs(); + } + + public Builder(IntegrationAccountResourcesConfigArgs defaults) { + $ = new IntegrationAccountResourcesConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param cloudSecurityPostureManagementCollection Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + * + * @return builder + * + */ + public Builder cloudSecurityPostureManagementCollection(@Nullable Output cloudSecurityPostureManagementCollection) { + $.cloudSecurityPostureManagementCollection = cloudSecurityPostureManagementCollection; + return this; + } + + /** + * @param cloudSecurityPostureManagementCollection Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + * + * @return builder + * + */ + public Builder cloudSecurityPostureManagementCollection(Boolean cloudSecurityPostureManagementCollection) { + return cloudSecurityPostureManagementCollection(Output.of(cloudSecurityPostureManagementCollection)); + } + + /** + * @param extendedCollection Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + * + * @return builder + * + */ + public Builder extendedCollection(@Nullable Output extendedCollection) { + $.extendedCollection = extendedCollection; + return this; + } + + /** + * @param extendedCollection Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + * + * @return builder + * + */ + public Builder extendedCollection(Boolean extendedCollection) { + return extendedCollection(Output.of(extendedCollection)); + } + + public IntegrationAccountResourcesConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountState.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountState.java new file mode 100644 index 000000000..78bc0df73 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountState.java @@ -0,0 +1,316 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.aws.inputs.IntegrationAccountAuthConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountAwsRegionsArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountLogsConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountMetricsConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountResourcesConfigArgs; +import com.pulumi.datadog.aws.inputs.IntegrationAccountTracesConfigArgs; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountState extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountState Empty = new IntegrationAccountState(); + + /** + * Tags to apply to all metrics in the account + * + */ + @Import(name="accountTags") + private @Nullable Output> accountTags; + + /** + * @return Tags to apply to all metrics in the account + * + */ + public Optional>> accountTags() { + return Optional.ofNullable(this.accountTags); + } + + @Import(name="authConfig") + private @Nullable Output authConfig; + + public Optional> authConfig() { + return Optional.ofNullable(this.authConfig); + } + + /** + * Your AWS Account ID without dashes. + * + */ + @Import(name="awsAccountId") + private @Nullable Output awsAccountId; + + /** + * @return Your AWS Account ID without dashes. + * + */ + public Optional> awsAccountId() { + return Optional.ofNullable(this.awsAccountId); + } + + /** + * AWS Account partition + * + */ + @Import(name="awsPartition") + private @Nullable Output awsPartition; + + /** + * @return AWS Account partition + * + */ + public Optional> awsPartition() { + return Optional.ofNullable(this.awsPartition); + } + + /** + * AWS Regions to collect data from. + * + */ + @Import(name="awsRegions") + private @Nullable Output awsRegions; + + /** + * @return AWS Regions to collect data from. + * + */ + public Optional> awsRegions() { + return Optional.ofNullable(this.awsRegions); + } + + @Import(name="logsConfig") + private @Nullable Output logsConfig; + + public Optional> logsConfig() { + return Optional.ofNullable(this.logsConfig); + } + + @Import(name="metricsConfig") + private @Nullable Output metricsConfig; + + public Optional> metricsConfig() { + return Optional.ofNullable(this.metricsConfig); + } + + @Import(name="resourcesConfig") + private @Nullable Output resourcesConfig; + + public Optional> resourcesConfig() { + return Optional.ofNullable(this.resourcesConfig); + } + + /** + * AWS Traces Collection config. + * + */ + @Import(name="tracesConfig") + private @Nullable Output tracesConfig; + + /** + * @return AWS Traces Collection config. + * + */ + public Optional> tracesConfig() { + return Optional.ofNullable(this.tracesConfig); + } + + private IntegrationAccountState() {} + + private IntegrationAccountState(IntegrationAccountState $) { + this.accountTags = $.accountTags; + this.authConfig = $.authConfig; + this.awsAccountId = $.awsAccountId; + this.awsPartition = $.awsPartition; + this.awsRegions = $.awsRegions; + this.logsConfig = $.logsConfig; + this.metricsConfig = $.metricsConfig; + this.resourcesConfig = $.resourcesConfig; + this.tracesConfig = $.tracesConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountState $; + + public Builder() { + $ = new IntegrationAccountState(); + } + + public Builder(IntegrationAccountState defaults) { + $ = new IntegrationAccountState(Objects.requireNonNull(defaults)); + } + + /** + * @param accountTags Tags to apply to all metrics in the account + * + * @return builder + * + */ + public Builder accountTags(@Nullable Output> accountTags) { + $.accountTags = accountTags; + return this; + } + + /** + * @param accountTags Tags to apply to all metrics in the account + * + * @return builder + * + */ + public Builder accountTags(List accountTags) { + return accountTags(Output.of(accountTags)); + } + + /** + * @param accountTags Tags to apply to all metrics in the account + * + * @return builder + * + */ + public Builder accountTags(String... accountTags) { + return accountTags(List.of(accountTags)); + } + + public Builder authConfig(@Nullable Output authConfig) { + $.authConfig = authConfig; + return this; + } + + public Builder authConfig(IntegrationAccountAuthConfigArgs authConfig) { + return authConfig(Output.of(authConfig)); + } + + /** + * @param awsAccountId Your AWS Account ID without dashes. + * + * @return builder + * + */ + public Builder awsAccountId(@Nullable Output awsAccountId) { + $.awsAccountId = awsAccountId; + return this; + } + + /** + * @param awsAccountId Your AWS Account ID without dashes. + * + * @return builder + * + */ + public Builder awsAccountId(String awsAccountId) { + return awsAccountId(Output.of(awsAccountId)); + } + + /** + * @param awsPartition AWS Account partition + * + * @return builder + * + */ + public Builder awsPartition(@Nullable Output awsPartition) { + $.awsPartition = awsPartition; + return this; + } + + /** + * @param awsPartition AWS Account partition + * + * @return builder + * + */ + public Builder awsPartition(String awsPartition) { + return awsPartition(Output.of(awsPartition)); + } + + /** + * @param awsRegions AWS Regions to collect data from. + * + * @return builder + * + */ + public Builder awsRegions(@Nullable Output awsRegions) { + $.awsRegions = awsRegions; + return this; + } + + /** + * @param awsRegions AWS Regions to collect data from. + * + * @return builder + * + */ + public Builder awsRegions(IntegrationAccountAwsRegionsArgs awsRegions) { + return awsRegions(Output.of(awsRegions)); + } + + public Builder logsConfig(@Nullable Output logsConfig) { + $.logsConfig = logsConfig; + return this; + } + + public Builder logsConfig(IntegrationAccountLogsConfigArgs logsConfig) { + return logsConfig(Output.of(logsConfig)); + } + + public Builder metricsConfig(@Nullable Output metricsConfig) { + $.metricsConfig = metricsConfig; + return this; + } + + public Builder metricsConfig(IntegrationAccountMetricsConfigArgs metricsConfig) { + return metricsConfig(Output.of(metricsConfig)); + } + + public Builder resourcesConfig(@Nullable Output resourcesConfig) { + $.resourcesConfig = resourcesConfig; + return this; + } + + public Builder resourcesConfig(IntegrationAccountResourcesConfigArgs resourcesConfig) { + return resourcesConfig(Output.of(resourcesConfig)); + } + + /** + * @param tracesConfig AWS Traces Collection config. + * + * @return builder + * + */ + public Builder tracesConfig(@Nullable Output tracesConfig) { + $.tracesConfig = tracesConfig; + return this; + } + + /** + * @param tracesConfig AWS Traces Collection config. + * + * @return builder + * + */ + public Builder tracesConfig(IntegrationAccountTracesConfigArgs tracesConfig) { + return tracesConfig(Output.of(tracesConfig)); + } + + public IntegrationAccountState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigArgs.java new file mode 100644 index 000000000..ffcec3d80 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.aws.inputs.IntegrationAccountTracesConfigXrayServicesArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountTracesConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountTracesConfigArgs Empty = new IntegrationAccountTracesConfigArgs(); + + /** + * AWS X-Ray services to collect traces from. + * + */ + @Import(name="xrayServices") + private @Nullable Output xrayServices; + + /** + * @return AWS X-Ray services to collect traces from. + * + */ + public Optional> xrayServices() { + return Optional.ofNullable(this.xrayServices); + } + + private IntegrationAccountTracesConfigArgs() {} + + private IntegrationAccountTracesConfigArgs(IntegrationAccountTracesConfigArgs $) { + this.xrayServices = $.xrayServices; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountTracesConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountTracesConfigArgs $; + + public Builder() { + $ = new IntegrationAccountTracesConfigArgs(); + } + + public Builder(IntegrationAccountTracesConfigArgs defaults) { + $ = new IntegrationAccountTracesConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param xrayServices AWS X-Ray services to collect traces from. + * + * @return builder + * + */ + public Builder xrayServices(@Nullable Output xrayServices) { + $.xrayServices = xrayServices; + return this; + } + + /** + * @param xrayServices AWS X-Ray services to collect traces from. + * + * @return builder + * + */ + public Builder xrayServices(IntegrationAccountTracesConfigXrayServicesArgs xrayServices) { + return xrayServices(Output.of(xrayServices)); + } + + public IntegrationAccountTracesConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigXrayServicesArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigXrayServicesArgs.java new file mode 100644 index 000000000..a92ea6738 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/inputs/IntegrationAccountTracesConfigXrayServicesArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class IntegrationAccountTracesConfigXrayServicesArgs extends com.pulumi.resources.ResourceArgs { + + public static final IntegrationAccountTracesConfigXrayServicesArgs Empty = new IntegrationAccountTracesConfigXrayServicesArgs(); + + /** + * Include all services + * + */ + @Import(name="includeAll") + private @Nullable Output includeAll; + + /** + * @return Include all services + * + */ + public Optional> includeAll() { + return Optional.ofNullable(this.includeAll); + } + + /** + * Include only these services + * + */ + @Import(name="includeOnlies") + private @Nullable Output> includeOnlies; + + /** + * @return Include only these services + * + */ + public Optional>> includeOnlies() { + return Optional.ofNullable(this.includeOnlies); + } + + private IntegrationAccountTracesConfigXrayServicesArgs() {} + + private IntegrationAccountTracesConfigXrayServicesArgs(IntegrationAccountTracesConfigXrayServicesArgs $) { + this.includeAll = $.includeAll; + this.includeOnlies = $.includeOnlies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(IntegrationAccountTracesConfigXrayServicesArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private IntegrationAccountTracesConfigXrayServicesArgs $; + + public Builder() { + $ = new IntegrationAccountTracesConfigXrayServicesArgs(); + } + + public Builder(IntegrationAccountTracesConfigXrayServicesArgs defaults) { + $ = new IntegrationAccountTracesConfigXrayServicesArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param includeAll Include all services + * + * @return builder + * + */ + public Builder includeAll(@Nullable Output includeAll) { + $.includeAll = includeAll; + return this; + } + + /** + * @param includeAll Include all services + * + * @return builder + * + */ + public Builder includeAll(Boolean includeAll) { + return includeAll(Output.of(includeAll)); + } + + /** + * @param includeOnlies Include only these services + * + * @return builder + * + */ + public Builder includeOnlies(@Nullable Output> includeOnlies) { + $.includeOnlies = includeOnlies; + return this; + } + + /** + * @param includeOnlies Include only these services + * + * @return builder + * + */ + public Builder includeOnlies(List includeOnlies) { + return includeOnlies(Output.of(includeOnlies)); + } + + /** + * @param includeOnlies Include only these services + * + * @return builder + * + */ + public Builder includeOnlies(String... includeOnlies) { + return includeOnlies(List.of(includeOnlies)); + } + + public IntegrationAccountTracesConfigXrayServicesArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableLogsServicesResult.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableLogsServicesResult.java new file mode 100644 index 000000000..3926edcb0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableLogsServicesResult.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetIntegrationAvailableLogsServicesResult { + /** + * @return List of AWS log ready services. + * + */ + private List awsLogsServices; + /** + * @return The ID of this resource. + * + */ + private String id; + + private GetIntegrationAvailableLogsServicesResult() {} + /** + * @return List of AWS log ready services. + * + */ + public List awsLogsServices() { + return this.awsLogsServices; + } + /** + * @return The ID of this resource. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIntegrationAvailableLogsServicesResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List awsLogsServices; + private String id; + public Builder() {} + public Builder(GetIntegrationAvailableLogsServicesResult defaults) { + Objects.requireNonNull(defaults); + this.awsLogsServices = defaults.awsLogsServices; + this.id = defaults.id; + } + + @CustomType.Setter + public Builder awsLogsServices(List awsLogsServices) { + if (awsLogsServices == null) { + throw new MissingRequiredPropertyException("GetIntegrationAvailableLogsServicesResult", "awsLogsServices"); + } + this.awsLogsServices = awsLogsServices; + return this; + } + public Builder awsLogsServices(String... awsLogsServices) { + return awsLogsServices(List.of(awsLogsServices)); + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetIntegrationAvailableLogsServicesResult", "id"); + } + this.id = id; + return this; + } + public GetIntegrationAvailableLogsServicesResult build() { + final var _resultValue = new GetIntegrationAvailableLogsServicesResult(); + _resultValue.awsLogsServices = awsLogsServices; + _resultValue.id = id; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableNamespacesResult.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableNamespacesResult.java new file mode 100644 index 000000000..a8c1f35e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/GetIntegrationAvailableNamespacesResult.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetIntegrationAvailableNamespacesResult { + /** + * @return List of available AWS namespaces. + * + */ + private List awsNamespaces; + /** + * @return The ID of this resource. + * + */ + private String id; + + private GetIntegrationAvailableNamespacesResult() {} + /** + * @return List of available AWS namespaces. + * + */ + public List awsNamespaces() { + return this.awsNamespaces; + } + /** + * @return The ID of this resource. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetIntegrationAvailableNamespacesResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List awsNamespaces; + private String id; + public Builder() {} + public Builder(GetIntegrationAvailableNamespacesResult defaults) { + Objects.requireNonNull(defaults); + this.awsNamespaces = defaults.awsNamespaces; + this.id = defaults.id; + } + + @CustomType.Setter + public Builder awsNamespaces(List awsNamespaces) { + if (awsNamespaces == null) { + throw new MissingRequiredPropertyException("GetIntegrationAvailableNamespacesResult", "awsNamespaces"); + } + this.awsNamespaces = awsNamespaces; + return this; + } + public Builder awsNamespaces(String... awsNamespaces) { + return awsNamespaces(List.of(awsNamespaces)); + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetIntegrationAvailableNamespacesResult", "id"); + } + this.id = id; + return this; + } + public GetIntegrationAvailableNamespacesResult build() { + final var _resultValue = new GetIntegrationAvailableNamespacesResult(); + _resultValue.awsNamespaces = awsNamespaces; + _resultValue.id = id; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfig.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfig.java new file mode 100644 index 000000000..fa6eed68c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfig.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.aws.outputs.IntegrationAccountAuthConfigAwsAuthConfigKeys; +import com.pulumi.datadog.aws.outputs.IntegrationAccountAuthConfigAwsAuthConfigRole; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountAuthConfig { + private @Nullable IntegrationAccountAuthConfigAwsAuthConfigKeys awsAuthConfigKeys; + private @Nullable IntegrationAccountAuthConfigAwsAuthConfigRole awsAuthConfigRole; + + private IntegrationAccountAuthConfig() {} + public Optional awsAuthConfigKeys() { + return Optional.ofNullable(this.awsAuthConfigKeys); + } + public Optional awsAuthConfigRole() { + return Optional.ofNullable(this.awsAuthConfigRole); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountAuthConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable IntegrationAccountAuthConfigAwsAuthConfigKeys awsAuthConfigKeys; + private @Nullable IntegrationAccountAuthConfigAwsAuthConfigRole awsAuthConfigRole; + public Builder() {} + public Builder(IntegrationAccountAuthConfig defaults) { + Objects.requireNonNull(defaults); + this.awsAuthConfigKeys = defaults.awsAuthConfigKeys; + this.awsAuthConfigRole = defaults.awsAuthConfigRole; + } + + @CustomType.Setter + public Builder awsAuthConfigKeys(@Nullable IntegrationAccountAuthConfigAwsAuthConfigKeys awsAuthConfigKeys) { + + this.awsAuthConfigKeys = awsAuthConfigKeys; + return this; + } + @CustomType.Setter + public Builder awsAuthConfigRole(@Nullable IntegrationAccountAuthConfigAwsAuthConfigRole awsAuthConfigRole) { + + this.awsAuthConfigRole = awsAuthConfigRole; + return this; + } + public IntegrationAccountAuthConfig build() { + final var _resultValue = new IntegrationAccountAuthConfig(); + _resultValue.awsAuthConfigKeys = awsAuthConfigKeys; + _resultValue.awsAuthConfigRole = awsAuthConfigRole; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.java new file mode 100644 index 000000000..8bcf7d166 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigKeys.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountAuthConfigAwsAuthConfigKeys { + /** + * @return AWS Access Key ID + * + */ + private @Nullable String accessKeyId; + private @Nullable String secretAccessKey; + + private IntegrationAccountAuthConfigAwsAuthConfigKeys() {} + /** + * @return AWS Access Key ID + * + */ + public Optional accessKeyId() { + return Optional.ofNullable(this.accessKeyId); + } + public Optional secretAccessKey() { + return Optional.ofNullable(this.secretAccessKey); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountAuthConfigAwsAuthConfigKeys defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String accessKeyId; + private @Nullable String secretAccessKey; + public Builder() {} + public Builder(IntegrationAccountAuthConfigAwsAuthConfigKeys defaults) { + Objects.requireNonNull(defaults); + this.accessKeyId = defaults.accessKeyId; + this.secretAccessKey = defaults.secretAccessKey; + } + + @CustomType.Setter + public Builder accessKeyId(@Nullable String accessKeyId) { + + this.accessKeyId = accessKeyId; + return this; + } + @CustomType.Setter + public Builder secretAccessKey(@Nullable String secretAccessKey) { + + this.secretAccessKey = secretAccessKey; + return this; + } + public IntegrationAccountAuthConfigAwsAuthConfigKeys build() { + final var _resultValue = new IntegrationAccountAuthConfigAwsAuthConfigKeys(); + _resultValue.accessKeyId = accessKeyId; + _resultValue.secretAccessKey = secretAccessKey; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.java new file mode 100644 index 000000000..789816201 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAuthConfigAwsAuthConfigRole.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountAuthConfigAwsAuthConfigRole { + /** + * @return AWS IAM External ID for associated role + * + */ + private @Nullable String externalId; + /** + * @return AWS IAM Role name + * + */ + private @Nullable String roleName; + + private IntegrationAccountAuthConfigAwsAuthConfigRole() {} + /** + * @return AWS IAM External ID for associated role + * + */ + public Optional externalId() { + return Optional.ofNullable(this.externalId); + } + /** + * @return AWS IAM Role name + * + */ + public Optional roleName() { + return Optional.ofNullable(this.roleName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountAuthConfigAwsAuthConfigRole defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String externalId; + private @Nullable String roleName; + public Builder() {} + public Builder(IntegrationAccountAuthConfigAwsAuthConfigRole defaults) { + Objects.requireNonNull(defaults); + this.externalId = defaults.externalId; + this.roleName = defaults.roleName; + } + + @CustomType.Setter + public Builder externalId(@Nullable String externalId) { + + this.externalId = externalId; + return this; + } + @CustomType.Setter + public Builder roleName(@Nullable String roleName) { + + this.roleName = roleName; + return this; + } + public IntegrationAccountAuthConfigAwsAuthConfigRole build() { + final var _resultValue = new IntegrationAccountAuthConfigAwsAuthConfigRole(); + _resultValue.externalId = externalId; + _resultValue.roleName = roleName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAwsRegions.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAwsRegions.java new file mode 100644 index 000000000..a3be3624a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountAwsRegions.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountAwsRegions { + /** + * @return Include all regions. Defaults to `true`. + * + */ + private @Nullable Boolean includeAll; + /** + * @return Include only these regions. + * + */ + private @Nullable List includeOnlies; + + private IntegrationAccountAwsRegions() {} + /** + * @return Include all regions. Defaults to `true`. + * + */ + public Optional includeAll() { + return Optional.ofNullable(this.includeAll); + } + /** + * @return Include only these regions. + * + */ + public List includeOnlies() { + return this.includeOnlies == null ? List.of() : this.includeOnlies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountAwsRegions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean includeAll; + private @Nullable List includeOnlies; + public Builder() {} + public Builder(IntegrationAccountAwsRegions defaults) { + Objects.requireNonNull(defaults); + this.includeAll = defaults.includeAll; + this.includeOnlies = defaults.includeOnlies; + } + + @CustomType.Setter + public Builder includeAll(@Nullable Boolean includeAll) { + + this.includeAll = includeAll; + return this; + } + @CustomType.Setter + public Builder includeOnlies(@Nullable List includeOnlies) { + + this.includeOnlies = includeOnlies; + return this; + } + public Builder includeOnlies(String... includeOnlies) { + return includeOnlies(List.of(includeOnlies)); + } + public IntegrationAccountAwsRegions build() { + final var _resultValue = new IntegrationAccountAwsRegions(); + _resultValue.includeAll = includeAll; + _resultValue.includeOnlies = includeOnlies; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfig.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfig.java new file mode 100644 index 000000000..080622a12 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfig.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.aws.outputs.IntegrationAccountLogsConfigLambdaForwarder; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountLogsConfig { + private @Nullable IntegrationAccountLogsConfigLambdaForwarder lambdaForwarder; + + private IntegrationAccountLogsConfig() {} + public Optional lambdaForwarder() { + return Optional.ofNullable(this.lambdaForwarder); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountLogsConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable IntegrationAccountLogsConfigLambdaForwarder lambdaForwarder; + public Builder() {} + public Builder(IntegrationAccountLogsConfig defaults) { + Objects.requireNonNull(defaults); + this.lambdaForwarder = defaults.lambdaForwarder; + } + + @CustomType.Setter + public Builder lambdaForwarder(@Nullable IntegrationAccountLogsConfigLambdaForwarder lambdaForwarder) { + + this.lambdaForwarder = lambdaForwarder; + return this; + } + public IntegrationAccountLogsConfig build() { + final var _resultValue = new IntegrationAccountLogsConfig(); + _resultValue.lambdaForwarder = lambdaForwarder; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfigLambdaForwarder.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfigLambdaForwarder.java new file mode 100644 index 000000000..1d439a6f7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountLogsConfigLambdaForwarder.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountLogsConfigLambdaForwarder { + /** + * @return List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + */ + private @Nullable List lambdas; + /** + * @return List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + */ + private @Nullable List sources; + + private IntegrationAccountLogsConfigLambdaForwarder() {} + /** + * @return List of Datadog Lambda Log Forwarder ARNs in your AWS account. + * + */ + public List lambdas() { + return this.lambdas == null ? List.of() : this.lambdas; + } + /** + * @return List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + * + */ + public List sources() { + return this.sources == null ? List.of() : this.sources; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountLogsConfigLambdaForwarder defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List lambdas; + private @Nullable List sources; + public Builder() {} + public Builder(IntegrationAccountLogsConfigLambdaForwarder defaults) { + Objects.requireNonNull(defaults); + this.lambdas = defaults.lambdas; + this.sources = defaults.sources; + } + + @CustomType.Setter + public Builder lambdas(@Nullable List lambdas) { + + this.lambdas = lambdas; + return this; + } + public Builder lambdas(String... lambdas) { + return lambdas(List.of(lambdas)); + } + @CustomType.Setter + public Builder sources(@Nullable List sources) { + + this.sources = sources; + return this; + } + public Builder sources(String... sources) { + return sources(List.of(sources)); + } + public IntegrationAccountLogsConfigLambdaForwarder build() { + final var _resultValue = new IntegrationAccountLogsConfigLambdaForwarder(); + _resultValue.lambdas = lambdas; + _resultValue.sources = sources; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfig.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfig.java new file mode 100644 index 000000000..be50a037c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfig.java @@ -0,0 +1,160 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.aws.outputs.IntegrationAccountMetricsConfigNamespaceFilters; +import com.pulumi.datadog.aws.outputs.IntegrationAccountMetricsConfigTagFilter; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountMetricsConfig { + /** + * @return Enable EC2 automute for AWS metrics Defaults to `true`. + * + */ + private @Nullable Boolean automuteEnabled; + /** + * @return Enable CloudWatch alarms collection Defaults to `false`. + * + */ + private @Nullable Boolean collectCloudwatchAlarms; + /** + * @return Enable custom metrics collection Defaults to `false`. + * + */ + private @Nullable Boolean collectCustomMetrics; + /** + * @return Enable AWS metrics collection Defaults to `true`. + * + */ + private @Nullable Boolean enabled; + private @Nullable IntegrationAccountMetricsConfigNamespaceFilters namespaceFilters; + /** + * @return AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + */ + private @Nullable List tagFilters; + + private IntegrationAccountMetricsConfig() {} + /** + * @return Enable EC2 automute for AWS metrics Defaults to `true`. + * + */ + public Optional automuteEnabled() { + return Optional.ofNullable(this.automuteEnabled); + } + /** + * @return Enable CloudWatch alarms collection Defaults to `false`. + * + */ + public Optional collectCloudwatchAlarms() { + return Optional.ofNullable(this.collectCloudwatchAlarms); + } + /** + * @return Enable custom metrics collection Defaults to `false`. + * + */ + public Optional collectCustomMetrics() { + return Optional.ofNullable(this.collectCustomMetrics); + } + /** + * @return Enable AWS metrics collection Defaults to `true`. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + public Optional namespaceFilters() { + return Optional.ofNullable(this.namespaceFilters); + } + /** + * @return AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + * + */ + public List tagFilters() { + return this.tagFilters == null ? List.of() : this.tagFilters; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountMetricsConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean automuteEnabled; + private @Nullable Boolean collectCloudwatchAlarms; + private @Nullable Boolean collectCustomMetrics; + private @Nullable Boolean enabled; + private @Nullable IntegrationAccountMetricsConfigNamespaceFilters namespaceFilters; + private @Nullable List tagFilters; + public Builder() {} + public Builder(IntegrationAccountMetricsConfig defaults) { + Objects.requireNonNull(defaults); + this.automuteEnabled = defaults.automuteEnabled; + this.collectCloudwatchAlarms = defaults.collectCloudwatchAlarms; + this.collectCustomMetrics = defaults.collectCustomMetrics; + this.enabled = defaults.enabled; + this.namespaceFilters = defaults.namespaceFilters; + this.tagFilters = defaults.tagFilters; + } + + @CustomType.Setter + public Builder automuteEnabled(@Nullable Boolean automuteEnabled) { + + this.automuteEnabled = automuteEnabled; + return this; + } + @CustomType.Setter + public Builder collectCloudwatchAlarms(@Nullable Boolean collectCloudwatchAlarms) { + + this.collectCloudwatchAlarms = collectCloudwatchAlarms; + return this; + } + @CustomType.Setter + public Builder collectCustomMetrics(@Nullable Boolean collectCustomMetrics) { + + this.collectCustomMetrics = collectCustomMetrics; + return this; + } + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder namespaceFilters(@Nullable IntegrationAccountMetricsConfigNamespaceFilters namespaceFilters) { + + this.namespaceFilters = namespaceFilters; + return this; + } + @CustomType.Setter + public Builder tagFilters(@Nullable List tagFilters) { + + this.tagFilters = tagFilters; + return this; + } + public Builder tagFilters(IntegrationAccountMetricsConfigTagFilter... tagFilters) { + return tagFilters(List.of(tagFilters)); + } + public IntegrationAccountMetricsConfig build() { + final var _resultValue = new IntegrationAccountMetricsConfig(); + _resultValue.automuteEnabled = automuteEnabled; + _resultValue.collectCloudwatchAlarms = collectCloudwatchAlarms; + _resultValue.collectCustomMetrics = collectCustomMetrics; + _resultValue.enabled = enabled; + _resultValue.namespaceFilters = namespaceFilters; + _resultValue.tagFilters = tagFilters; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigNamespaceFilters.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigNamespaceFilters.java new file mode 100644 index 000000000..08ba6c6ae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigNamespaceFilters.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountMetricsConfigNamespaceFilters { + /** + * @return Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + */ + private @Nullable List excludeOnlies; + /** + * @return Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + */ + private @Nullable List includeOnlies; + + private IntegrationAccountMetricsConfigNamespaceFilters() {} + /** + * @return Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + * + */ + public List excludeOnlies() { + return this.excludeOnlies == null ? List.of() : this.excludeOnlies; + } + /** + * @return Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + * + */ + public List includeOnlies() { + return this.includeOnlies == null ? List.of() : this.includeOnlies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountMetricsConfigNamespaceFilters defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List excludeOnlies; + private @Nullable List includeOnlies; + public Builder() {} + public Builder(IntegrationAccountMetricsConfigNamespaceFilters defaults) { + Objects.requireNonNull(defaults); + this.excludeOnlies = defaults.excludeOnlies; + this.includeOnlies = defaults.includeOnlies; + } + + @CustomType.Setter + public Builder excludeOnlies(@Nullable List excludeOnlies) { + + this.excludeOnlies = excludeOnlies; + return this; + } + public Builder excludeOnlies(String... excludeOnlies) { + return excludeOnlies(List.of(excludeOnlies)); + } + @CustomType.Setter + public Builder includeOnlies(@Nullable List includeOnlies) { + + this.includeOnlies = includeOnlies; + return this; + } + public Builder includeOnlies(String... includeOnlies) { + return includeOnlies(List.of(includeOnlies)); + } + public IntegrationAccountMetricsConfigNamespaceFilters build() { + final var _resultValue = new IntegrationAccountMetricsConfigNamespaceFilters(); + _resultValue.excludeOnlies = excludeOnlies; + _resultValue.includeOnlies = includeOnlies; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigTagFilter.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigTagFilter.java new file mode 100644 index 000000000..677b195eb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountMetricsConfigTagFilter.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountMetricsConfigTagFilter { + /** + * @return The AWS service for which the tag filters defined in `tags` will be applied. + * + */ + private String namespace; + /** + * @return The AWS resource tags to filter on for the service specified by `namespace`. + * + */ + private @Nullable List tags; + + private IntegrationAccountMetricsConfigTagFilter() {} + /** + * @return The AWS service for which the tag filters defined in `tags` will be applied. + * + */ + public String namespace() { + return this.namespace; + } + /** + * @return The AWS resource tags to filter on for the service specified by `namespace`. + * + */ + public List tags() { + return this.tags == null ? List.of() : this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountMetricsConfigTagFilter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String namespace; + private @Nullable List tags; + public Builder() {} + public Builder(IntegrationAccountMetricsConfigTagFilter defaults) { + Objects.requireNonNull(defaults); + this.namespace = defaults.namespace; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder namespace(String namespace) { + if (namespace == null) { + throw new MissingRequiredPropertyException("IntegrationAccountMetricsConfigTagFilter", "namespace"); + } + this.namespace = namespace; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable List tags) { + + this.tags = tags; + return this; + } + public Builder tags(String... tags) { + return tags(List.of(tags)); + } + public IntegrationAccountMetricsConfigTagFilter build() { + final var _resultValue = new IntegrationAccountMetricsConfigTagFilter(); + _resultValue.namespace = namespace; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountResourcesConfig.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountResourcesConfig.java new file mode 100644 index 000000000..611d92c00 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountResourcesConfig.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountResourcesConfig { + /** + * @return Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + * + */ + private @Nullable Boolean cloudSecurityPostureManagementCollection; + /** + * @return Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + * + */ + private @Nullable Boolean extendedCollection; + + private IntegrationAccountResourcesConfig() {} + /** + * @return Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + * + */ + public Optional cloudSecurityPostureManagementCollection() { + return Optional.ofNullable(this.cloudSecurityPostureManagementCollection); + } + /** + * @return Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + * + */ + public Optional extendedCollection() { + return Optional.ofNullable(this.extendedCollection); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountResourcesConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean cloudSecurityPostureManagementCollection; + private @Nullable Boolean extendedCollection; + public Builder() {} + public Builder(IntegrationAccountResourcesConfig defaults) { + Objects.requireNonNull(defaults); + this.cloudSecurityPostureManagementCollection = defaults.cloudSecurityPostureManagementCollection; + this.extendedCollection = defaults.extendedCollection; + } + + @CustomType.Setter + public Builder cloudSecurityPostureManagementCollection(@Nullable Boolean cloudSecurityPostureManagementCollection) { + + this.cloudSecurityPostureManagementCollection = cloudSecurityPostureManagementCollection; + return this; + } + @CustomType.Setter + public Builder extendedCollection(@Nullable Boolean extendedCollection) { + + this.extendedCollection = extendedCollection; + return this; + } + public IntegrationAccountResourcesConfig build() { + final var _resultValue = new IntegrationAccountResourcesConfig(); + _resultValue.cloudSecurityPostureManagementCollection = cloudSecurityPostureManagementCollection; + _resultValue.extendedCollection = extendedCollection; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfig.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfig.java new file mode 100644 index 000000000..aadf464df --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfig.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.aws.outputs.IntegrationAccountTracesConfigXrayServices; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountTracesConfig { + /** + * @return AWS X-Ray services to collect traces from. + * + */ + private @Nullable IntegrationAccountTracesConfigXrayServices xrayServices; + + private IntegrationAccountTracesConfig() {} + /** + * @return AWS X-Ray services to collect traces from. + * + */ + public Optional xrayServices() { + return Optional.ofNullable(this.xrayServices); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountTracesConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable IntegrationAccountTracesConfigXrayServices xrayServices; + public Builder() {} + public Builder(IntegrationAccountTracesConfig defaults) { + Objects.requireNonNull(defaults); + this.xrayServices = defaults.xrayServices; + } + + @CustomType.Setter + public Builder xrayServices(@Nullable IntegrationAccountTracesConfigXrayServices xrayServices) { + + this.xrayServices = xrayServices; + return this; + } + public IntegrationAccountTracesConfig build() { + final var _resultValue = new IntegrationAccountTracesConfig(); + _resultValue.xrayServices = xrayServices; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfigXrayServices.java b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfigXrayServices.java new file mode 100644 index 000000000..4362edb01 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/aws/outputs/IntegrationAccountTracesConfigXrayServices.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.aws.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class IntegrationAccountTracesConfigXrayServices { + /** + * @return Include all services + * + */ + private @Nullable Boolean includeAll; + /** + * @return Include only these services + * + */ + private @Nullable List includeOnlies; + + private IntegrationAccountTracesConfigXrayServices() {} + /** + * @return Include all services + * + */ + public Optional includeAll() { + return Optional.ofNullable(this.includeAll); + } + /** + * @return Include only these services + * + */ + public List includeOnlies() { + return this.includeOnlies == null ? List.of() : this.includeOnlies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(IntegrationAccountTracesConfigXrayServices defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean includeAll; + private @Nullable List includeOnlies; + public Builder() {} + public Builder(IntegrationAccountTracesConfigXrayServices defaults) { + Objects.requireNonNull(defaults); + this.includeAll = defaults.includeAll; + this.includeOnlies = defaults.includeOnlies; + } + + @CustomType.Setter + public Builder includeAll(@Nullable Boolean includeAll) { + + this.includeAll = includeAll; + return this; + } + @CustomType.Setter + public Builder includeOnlies(@Nullable List includeOnlies) { + + this.includeOnlies = includeOnlies; + return this; + } + public Builder includeOnlies(String... includeOnlies) { + return includeOnlies(List.of(includeOnlies)); + } + public IntegrationAccountTracesConfigXrayServices build() { + final var _resultValue = new IntegrationAccountTracesConfigXrayServices(); + _resultValue.includeAll = includeAll; + _resultValue.includeOnlies = includeOnlies; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java index c11842d55..4950dc431 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccount.java @@ -108,14 +108,14 @@ public Output name() { return this.name; } /** - * An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * */ @Export(name="resources", refs={List.class,String.class}, tree="[0,1]") private Output> resources; /** - * @return An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @return An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * */ public Output> resources() { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccountArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccountArgs.java index 10e8a227f..bbe460c07 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccountArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/IntegrationAccountArgs.java @@ -63,14 +63,14 @@ public Output name() { } /** - * An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * */ @Import(name="resources") private @Nullable Output> resources; /** - * @return An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @return An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * */ public Optional>> resources() { @@ -168,7 +168,7 @@ public Builder name(String name) { } /** - * @param resources An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @param resources An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * * @return builder * @@ -179,7 +179,7 @@ public Builder resources(@Nullable Output> resources) { } /** - * @param resources An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @param resources An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * * @return builder * @@ -189,7 +189,7 @@ public Builder resources(List resources) { } /** - * @param resources An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @param resources An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/inputs/IntegrationAccountState.java b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/inputs/IntegrationAccountState.java index f34b0ccdb..ffa2cac60 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/inputs/IntegrationAccountState.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/cloudflare/inputs/IntegrationAccountState.java @@ -62,14 +62,14 @@ public Optional> name() { } /** - * An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * */ @Import(name="resources") private @Nullable Output> resources; /** - * @return An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @return An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * */ public Optional>> resources() { @@ -167,7 +167,7 @@ public Builder name(String name) { } /** - * @param resources An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @param resources An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * * @return builder * @@ -178,7 +178,7 @@ public Builder resources(@Nullable Output> resources) { } /** - * @param resources An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @param resources An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * * @return builder * @@ -188,7 +188,7 @@ public Builder resources(List resources) { } /** - * @param resources An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * @param resources An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/DashboardState.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/DashboardState.java index 18ec00f4c..264402280 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/DashboardState.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/DashboardState.java @@ -59,24 +59,24 @@ public Optional> description() { } /** - * Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ @Import(name="isReadOnly") private @Nullable Output isReadOnly; /** - * @return Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @return Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ public Optional> isReadOnly() { return Optional.ofNullable(this.isReadOnly); } @@ -334,30 +334,30 @@ public Builder description(String description) { } /** - * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @return builder * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ public Builder isReadOnly(@Nullable Output isReadOnly) { $.isReadOnly = isReadOnly; return this; } /** - * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + * @param isReadOnly Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * * @return builder * * @deprecated - * Prefer using `restricted_roles` to define which roles are required to edit the dashboard. + * This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. * */ - @Deprecated /* Prefer using `restricted_roles` to define which roles are required to edit the dashboard. */ + @Deprecated /* This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. */ public Builder isReadOnly(Boolean isReadOnly) { return isReadOnly(Output.of(isReadOnly)); } diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java index 54df22bcc..3ff7c6655 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepArgs.java @@ -58,6 +58,21 @@ public Optional>> assertions() { return Optional.ofNullable(this.assertions); } + /** + * Determines whether or not to exit the test if the step succeeds. + * + */ + @Import(name="exitIfSucceed") + private @Nullable Output exitIfSucceed; + + /** + * @return Determines whether or not to exit the test if the step succeeds. + * + */ + public Optional> exitIfSucceed() { + return Optional.ofNullable(this.exitIfSucceed); + } + /** * Values to parse and save as variables from the response. * @@ -265,6 +280,7 @@ private SyntheticsTestApiStepArgs() {} private SyntheticsTestApiStepArgs(SyntheticsTestApiStepArgs $) { this.allowFailure = $.allowFailure; this.assertions = $.assertions; + this.exitIfSucceed = $.exitIfSucceed; this.extractedValues = $.extractedValues; this.isCritical = $.isCritical; this.name = $.name; @@ -351,6 +367,27 @@ public Builder assertions(SyntheticsTestApiStepAssertionArgs... assertions) { return assertions(List.of(assertions)); } + /** + * @param exitIfSucceed Determines whether or not to exit the test if the step succeeds. + * + * @return builder + * + */ + public Builder exitIfSucceed(@Nullable Output exitIfSucceed) { + $.exitIfSucceed = exitIfSucceed; + return this; + } + + /** + * @param exitIfSucceed Determines whether or not to exit the test if the step succeeds. + * + * @return builder + * + */ + public Builder exitIfSucceed(Boolean exitIfSucceed) { + return exitIfSucceed(Output.of(exitIfSucceed)); + } + /** * @param extractedValues Values to parse and save as variables from the response. * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRetryArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRetryArgs.java index 3ebc4f5ab..b078ac04f 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRetryArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestApiStepRetryArgs.java @@ -16,14 +16,14 @@ public final class SyntheticsTestApiStepRetryArgs extends com.pulumi.resources.R public static final SyntheticsTestApiStepRetryArgs Empty = new SyntheticsTestApiStepRetryArgs(); /** - * Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ @Import(name="count") private @Nullable Output count; /** - * @return Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ public Optional> count() { @@ -31,14 +31,14 @@ public Optional> count() { } /** - * Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ @Import(name="interval") private @Nullable Output interval; /** - * @return Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ public Optional> interval() { @@ -71,7 +71,7 @@ public Builder(SyntheticsTestApiStepRetryArgs defaults) { } /** - * @param count Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @param count Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * * @return builder * @@ -82,7 +82,7 @@ public Builder count(@Nullable Output count) { } /** - * @param count Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @param count Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * * @return builder * @@ -92,7 +92,7 @@ public Builder count(Integer count) { } /** - * @param interval Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @param interval Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * * @return builder * @@ -103,7 +103,7 @@ public Builder interval(@Nullable Output interval) { } /** - * @param interval Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @param interval Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListArgs.java new file mode 100644 index 000000000..6ba157fa4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListArgs.java @@ -0,0 +1,512 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListBindingArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListCiArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListMobileApplicationArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListMonitorOptionsArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListRetryArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListSchedulingArgs; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileOptionsListArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListArgs Empty = new SyntheticsTestMobileOptionsListArgs(); + + @Import(name="allowApplicationCrash") + private @Nullable Output allowApplicationCrash; + + public Optional> allowApplicationCrash() { + return Optional.ofNullable(this.allowApplicationCrash); + } + + @Import(name="bindings") + private @Nullable Output> bindings; + + public Optional>> bindings() { + return Optional.ofNullable(this.bindings); + } + + /** + * CI/CD options for a Synthetic test. + * + */ + @Import(name="ci") + private @Nullable Output ci; + + /** + * @return CI/CD options for a Synthetic test. + * + */ + public Optional> ci() { + return Optional.ofNullable(this.ci); + } + + @Import(name="defaultStepTimeout") + private @Nullable Output defaultStepTimeout; + + public Optional> defaultStepTimeout() { + return Optional.ofNullable(this.defaultStepTimeout); + } + + @Import(name="deviceIds", required=true) + private Output> deviceIds; + + public Output> deviceIds() { + return this.deviceIds; + } + + @Import(name="disableAutoAcceptAlert") + private @Nullable Output disableAutoAcceptAlert; + + public Optional> disableAutoAcceptAlert() { + return Optional.ofNullable(this.disableAutoAcceptAlert); + } + + /** + * Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + * + */ + @Import(name="minFailureDuration") + private @Nullable Output minFailureDuration; + + /** + * @return Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + * + */ + public Optional> minFailureDuration() { + return Optional.ofNullable(this.minFailureDuration); + } + + @Import(name="mobileApplication", required=true) + private Output mobileApplication; + + public Output mobileApplication() { + return this.mobileApplication; + } + + /** + * The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + * + */ + @Import(name="monitorName") + private @Nullable Output monitorName; + + /** + * @return The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + * + */ + public Optional> monitorName() { + return Optional.ofNullable(this.monitorName); + } + + @Import(name="monitorOptions") + private @Nullable Output monitorOptions; + + public Optional> monitorOptions() { + return Optional.ofNullable(this.monitorOptions); + } + + @Import(name="monitorPriority") + private @Nullable Output monitorPriority; + + public Optional> monitorPriority() { + return Optional.ofNullable(this.monitorPriority); + } + + /** + * Prevents saving screenshots of the steps. + * + */ + @Import(name="noScreenshot") + private @Nullable Output noScreenshot; + + /** + * @return Prevents saving screenshots of the steps. + * + */ + public Optional> noScreenshot() { + return Optional.ofNullable(this.noScreenshot); + } + + /** + * A list of role identifiers pulled from the Roles API to restrict read and write access. + * + */ + @Import(name="restrictedRoles") + private @Nullable Output> restrictedRoles; + + /** + * @return A list of role identifiers pulled from the Roles API to restrict read and write access. + * + */ + public Optional>> restrictedRoles() { + return Optional.ofNullable(this.restrictedRoles); + } + + @Import(name="retry") + private @Nullable Output retry; + + public Optional> retry() { + return Optional.ofNullable(this.retry); + } + + /** + * Object containing timeframes and timezone used for advanced scheduling. + * + */ + @Import(name="scheduling") + private @Nullable Output scheduling; + + /** + * @return Object containing timeframes and timezone used for advanced scheduling. + * + */ + public Optional> scheduling() { + return Optional.ofNullable(this.scheduling); + } + + /** + * How often the test should run (in seconds). + * + */ + @Import(name="tickEvery", required=true) + private Output tickEvery; + + /** + * @return How often the test should run (in seconds). + * + */ + public Output tickEvery() { + return this.tickEvery; + } + + @Import(name="verbosity") + private @Nullable Output verbosity; + + public Optional> verbosity() { + return Optional.ofNullable(this.verbosity); + } + + private SyntheticsTestMobileOptionsListArgs() {} + + private SyntheticsTestMobileOptionsListArgs(SyntheticsTestMobileOptionsListArgs $) { + this.allowApplicationCrash = $.allowApplicationCrash; + this.bindings = $.bindings; + this.ci = $.ci; + this.defaultStepTimeout = $.defaultStepTimeout; + this.deviceIds = $.deviceIds; + this.disableAutoAcceptAlert = $.disableAutoAcceptAlert; + this.minFailureDuration = $.minFailureDuration; + this.mobileApplication = $.mobileApplication; + this.monitorName = $.monitorName; + this.monitorOptions = $.monitorOptions; + this.monitorPriority = $.monitorPriority; + this.noScreenshot = $.noScreenshot; + this.restrictedRoles = $.restrictedRoles; + this.retry = $.retry; + this.scheduling = $.scheduling; + this.tickEvery = $.tickEvery; + this.verbosity = $.verbosity; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListArgs defaults) { + $ = new SyntheticsTestMobileOptionsListArgs(Objects.requireNonNull(defaults)); + } + + public Builder allowApplicationCrash(@Nullable Output allowApplicationCrash) { + $.allowApplicationCrash = allowApplicationCrash; + return this; + } + + public Builder allowApplicationCrash(Boolean allowApplicationCrash) { + return allowApplicationCrash(Output.of(allowApplicationCrash)); + } + + public Builder bindings(@Nullable Output> bindings) { + $.bindings = bindings; + return this; + } + + public Builder bindings(List bindings) { + return bindings(Output.of(bindings)); + } + + public Builder bindings(SyntheticsTestMobileOptionsListBindingArgs... bindings) { + return bindings(List.of(bindings)); + } + + /** + * @param ci CI/CD options for a Synthetic test. + * + * @return builder + * + */ + public Builder ci(@Nullable Output ci) { + $.ci = ci; + return this; + } + + /** + * @param ci CI/CD options for a Synthetic test. + * + * @return builder + * + */ + public Builder ci(SyntheticsTestMobileOptionsListCiArgs ci) { + return ci(Output.of(ci)); + } + + public Builder defaultStepTimeout(@Nullable Output defaultStepTimeout) { + $.defaultStepTimeout = defaultStepTimeout; + return this; + } + + public Builder defaultStepTimeout(Integer defaultStepTimeout) { + return defaultStepTimeout(Output.of(defaultStepTimeout)); + } + + public Builder deviceIds(Output> deviceIds) { + $.deviceIds = deviceIds; + return this; + } + + public Builder deviceIds(List deviceIds) { + return deviceIds(Output.of(deviceIds)); + } + + public Builder deviceIds(String... deviceIds) { + return deviceIds(List.of(deviceIds)); + } + + public Builder disableAutoAcceptAlert(@Nullable Output disableAutoAcceptAlert) { + $.disableAutoAcceptAlert = disableAutoAcceptAlert; + return this; + } + + public Builder disableAutoAcceptAlert(Boolean disableAutoAcceptAlert) { + return disableAutoAcceptAlert(Output.of(disableAutoAcceptAlert)); + } + + /** + * @param minFailureDuration Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + * + * @return builder + * + */ + public Builder minFailureDuration(@Nullable Output minFailureDuration) { + $.minFailureDuration = minFailureDuration; + return this; + } + + /** + * @param minFailureDuration Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + * + * @return builder + * + */ + public Builder minFailureDuration(Integer minFailureDuration) { + return minFailureDuration(Output.of(minFailureDuration)); + } + + public Builder mobileApplication(Output mobileApplication) { + $.mobileApplication = mobileApplication; + return this; + } + + public Builder mobileApplication(SyntheticsTestMobileOptionsListMobileApplicationArgs mobileApplication) { + return mobileApplication(Output.of(mobileApplication)); + } + + /** + * @param monitorName The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + * + * @return builder + * + */ + public Builder monitorName(@Nullable Output monitorName) { + $.monitorName = monitorName; + return this; + } + + /** + * @param monitorName The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + * + * @return builder + * + */ + public Builder monitorName(String monitorName) { + return monitorName(Output.of(monitorName)); + } + + public Builder monitorOptions(@Nullable Output monitorOptions) { + $.monitorOptions = monitorOptions; + return this; + } + + public Builder monitorOptions(SyntheticsTestMobileOptionsListMonitorOptionsArgs monitorOptions) { + return monitorOptions(Output.of(monitorOptions)); + } + + public Builder monitorPriority(@Nullable Output monitorPriority) { + $.monitorPriority = monitorPriority; + return this; + } + + public Builder monitorPriority(Integer monitorPriority) { + return monitorPriority(Output.of(monitorPriority)); + } + + /** + * @param noScreenshot Prevents saving screenshots of the steps. + * + * @return builder + * + */ + public Builder noScreenshot(@Nullable Output noScreenshot) { + $.noScreenshot = noScreenshot; + return this; + } + + /** + * @param noScreenshot Prevents saving screenshots of the steps. + * + * @return builder + * + */ + public Builder noScreenshot(Boolean noScreenshot) { + return noScreenshot(Output.of(noScreenshot)); + } + + /** + * @param restrictedRoles A list of role identifiers pulled from the Roles API to restrict read and write access. + * + * @return builder + * + */ + public Builder restrictedRoles(@Nullable Output> restrictedRoles) { + $.restrictedRoles = restrictedRoles; + return this; + } + + /** + * @param restrictedRoles A list of role identifiers pulled from the Roles API to restrict read and write access. + * + * @return builder + * + */ + public Builder restrictedRoles(List restrictedRoles) { + return restrictedRoles(Output.of(restrictedRoles)); + } + + /** + * @param restrictedRoles A list of role identifiers pulled from the Roles API to restrict read and write access. + * + * @return builder + * + */ + public Builder restrictedRoles(String... restrictedRoles) { + return restrictedRoles(List.of(restrictedRoles)); + } + + public Builder retry(@Nullable Output retry) { + $.retry = retry; + return this; + } + + public Builder retry(SyntheticsTestMobileOptionsListRetryArgs retry) { + return retry(Output.of(retry)); + } + + /** + * @param scheduling Object containing timeframes and timezone used for advanced scheduling. + * + * @return builder + * + */ + public Builder scheduling(@Nullable Output scheduling) { + $.scheduling = scheduling; + return this; + } + + /** + * @param scheduling Object containing timeframes and timezone used for advanced scheduling. + * + * @return builder + * + */ + public Builder scheduling(SyntheticsTestMobileOptionsListSchedulingArgs scheduling) { + return scheduling(Output.of(scheduling)); + } + + /** + * @param tickEvery How often the test should run (in seconds). + * + * @return builder + * + */ + public Builder tickEvery(Output tickEvery) { + $.tickEvery = tickEvery; + return this; + } + + /** + * @param tickEvery How often the test should run (in seconds). + * + * @return builder + * + */ + public Builder tickEvery(Integer tickEvery) { + return tickEvery(Output.of(tickEvery)); + } + + public Builder verbosity(@Nullable Output verbosity) { + $.verbosity = verbosity; + return this; + } + + public Builder verbosity(Integer verbosity) { + return verbosity(Output.of(verbosity)); + } + + public SyntheticsTestMobileOptionsListArgs build() { + if ($.deviceIds == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListArgs", "deviceIds"); + } + if ($.mobileApplication == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListArgs", "mobileApplication"); + } + if ($.tickEvery == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListArgs", "tickEvery"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListBindingArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListBindingArgs.java new file mode 100644 index 000000000..7ca694f44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListBindingArgs.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileOptionsListBindingArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListBindingArgs Empty = new SyntheticsTestMobileOptionsListBindingArgs(); + + @Import(name="principals") + private @Nullable Output> principals; + + public Optional>> principals() { + return Optional.ofNullable(this.principals); + } + + /** + * Valid values are `editor`, `viewer`. + * + */ + @Import(name="relation") + private @Nullable Output relation; + + /** + * @return Valid values are `editor`, `viewer`. + * + */ + public Optional> relation() { + return Optional.ofNullable(this.relation); + } + + private SyntheticsTestMobileOptionsListBindingArgs() {} + + private SyntheticsTestMobileOptionsListBindingArgs(SyntheticsTestMobileOptionsListBindingArgs $) { + this.principals = $.principals; + this.relation = $.relation; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListBindingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListBindingArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListBindingArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListBindingArgs defaults) { + $ = new SyntheticsTestMobileOptionsListBindingArgs(Objects.requireNonNull(defaults)); + } + + public Builder principals(@Nullable Output> principals) { + $.principals = principals; + return this; + } + + public Builder principals(List principals) { + return principals(Output.of(principals)); + } + + public Builder principals(String... principals) { + return principals(List.of(principals)); + } + + /** + * @param relation Valid values are `editor`, `viewer`. + * + * @return builder + * + */ + public Builder relation(@Nullable Output relation) { + $.relation = relation; + return this; + } + + /** + * @param relation Valid values are `editor`, `viewer`. + * + * @return builder + * + */ + public Builder relation(String relation) { + return relation(Output.of(relation)); + } + + public SyntheticsTestMobileOptionsListBindingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListCiArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListCiArgs.java new file mode 100644 index 000000000..1a2abd825 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListCiArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class SyntheticsTestMobileOptionsListCiArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListCiArgs Empty = new SyntheticsTestMobileOptionsListCiArgs(); + + /** + * Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + * + */ + @Import(name="executionRule", required=true) + private Output executionRule; + + /** + * @return Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + * + */ + public Output executionRule() { + return this.executionRule; + } + + private SyntheticsTestMobileOptionsListCiArgs() {} + + private SyntheticsTestMobileOptionsListCiArgs(SyntheticsTestMobileOptionsListCiArgs $) { + this.executionRule = $.executionRule; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListCiArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListCiArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListCiArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListCiArgs defaults) { + $ = new SyntheticsTestMobileOptionsListCiArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param executionRule Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + * + * @return builder + * + */ + public Builder executionRule(Output executionRule) { + $.executionRule = executionRule; + return this; + } + + /** + * @param executionRule Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + * + * @return builder + * + */ + public Builder executionRule(String executionRule) { + return executionRule(Output.of(executionRule)); + } + + public SyntheticsTestMobileOptionsListCiArgs build() { + if ($.executionRule == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListCiArgs", "executionRule"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.java new file mode 100644 index 000000000..5f14f832a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMobileApplicationArgs.java @@ -0,0 +1,125 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class SyntheticsTestMobileOptionsListMobileApplicationArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListMobileApplicationArgs Empty = new SyntheticsTestMobileOptionsListMobileApplicationArgs(); + + @Import(name="applicationId", required=true) + private Output applicationId; + + public Output applicationId() { + return this.applicationId; + } + + @Import(name="referenceId", required=true) + private Output referenceId; + + public Output referenceId() { + return this.referenceId; + } + + /** + * Valid values are `latest`, `version`. + * + */ + @Import(name="referenceType", required=true) + private Output referenceType; + + /** + * @return Valid values are `latest`, `version`. + * + */ + public Output referenceType() { + return this.referenceType; + } + + private SyntheticsTestMobileOptionsListMobileApplicationArgs() {} + + private SyntheticsTestMobileOptionsListMobileApplicationArgs(SyntheticsTestMobileOptionsListMobileApplicationArgs $) { + this.applicationId = $.applicationId; + this.referenceId = $.referenceId; + this.referenceType = $.referenceType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListMobileApplicationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListMobileApplicationArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListMobileApplicationArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListMobileApplicationArgs defaults) { + $ = new SyntheticsTestMobileOptionsListMobileApplicationArgs(Objects.requireNonNull(defaults)); + } + + public Builder applicationId(Output applicationId) { + $.applicationId = applicationId; + return this; + } + + public Builder applicationId(String applicationId) { + return applicationId(Output.of(applicationId)); + } + + public Builder referenceId(Output referenceId) { + $.referenceId = referenceId; + return this; + } + + public Builder referenceId(String referenceId) { + return referenceId(Output.of(referenceId)); + } + + /** + * @param referenceType Valid values are `latest`, `version`. + * + * @return builder + * + */ + public Builder referenceType(Output referenceType) { + $.referenceType = referenceType; + return this; + } + + /** + * @param referenceType Valid values are `latest`, `version`. + * + * @return builder + * + */ + public Builder referenceType(String referenceType) { + return referenceType(Output.of(referenceType)); + } + + public SyntheticsTestMobileOptionsListMobileApplicationArgs build() { + if ($.applicationId == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListMobileApplicationArgs", "applicationId"); + } + if ($.referenceId == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListMobileApplicationArgs", "referenceId"); + } + if ($.referenceType == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListMobileApplicationArgs", "referenceType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.java new file mode 100644 index 000000000..70e178ce4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListMonitorOptionsArgs.java @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileOptionsListMonitorOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListMonitorOptionsArgs Empty = new SyntheticsTestMobileOptionsListMonitorOptionsArgs(); + + @Import(name="escalationMessage") + private @Nullable Output escalationMessage; + + public Optional> escalationMessage() { + return Optional.ofNullable(this.escalationMessage); + } + + /** + * Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + * + */ + @Import(name="notificationPresetName") + private @Nullable Output notificationPresetName; + + /** + * @return Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + * + */ + public Optional> notificationPresetName() { + return Optional.ofNullable(this.notificationPresetName); + } + + /** + * Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + * + */ + @Import(name="renotifyInterval") + private @Nullable Output renotifyInterval; + + /** + * @return Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + * + */ + public Optional> renotifyInterval() { + return Optional.ofNullable(this.renotifyInterval); + } + + @Import(name="renotifyOccurrences") + private @Nullable Output renotifyOccurrences; + + public Optional> renotifyOccurrences() { + return Optional.ofNullable(this.renotifyOccurrences); + } + + private SyntheticsTestMobileOptionsListMonitorOptionsArgs() {} + + private SyntheticsTestMobileOptionsListMonitorOptionsArgs(SyntheticsTestMobileOptionsListMonitorOptionsArgs $) { + this.escalationMessage = $.escalationMessage; + this.notificationPresetName = $.notificationPresetName; + this.renotifyInterval = $.renotifyInterval; + this.renotifyOccurrences = $.renotifyOccurrences; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListMonitorOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListMonitorOptionsArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListMonitorOptionsArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListMonitorOptionsArgs defaults) { + $ = new SyntheticsTestMobileOptionsListMonitorOptionsArgs(Objects.requireNonNull(defaults)); + } + + public Builder escalationMessage(@Nullable Output escalationMessage) { + $.escalationMessage = escalationMessage; + return this; + } + + public Builder escalationMessage(String escalationMessage) { + return escalationMessage(Output.of(escalationMessage)); + } + + /** + * @param notificationPresetName Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + * + * @return builder + * + */ + public Builder notificationPresetName(@Nullable Output notificationPresetName) { + $.notificationPresetName = notificationPresetName; + return this; + } + + /** + * @param notificationPresetName Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + * + * @return builder + * + */ + public Builder notificationPresetName(String notificationPresetName) { + return notificationPresetName(Output.of(notificationPresetName)); + } + + /** + * @param renotifyInterval Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + * + * @return builder + * + */ + public Builder renotifyInterval(@Nullable Output renotifyInterval) { + $.renotifyInterval = renotifyInterval; + return this; + } + + /** + * @param renotifyInterval Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + * + * @return builder + * + */ + public Builder renotifyInterval(Integer renotifyInterval) { + return renotifyInterval(Output.of(renotifyInterval)); + } + + public Builder renotifyOccurrences(@Nullable Output renotifyOccurrences) { + $.renotifyOccurrences = renotifyOccurrences; + return this; + } + + public Builder renotifyOccurrences(Integer renotifyOccurrences) { + return renotifyOccurrences(Output.of(renotifyOccurrences)); + } + + public SyntheticsTestMobileOptionsListMonitorOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListRetryArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListRetryArgs.java new file mode 100644 index 000000000..abc25fd63 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListRetryArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileOptionsListRetryArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListRetryArgs Empty = new SyntheticsTestMobileOptionsListRetryArgs(); + + /** + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + * + */ + @Import(name="count") + private @Nullable Output count; + + /** + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + * + */ + public Optional> count() { + return Optional.ofNullable(this.count); + } + + /** + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + * + */ + @Import(name="interval") + private @Nullable Output interval; + + /** + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + * + */ + public Optional> interval() { + return Optional.ofNullable(this.interval); + } + + private SyntheticsTestMobileOptionsListRetryArgs() {} + + private SyntheticsTestMobileOptionsListRetryArgs(SyntheticsTestMobileOptionsListRetryArgs $) { + this.count = $.count; + this.interval = $.interval; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListRetryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListRetryArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListRetryArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListRetryArgs defaults) { + $ = new SyntheticsTestMobileOptionsListRetryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param count Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + * + * @return builder + * + */ + public Builder count(@Nullable Output count) { + $.count = count; + return this; + } + + /** + * @param count Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + * + * @return builder + * + */ + public Builder count(Integer count) { + return count(Output.of(count)); + } + + /** + * @param interval Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + * + * @return builder + * + */ + public Builder interval(@Nullable Output interval) { + $.interval = interval; + return this; + } + + /** + * @param interval Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + * + * @return builder + * + */ + public Builder interval(Integer interval) { + return interval(Output.of(interval)); + } + + public SyntheticsTestMobileOptionsListRetryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingArgs.java new file mode 100644 index 000000000..104f3ba2f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingArgs.java @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListSchedulingTimeframeArgs; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class SyntheticsTestMobileOptionsListSchedulingArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListSchedulingArgs Empty = new SyntheticsTestMobileOptionsListSchedulingArgs(); + + /** + * Array containing objects describing the scheduling pattern to apply to each day. + * + */ + @Import(name="timeframes", required=true) + private Output> timeframes; + + /** + * @return Array containing objects describing the scheduling pattern to apply to each day. + * + */ + public Output> timeframes() { + return this.timeframes; + } + + /** + * Timezone in which the timeframe is based. + * + */ + @Import(name="timezone", required=true) + private Output timezone; + + /** + * @return Timezone in which the timeframe is based. + * + */ + public Output timezone() { + return this.timezone; + } + + private SyntheticsTestMobileOptionsListSchedulingArgs() {} + + private SyntheticsTestMobileOptionsListSchedulingArgs(SyntheticsTestMobileOptionsListSchedulingArgs $) { + this.timeframes = $.timeframes; + this.timezone = $.timezone; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListSchedulingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListSchedulingArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListSchedulingArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListSchedulingArgs defaults) { + $ = new SyntheticsTestMobileOptionsListSchedulingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param timeframes Array containing objects describing the scheduling pattern to apply to each day. + * + * @return builder + * + */ + public Builder timeframes(Output> timeframes) { + $.timeframes = timeframes; + return this; + } + + /** + * @param timeframes Array containing objects describing the scheduling pattern to apply to each day. + * + * @return builder + * + */ + public Builder timeframes(List timeframes) { + return timeframes(Output.of(timeframes)); + } + + /** + * @param timeframes Array containing objects describing the scheduling pattern to apply to each day. + * + * @return builder + * + */ + public Builder timeframes(SyntheticsTestMobileOptionsListSchedulingTimeframeArgs... timeframes) { + return timeframes(List.of(timeframes)); + } + + /** + * @param timezone Timezone in which the timeframe is based. + * + * @return builder + * + */ + public Builder timezone(Output timezone) { + $.timezone = timezone; + return this; + } + + /** + * @param timezone Timezone in which the timeframe is based. + * + * @return builder + * + */ + public Builder timezone(String timezone) { + return timezone(Output.of(timezone)); + } + + public SyntheticsTestMobileOptionsListSchedulingArgs build() { + if ($.timeframes == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingArgs", "timeframes"); + } + if ($.timezone == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingArgs", "timezone"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.java new file mode 100644 index 000000000..68aef9642 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileOptionsListSchedulingTimeframeArgs.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class SyntheticsTestMobileOptionsListSchedulingTimeframeArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileOptionsListSchedulingTimeframeArgs Empty = new SyntheticsTestMobileOptionsListSchedulingTimeframeArgs(); + + /** + * Number representing the day of the week + * + */ + @Import(name="day", required=true) + private Output day; + + /** + * @return Number representing the day of the week + * + */ + public Output day() { + return this.day; + } + + /** + * The hour of the day on which scheduling starts. + * + */ + @Import(name="from", required=true) + private Output from; + + /** + * @return The hour of the day on which scheduling starts. + * + */ + public Output from() { + return this.from; + } + + /** + * The hour of the day on which scheduling ends. + * + */ + @Import(name="to", required=true) + private Output to; + + /** + * @return The hour of the day on which scheduling ends. + * + */ + public Output to() { + return this.to; + } + + private SyntheticsTestMobileOptionsListSchedulingTimeframeArgs() {} + + private SyntheticsTestMobileOptionsListSchedulingTimeframeArgs(SyntheticsTestMobileOptionsListSchedulingTimeframeArgs $) { + this.day = $.day; + this.from = $.from; + this.to = $.to; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileOptionsListSchedulingTimeframeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileOptionsListSchedulingTimeframeArgs $; + + public Builder() { + $ = new SyntheticsTestMobileOptionsListSchedulingTimeframeArgs(); + } + + public Builder(SyntheticsTestMobileOptionsListSchedulingTimeframeArgs defaults) { + $ = new SyntheticsTestMobileOptionsListSchedulingTimeframeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param day Number representing the day of the week + * + * @return builder + * + */ + public Builder day(Output day) { + $.day = day; + return this; + } + + /** + * @param day Number representing the day of the week + * + * @return builder + * + */ + public Builder day(Integer day) { + return day(Output.of(day)); + } + + /** + * @param from The hour of the day on which scheduling starts. + * + * @return builder + * + */ + public Builder from(Output from) { + $.from = from; + return this; + } + + /** + * @param from The hour of the day on which scheduling starts. + * + * @return builder + * + */ + public Builder from(String from) { + return from(Output.of(from)); + } + + /** + * @param to The hour of the day on which scheduling ends. + * + * @return builder + * + */ + public Builder to(Output to) { + $.to = to; + return this; + } + + /** + * @param to The hour of the day on which scheduling ends. + * + * @return builder + * + */ + public Builder to(String to) { + return to(Output.of(to)); + } + + public SyntheticsTestMobileOptionsListSchedulingTimeframeArgs build() { + if ($.day == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingTimeframeArgs", "day"); + } + if ($.from == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingTimeframeArgs", "from"); + } + if ($.to == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingTimeframeArgs", "to"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepArgs.java new file mode 100644 index 000000000..d146108c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepArgs.java @@ -0,0 +1,392 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsArgs; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepArgs Empty = new SyntheticsTestMobileStepArgs(); + + /** + * A boolean set to allow this step to fail. + * + */ + @Import(name="allowFailure") + private @Nullable Output allowFailure; + + /** + * @return A boolean set to allow this step to fail. + * + */ + public Optional> allowFailure() { + return Optional.ofNullable(this.allowFailure); + } + + /** + * A boolean set to determine if the step has a new step element. + * + */ + @Import(name="hasNewStepElement") + private @Nullable Output hasNewStepElement; + + /** + * @return A boolean set to determine if the step has a new step element. + * + */ + public Optional> hasNewStepElement() { + return Optional.ofNullable(this.hasNewStepElement); + } + + /** + * A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + * + */ + @Import(name="isCritical") + private @Nullable Output isCritical; + + /** + * @return A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + * + */ + public Optional> isCritical() { + return Optional.ofNullable(this.isCritical); + } + + /** + * The name of the step. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the step. + * + */ + public Output name() { + return this.name; + } + + /** + * A boolean set to not take a screenshot for the step. + * + */ + @Import(name="noScreenshot") + private @Nullable Output noScreenshot; + + /** + * @return A boolean set to not take a screenshot for the step. + * + */ + public Optional> noScreenshot() { + return Optional.ofNullable(this.noScreenshot); + } + + /** + * Parameters for the step. + * + */ + @Import(name="params", required=true) + private Output params; + + /** + * @return Parameters for the step. + * + */ + public Output params() { + return this.params; + } + + /** + * The public ID of the step. + * + */ + @Import(name="publicId") + private @Nullable Output publicId; + + /** + * @return The public ID of the step. + * + */ + public Optional> publicId() { + return Optional.ofNullable(this.publicId); + } + + /** + * The time before declaring a step failed. + * + */ + @Import(name="timeout") + private @Nullable Output timeout; + + /** + * @return The time before declaring a step failed. + * + */ + public Optional> timeout() { + return Optional.ofNullable(this.timeout); + } + + /** + * The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + * + */ + public Output type() { + return this.type; + } + + private SyntheticsTestMobileStepArgs() {} + + private SyntheticsTestMobileStepArgs(SyntheticsTestMobileStepArgs $) { + this.allowFailure = $.allowFailure; + this.hasNewStepElement = $.hasNewStepElement; + this.isCritical = $.isCritical; + this.name = $.name; + this.noScreenshot = $.noScreenshot; + this.params = $.params; + this.publicId = $.publicId; + this.timeout = $.timeout; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepArgs(); + } + + public Builder(SyntheticsTestMobileStepArgs defaults) { + $ = new SyntheticsTestMobileStepArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param allowFailure A boolean set to allow this step to fail. + * + * @return builder + * + */ + public Builder allowFailure(@Nullable Output allowFailure) { + $.allowFailure = allowFailure; + return this; + } + + /** + * @param allowFailure A boolean set to allow this step to fail. + * + * @return builder + * + */ + public Builder allowFailure(Boolean allowFailure) { + return allowFailure(Output.of(allowFailure)); + } + + /** + * @param hasNewStepElement A boolean set to determine if the step has a new step element. + * + * @return builder + * + */ + public Builder hasNewStepElement(@Nullable Output hasNewStepElement) { + $.hasNewStepElement = hasNewStepElement; + return this; + } + + /** + * @param hasNewStepElement A boolean set to determine if the step has a new step element. + * + * @return builder + * + */ + public Builder hasNewStepElement(Boolean hasNewStepElement) { + return hasNewStepElement(Output.of(hasNewStepElement)); + } + + /** + * @param isCritical A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + * + * @return builder + * + */ + public Builder isCritical(@Nullable Output isCritical) { + $.isCritical = isCritical; + return this; + } + + /** + * @param isCritical A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + * + * @return builder + * + */ + public Builder isCritical(Boolean isCritical) { + return isCritical(Output.of(isCritical)); + } + + /** + * @param name The name of the step. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the step. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param noScreenshot A boolean set to not take a screenshot for the step. + * + * @return builder + * + */ + public Builder noScreenshot(@Nullable Output noScreenshot) { + $.noScreenshot = noScreenshot; + return this; + } + + /** + * @param noScreenshot A boolean set to not take a screenshot for the step. + * + * @return builder + * + */ + public Builder noScreenshot(Boolean noScreenshot) { + return noScreenshot(Output.of(noScreenshot)); + } + + /** + * @param params Parameters for the step. + * + * @return builder + * + */ + public Builder params(Output params) { + $.params = params; + return this; + } + + /** + * @param params Parameters for the step. + * + * @return builder + * + */ + public Builder params(SyntheticsTestMobileStepParamsArgs params) { + return params(Output.of(params)); + } + + /** + * @param publicId The public ID of the step. + * + * @return builder + * + */ + public Builder publicId(@Nullable Output publicId) { + $.publicId = publicId; + return this; + } + + /** + * @param publicId The public ID of the step. + * + * @return builder + * + */ + public Builder publicId(String publicId) { + return publicId(Output.of(publicId)); + } + + /** + * @param timeout The time before declaring a step failed. + * + * @return builder + * + */ + public Builder timeout(@Nullable Output timeout) { + $.timeout = timeout; + return this; + } + + /** + * @param timeout The time before declaring a step failed. + * + * @return builder + * + */ + public Builder timeout(Integer timeout) { + return timeout(Output.of(timeout)); + } + + /** + * @param type The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public SyntheticsTestMobileStepArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStepArgs", "name"); + } + if ($.params == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStepArgs", "params"); + } + if ($.type == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStepArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsArgs.java new file mode 100644 index 000000000..3ebea4349 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsArgs.java @@ -0,0 +1,458 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsPositionArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsVariableArgs; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsArgs Empty = new SyntheticsTestMobileStepParamsArgs(); + + /** + * Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + * + */ + @Import(name="check") + private @Nullable Output check; + + /** + * @return Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + * + */ + public Optional> check() { + return Optional.ofNullable(this.check); + } + + /** + * Delay between each key stroke for a "type test" step. + * + */ + @Import(name="delay") + private @Nullable Output delay; + + /** + * @return Delay between each key stroke for a "type test" step. + * + */ + public Optional> delay() { + return Optional.ofNullable(this.delay); + } + + /** + * Valid values are `up`, `down`, `left`, `right`. + * + */ + @Import(name="direction") + private @Nullable Output direction; + + /** + * @return Valid values are `up`, `down`, `left`, `right`. + * + */ + public Optional> direction() { + return Optional.ofNullable(this.direction); + } + + /** + * Element to use for the step, JSON encoded string. + * + */ + @Import(name="element") + private @Nullable Output element; + + /** + * @return Element to use for the step, JSON encoded string. + * + */ + public Optional> element() { + return Optional.ofNullable(this.element); + } + + @Import(name="enable") + private @Nullable Output enable; + + public Optional> enable() { + return Optional.ofNullable(this.enable); + } + + @Import(name="maxScrolls") + private @Nullable Output maxScrolls; + + public Optional> maxScrolls() { + return Optional.ofNullable(this.maxScrolls); + } + + @Import(name="positions") + private @Nullable Output> positions; + + public Optional>> positions() { + return Optional.ofNullable(this.positions); + } + + /** + * ID of the Synthetics test to use as subtest. + * + */ + @Import(name="subtestPublicId") + private @Nullable Output subtestPublicId; + + /** + * @return ID of the Synthetics test to use as subtest. + * + */ + public Optional> subtestPublicId() { + return Optional.ofNullable(this.subtestPublicId); + } + + /** + * Value of the step. + * + */ + @Import(name="value") + private @Nullable Output value; + + /** + * @return Value of the step. + * + */ + public Optional> value() { + return Optional.ofNullable(this.value); + } + + /** + * Details of the variable to extract. + * + */ + @Import(name="variable") + private @Nullable Output variable; + + /** + * @return Details of the variable to extract. + * + */ + public Optional> variable() { + return Optional.ofNullable(this.variable); + } + + @Import(name="withEnter") + private @Nullable Output withEnter; + + public Optional> withEnter() { + return Optional.ofNullable(this.withEnter); + } + + /** + * X coordinates for a "scroll step". + * + */ + @Import(name="x") + private @Nullable Output x; + + /** + * @return X coordinates for a "scroll step". + * + */ + public Optional> x() { + return Optional.ofNullable(this.x); + } + + /** + * Y coordinates for a "scroll step". + * + */ + @Import(name="y") + private @Nullable Output y; + + /** + * @return Y coordinates for a "scroll step". + * + */ + public Optional> y() { + return Optional.ofNullable(this.y); + } + + private SyntheticsTestMobileStepParamsArgs() {} + + private SyntheticsTestMobileStepParamsArgs(SyntheticsTestMobileStepParamsArgs $) { + this.check = $.check; + this.delay = $.delay; + this.direction = $.direction; + this.element = $.element; + this.enable = $.enable; + this.maxScrolls = $.maxScrolls; + this.positions = $.positions; + this.subtestPublicId = $.subtestPublicId; + this.value = $.value; + this.variable = $.variable; + this.withEnter = $.withEnter; + this.x = $.x; + this.y = $.y; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsArgs defaults) { + $ = new SyntheticsTestMobileStepParamsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param check Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + * + * @return builder + * + */ + public Builder check(@Nullable Output check) { + $.check = check; + return this; + } + + /** + * @param check Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + * + * @return builder + * + */ + public Builder check(String check) { + return check(Output.of(check)); + } + + /** + * @param delay Delay between each key stroke for a "type test" step. + * + * @return builder + * + */ + public Builder delay(@Nullable Output delay) { + $.delay = delay; + return this; + } + + /** + * @param delay Delay between each key stroke for a "type test" step. + * + * @return builder + * + */ + public Builder delay(Integer delay) { + return delay(Output.of(delay)); + } + + /** + * @param direction Valid values are `up`, `down`, `left`, `right`. + * + * @return builder + * + */ + public Builder direction(@Nullable Output direction) { + $.direction = direction; + return this; + } + + /** + * @param direction Valid values are `up`, `down`, `left`, `right`. + * + * @return builder + * + */ + public Builder direction(String direction) { + return direction(Output.of(direction)); + } + + /** + * @param element Element to use for the step, JSON encoded string. + * + * @return builder + * + */ + public Builder element(@Nullable Output element) { + $.element = element; + return this; + } + + /** + * @param element Element to use for the step, JSON encoded string. + * + * @return builder + * + */ + public Builder element(SyntheticsTestMobileStepParamsElementArgs element) { + return element(Output.of(element)); + } + + public Builder enable(@Nullable Output enable) { + $.enable = enable; + return this; + } + + public Builder enable(Boolean enable) { + return enable(Output.of(enable)); + } + + public Builder maxScrolls(@Nullable Output maxScrolls) { + $.maxScrolls = maxScrolls; + return this; + } + + public Builder maxScrolls(Integer maxScrolls) { + return maxScrolls(Output.of(maxScrolls)); + } + + public Builder positions(@Nullable Output> positions) { + $.positions = positions; + return this; + } + + public Builder positions(List positions) { + return positions(Output.of(positions)); + } + + public Builder positions(SyntheticsTestMobileStepParamsPositionArgs... positions) { + return positions(List.of(positions)); + } + + /** + * @param subtestPublicId ID of the Synthetics test to use as subtest. + * + * @return builder + * + */ + public Builder subtestPublicId(@Nullable Output subtestPublicId) { + $.subtestPublicId = subtestPublicId; + return this; + } + + /** + * @param subtestPublicId ID of the Synthetics test to use as subtest. + * + * @return builder + * + */ + public Builder subtestPublicId(String subtestPublicId) { + return subtestPublicId(Output.of(subtestPublicId)); + } + + /** + * @param value Value of the step. + * + * @return builder + * + */ + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + /** + * @param value Value of the step. + * + * @return builder + * + */ + public Builder value(String value) { + return value(Output.of(value)); + } + + /** + * @param variable Details of the variable to extract. + * + * @return builder + * + */ + public Builder variable(@Nullable Output variable) { + $.variable = variable; + return this; + } + + /** + * @param variable Details of the variable to extract. + * + * @return builder + * + */ + public Builder variable(SyntheticsTestMobileStepParamsVariableArgs variable) { + return variable(Output.of(variable)); + } + + public Builder withEnter(@Nullable Output withEnter) { + $.withEnter = withEnter; + return this; + } + + public Builder withEnter(Boolean withEnter) { + return withEnter(Output.of(withEnter)); + } + + /** + * @param x X coordinates for a "scroll step". + * + * @return builder + * + */ + public Builder x(@Nullable Output x) { + $.x = x; + return this; + } + + /** + * @param x X coordinates for a "scroll step". + * + * @return builder + * + */ + public Builder x(Double x) { + return x(Output.of(x)); + } + + /** + * @param y Y coordinates for a "scroll step". + * + * @return builder + * + */ + public Builder y(@Nullable Output y) { + $.y = y; + return this; + } + + /** + * @param y Y coordinates for a "scroll step". + * + * @return builder + * + */ + public Builder y(Double y) { + return y(Output.of(y)); + } + + public SyntheticsTestMobileStepParamsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementArgs.java new file mode 100644 index 000000000..ed7189984 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementRelativePositionArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementUserLocatorArgs; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsElementArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsElementArgs Empty = new SyntheticsTestMobileStepParamsElementArgs(); + + @Import(name="context") + private @Nullable Output context; + + public Optional> context() { + return Optional.ofNullable(this.context); + } + + /** + * Valid values are `native`, `web`. + * + */ + @Import(name="contextType") + private @Nullable Output contextType; + + /** + * @return Valid values are `native`, `web`. + * + */ + public Optional> contextType() { + return Optional.ofNullable(this.contextType); + } + + @Import(name="elementDescription") + private @Nullable Output elementDescription; + + public Optional> elementDescription() { + return Optional.ofNullable(this.elementDescription); + } + + @Import(name="multiLocator") + private @Nullable Output> multiLocator; + + public Optional>> multiLocator() { + return Optional.ofNullable(this.multiLocator); + } + + @Import(name="relativePosition") + private @Nullable Output relativePosition; + + public Optional> relativePosition() { + return Optional.ofNullable(this.relativePosition); + } + + @Import(name="textContent") + private @Nullable Output textContent; + + public Optional> textContent() { + return Optional.ofNullable(this.textContent); + } + + @Import(name="userLocator") + private @Nullable Output userLocator; + + public Optional> userLocator() { + return Optional.ofNullable(this.userLocator); + } + + @Import(name="viewName") + private @Nullable Output viewName; + + public Optional> viewName() { + return Optional.ofNullable(this.viewName); + } + + private SyntheticsTestMobileStepParamsElementArgs() {} + + private SyntheticsTestMobileStepParamsElementArgs(SyntheticsTestMobileStepParamsElementArgs $) { + this.context = $.context; + this.contextType = $.contextType; + this.elementDescription = $.elementDescription; + this.multiLocator = $.multiLocator; + this.relativePosition = $.relativePosition; + this.textContent = $.textContent; + this.userLocator = $.userLocator; + this.viewName = $.viewName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsElementArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsElementArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsElementArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsElementArgs defaults) { + $ = new SyntheticsTestMobileStepParamsElementArgs(Objects.requireNonNull(defaults)); + } + + public Builder context(@Nullable Output context) { + $.context = context; + return this; + } + + public Builder context(String context) { + return context(Output.of(context)); + } + + /** + * @param contextType Valid values are `native`, `web`. + * + * @return builder + * + */ + public Builder contextType(@Nullable Output contextType) { + $.contextType = contextType; + return this; + } + + /** + * @param contextType Valid values are `native`, `web`. + * + * @return builder + * + */ + public Builder contextType(String contextType) { + return contextType(Output.of(contextType)); + } + + public Builder elementDescription(@Nullable Output elementDescription) { + $.elementDescription = elementDescription; + return this; + } + + public Builder elementDescription(String elementDescription) { + return elementDescription(Output.of(elementDescription)); + } + + public Builder multiLocator(@Nullable Output> multiLocator) { + $.multiLocator = multiLocator; + return this; + } + + public Builder multiLocator(Map multiLocator) { + return multiLocator(Output.of(multiLocator)); + } + + public Builder relativePosition(@Nullable Output relativePosition) { + $.relativePosition = relativePosition; + return this; + } + + public Builder relativePosition(SyntheticsTestMobileStepParamsElementRelativePositionArgs relativePosition) { + return relativePosition(Output.of(relativePosition)); + } + + public Builder textContent(@Nullable Output textContent) { + $.textContent = textContent; + return this; + } + + public Builder textContent(String textContent) { + return textContent(Output.of(textContent)); + } + + public Builder userLocator(@Nullable Output userLocator) { + $.userLocator = userLocator; + return this; + } + + public Builder userLocator(SyntheticsTestMobileStepParamsElementUserLocatorArgs userLocator) { + return userLocator(Output.of(userLocator)); + } + + public Builder viewName(@Nullable Output viewName) { + $.viewName = viewName; + return this; + } + + public Builder viewName(String viewName) { + return viewName(Output.of(viewName)); + } + + public SyntheticsTestMobileStepParamsElementArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.java new file mode 100644 index 000000000..7a5ce7f08 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementRelativePositionArgs.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsElementRelativePositionArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsElementRelativePositionArgs Empty = new SyntheticsTestMobileStepParamsElementRelativePositionArgs(); + + @Import(name="x") + private @Nullable Output x; + + public Optional> x() { + return Optional.ofNullable(this.x); + } + + @Import(name="y") + private @Nullable Output y; + + public Optional> y() { + return Optional.ofNullable(this.y); + } + + private SyntheticsTestMobileStepParamsElementRelativePositionArgs() {} + + private SyntheticsTestMobileStepParamsElementRelativePositionArgs(SyntheticsTestMobileStepParamsElementRelativePositionArgs $) { + this.x = $.x; + this.y = $.y; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsElementRelativePositionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsElementRelativePositionArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsElementRelativePositionArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsElementRelativePositionArgs defaults) { + $ = new SyntheticsTestMobileStepParamsElementRelativePositionArgs(Objects.requireNonNull(defaults)); + } + + public Builder x(@Nullable Output x) { + $.x = x; + return this; + } + + public Builder x(Double x) { + return x(Output.of(x)); + } + + public Builder y(@Nullable Output y) { + $.y = y; + return this; + } + + public Builder y(Double y) { + return y(Output.of(y)); + } + + public SyntheticsTestMobileStepParamsElementRelativePositionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.java new file mode 100644 index 000000000..71fa198b2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorArgs.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepParamsElementUserLocatorValueArgs; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsElementUserLocatorArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsElementUserLocatorArgs Empty = new SyntheticsTestMobileStepParamsElementUserLocatorArgs(); + + @Import(name="failTestOnCannotLocate") + private @Nullable Output failTestOnCannotLocate; + + public Optional> failTestOnCannotLocate() { + return Optional.ofNullable(this.failTestOnCannotLocate); + } + + @Import(name="values") + private @Nullable Output> values; + + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private SyntheticsTestMobileStepParamsElementUserLocatorArgs() {} + + private SyntheticsTestMobileStepParamsElementUserLocatorArgs(SyntheticsTestMobileStepParamsElementUserLocatorArgs $) { + this.failTestOnCannotLocate = $.failTestOnCannotLocate; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsElementUserLocatorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsElementUserLocatorArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsElementUserLocatorArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsElementUserLocatorArgs defaults) { + $ = new SyntheticsTestMobileStepParamsElementUserLocatorArgs(Objects.requireNonNull(defaults)); + } + + public Builder failTestOnCannotLocate(@Nullable Output failTestOnCannotLocate) { + $.failTestOnCannotLocate = failTestOnCannotLocate; + return this; + } + + public Builder failTestOnCannotLocate(Boolean failTestOnCannotLocate) { + return failTestOnCannotLocate(Output.of(failTestOnCannotLocate)); + } + + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + public Builder values(List values) { + return values(Output.of(values)); + } + + public Builder values(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs... values) { + return values(List.of(values)); + } + + public SyntheticsTestMobileStepParamsElementUserLocatorArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.java new file mode 100644 index 000000000..93de83c98 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsElementUserLocatorValueArgs.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsElementUserLocatorValueArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsElementUserLocatorValueArgs Empty = new SyntheticsTestMobileStepParamsElementUserLocatorValueArgs(); + + /** + * Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + * + */ + @Import(name="type") + private @Nullable Output type; + + /** + * @return Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + * + */ + public Optional> type() { + return Optional.ofNullable(this.type); + } + + @Import(name="value") + private @Nullable Output value; + + public Optional> value() { + return Optional.ofNullable(this.value); + } + + private SyntheticsTestMobileStepParamsElementUserLocatorValueArgs() {} + + private SyntheticsTestMobileStepParamsElementUserLocatorValueArgs(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs $) { + this.type = $.type; + this.value = $.value; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsElementUserLocatorValueArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsElementUserLocatorValueArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsElementUserLocatorValueArgs defaults) { + $ = new SyntheticsTestMobileStepParamsElementUserLocatorValueArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + * + * @return builder + * + */ + public Builder type(@Nullable Output type) { + $.type = type; + return this; + } + + /** + * @param type Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public Builder value(@Nullable Output value) { + $.value = value; + return this; + } + + public Builder value(String value) { + return value(Output.of(value)); + } + + public SyntheticsTestMobileStepParamsElementUserLocatorValueArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsPositionArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsPositionArgs.java new file mode 100644 index 000000000..f019f6707 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsPositionArgs.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Double; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsPositionArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsPositionArgs Empty = new SyntheticsTestMobileStepParamsPositionArgs(); + + @Import(name="x") + private @Nullable Output x; + + public Optional> x() { + return Optional.ofNullable(this.x); + } + + @Import(name="y") + private @Nullable Output y; + + public Optional> y() { + return Optional.ofNullable(this.y); + } + + private SyntheticsTestMobileStepParamsPositionArgs() {} + + private SyntheticsTestMobileStepParamsPositionArgs(SyntheticsTestMobileStepParamsPositionArgs $) { + this.x = $.x; + this.y = $.y; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsPositionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsPositionArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsPositionArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsPositionArgs defaults) { + $ = new SyntheticsTestMobileStepParamsPositionArgs(Objects.requireNonNull(defaults)); + } + + public Builder x(@Nullable Output x) { + $.x = x; + return this; + } + + public Builder x(Double x) { + return x(Output.of(x)); + } + + public Builder y(@Nullable Output y) { + $.y = y; + return this; + } + + public Builder y(Double y) { + return y(Output.of(y)); + } + + public SyntheticsTestMobileStepParamsPositionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsVariableArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsVariableArgs.java new file mode 100644 index 000000000..4c30491c2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestMobileStepParamsVariableArgs.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class SyntheticsTestMobileStepParamsVariableArgs extends com.pulumi.resources.ResourceArgs { + + public static final SyntheticsTestMobileStepParamsVariableArgs Empty = new SyntheticsTestMobileStepParamsVariableArgs(); + + /** + * Example of the extracted variable. Defaults to `""`. + * + */ + @Import(name="example") + private @Nullable Output example; + + /** + * @return Example of the extracted variable. Defaults to `""`. + * + */ + public Optional> example() { + return Optional.ofNullable(this.example); + } + + /** + * Name of the extracted variable. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the extracted variable. + * + */ + public Output name() { + return this.name; + } + + private SyntheticsTestMobileStepParamsVariableArgs() {} + + private SyntheticsTestMobileStepParamsVariableArgs(SyntheticsTestMobileStepParamsVariableArgs $) { + this.example = $.example; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(SyntheticsTestMobileStepParamsVariableArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private SyntheticsTestMobileStepParamsVariableArgs $; + + public Builder() { + $ = new SyntheticsTestMobileStepParamsVariableArgs(); + } + + public Builder(SyntheticsTestMobileStepParamsVariableArgs defaults) { + $ = new SyntheticsTestMobileStepParamsVariableArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param example Example of the extracted variable. Defaults to `""`. + * + * @return builder + * + */ + public Builder example(@Nullable Output example) { + $.example = example; + return this; + } + + /** + * @param example Example of the extracted variable. Defaults to `""`. + * + * @return builder + * + */ + public Builder example(String example) { + return example(Output.of(example)); + } + + /** + * @param name Name of the extracted variable. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the extracted variable. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public SyntheticsTestMobileStepParamsVariableArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStepParamsVariableArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestOptionsListRetryArgs.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestOptionsListRetryArgs.java index acf75db25..f347bf7a0 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestOptionsListRetryArgs.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestOptionsListRetryArgs.java @@ -16,14 +16,14 @@ public final class SyntheticsTestOptionsListRetryArgs extends com.pulumi.resourc public static final SyntheticsTestOptionsListRetryArgs Empty = new SyntheticsTestOptionsListRetryArgs(); /** - * Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ @Import(name="count") private @Nullable Output count; /** - * @return Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ public Optional> count() { @@ -31,14 +31,14 @@ public Optional> count() { } /** - * Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ @Import(name="interval") private @Nullable Output interval; /** - * @return Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ public Optional> interval() { @@ -71,7 +71,7 @@ public Builder(SyntheticsTestOptionsListRetryArgs defaults) { } /** - * @param count Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @param count Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * * @return builder * @@ -82,7 +82,7 @@ public Builder count(@Nullable Output count) { } /** - * @param count Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @param count Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * * @return builder * @@ -92,7 +92,7 @@ public Builder count(Integer count) { } /** - * @param interval Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @param interval Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * * @return builder * @@ -103,7 +103,7 @@ public Builder interval(@Nullable Output interval) { } /** - * @param interval Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @param interval Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java index 4b35d6e75..539588067 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/inputs/SyntheticsTestState.java @@ -10,6 +10,8 @@ import com.pulumi.datadog.inputs.SyntheticsTestBrowserStepArgs; import com.pulumi.datadog.inputs.SyntheticsTestBrowserVariableArgs; import com.pulumi.datadog.inputs.SyntheticsTestConfigVariableArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileOptionsListArgs; +import com.pulumi.datadog.inputs.SyntheticsTestMobileStepArgs; import com.pulumi.datadog.inputs.SyntheticsTestOptionsListArgs; import com.pulumi.datadog.inputs.SyntheticsTestRequestBasicauthArgs; import com.pulumi.datadog.inputs.SyntheticsTestRequestClientCertificateArgs; @@ -90,6 +92,21 @@ public Optional>> browserVariable return Optional.ofNullable(this.browserVariables); } + /** + * Initial application arguments for the mobile test. + * + */ + @Import(name="configInitialApplicationArguments") + private @Nullable Output> configInitialApplicationArguments; + + /** + * @return Initial application arguments for the mobile test. + * + */ + public Optional>> configInitialApplicationArguments() { + return Optional.ofNullable(this.configInitialApplicationArguments); + } + /** * Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. * @@ -106,14 +123,14 @@ public Optional>> configVariables( } /** - * Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * Required if `type = "browser"`. Array with the different device IDs used to run the test. * */ @Import(name="deviceIds") private @Nullable Output> deviceIds; /** - * @return Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @return Required if `type = "browser"`. Array with the different device IDs used to run the test. * */ public Optional>> deviceIds() { @@ -165,6 +182,28 @@ public Optional> message() { return Optional.ofNullable(this.message); } + @Import(name="mobileOptionsList") + private @Nullable Output mobileOptionsList; + + public Optional> mobileOptionsList() { + return Optional.ofNullable(this.mobileOptionsList); + } + + /** + * Steps for mobile tests + * + */ + @Import(name="mobileSteps") + private @Nullable Output> mobileSteps; + + /** + * @return Steps for mobile tests + * + */ + public Optional>> mobileSteps() { + return Optional.ofNullable(this.mobileSteps); + } + /** * ID of the monitor associated with the Datadog synthetics test. * @@ -419,11 +458,14 @@ private SyntheticsTestState(SyntheticsTestState $) { this.assertions = $.assertions; this.browserSteps = $.browserSteps; this.browserVariables = $.browserVariables; + this.configInitialApplicationArguments = $.configInitialApplicationArguments; this.configVariables = $.configVariables; this.deviceIds = $.deviceIds; this.forceDeleteDependencies = $.forceDeleteDependencies; this.locations = $.locations; this.message = $.message; + this.mobileOptionsList = $.mobileOptionsList; + this.mobileSteps = $.mobileSteps; this.monitorId = $.monitorId; this.name = $.name; this.optionsList = $.optionsList; @@ -585,6 +627,27 @@ public Builder browserVariables(SyntheticsTestBrowserVariableArgs... browserVari return browserVariables(List.of(browserVariables)); } + /** + * @param configInitialApplicationArguments Initial application arguments for the mobile test. + * + * @return builder + * + */ + public Builder configInitialApplicationArguments(@Nullable Output> configInitialApplicationArguments) { + $.configInitialApplicationArguments = configInitialApplicationArguments; + return this; + } + + /** + * @param configInitialApplicationArguments Initial application arguments for the mobile test. + * + * @return builder + * + */ + public Builder configInitialApplicationArguments(Map configInitialApplicationArguments) { + return configInitialApplicationArguments(Output.of(configInitialApplicationArguments)); + } + /** * @param configVariables Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. * @@ -617,7 +680,7 @@ public Builder configVariables(SyntheticsTestConfigVariableArgs... configVariabl } /** - * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. * * @return builder * @@ -628,7 +691,7 @@ public Builder deviceIds(@Nullable Output> deviceIds) { } /** - * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. * * @return builder * @@ -638,7 +701,7 @@ public Builder deviceIds(List deviceIds) { } /** - * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * @param deviceIds Required if `type = "browser"`. Array with the different device IDs used to run the test. * * @return builder * @@ -720,6 +783,46 @@ public Builder message(String message) { return message(Output.of(message)); } + public Builder mobileOptionsList(@Nullable Output mobileOptionsList) { + $.mobileOptionsList = mobileOptionsList; + return this; + } + + public Builder mobileOptionsList(SyntheticsTestMobileOptionsListArgs mobileOptionsList) { + return mobileOptionsList(Output.of(mobileOptionsList)); + } + + /** + * @param mobileSteps Steps for mobile tests + * + * @return builder + * + */ + public Builder mobileSteps(@Nullable Output> mobileSteps) { + $.mobileSteps = mobileSteps; + return this; + } + + /** + * @param mobileSteps Steps for mobile tests + * + * @return builder + * + */ + public Builder mobileSteps(List mobileSteps) { + return mobileSteps(Output.of(mobileSteps)); + } + + /** + * @param mobileSteps Steps for mobile tests + * + * @return builder + * + */ + public Builder mobileSteps(SyntheticsTestMobileStepArgs... mobileSteps) { + return mobileSteps(List.of(mobileSteps)); + } + /** * @param monitorId ID of the monitor associated with the Datadog synthetics test. * diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSensitiveDataScannerStandardPatternResult.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSensitiveDataScannerStandardPatternResult.java index fd316f782..09b8f0c65 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSensitiveDataScannerStandardPatternResult.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/GetSensitiveDataScannerStandardPatternResult.java @@ -11,6 +11,11 @@ @CustomType public final class GetSensitiveDataScannerStandardPatternResult { + /** + * @return Description of the standard pattern. + * + */ + private String description; /** * @return Filter all the Datadog standard patterns by name. * @@ -32,9 +37,13 @@ public final class GetSensitiveDataScannerStandardPatternResult { */ private String name; /** - * @return Regex that the standard pattern applies. + * @return Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. + * + * @deprecated + * Refer to the description field to understand what the rule does. * */ + @Deprecated /* Refer to the description field to understand what the rule does. */ private String pattern; /** * @return List of tags. @@ -43,6 +52,13 @@ public final class GetSensitiveDataScannerStandardPatternResult { private List tags; private GetSensitiveDataScannerStandardPatternResult() {} + /** + * @return Description of the standard pattern. + * + */ + public String description() { + return this.description; + } /** * @return Filter all the Datadog standard patterns by name. * @@ -72,9 +88,13 @@ public String name() { return this.name; } /** - * @return Regex that the standard pattern applies. + * @return Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. + * + * @deprecated + * Refer to the description field to understand what the rule does. * */ + @Deprecated /* Refer to the description field to understand what the rule does. */ public String pattern() { return this.pattern; } @@ -95,6 +115,7 @@ public static Builder builder(GetSensitiveDataScannerStandardPatternResult defau } @CustomType.Builder public static final class Builder { + private String description; private String filter; private String id; private List includedKeywords; @@ -104,6 +125,7 @@ public static final class Builder { public Builder() {} public Builder(GetSensitiveDataScannerStandardPatternResult defaults) { Objects.requireNonNull(defaults); + this.description = defaults.description; this.filter = defaults.filter; this.id = defaults.id; this.includedKeywords = defaults.includedKeywords; @@ -112,6 +134,14 @@ public Builder(GetSensitiveDataScannerStandardPatternResult defaults) { this.tags = defaults.tags; } + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetSensitiveDataScannerStandardPatternResult", "description"); + } + this.description = description; + return this; + } @CustomType.Setter public Builder filter(String filter) { if (filter == null) { @@ -168,6 +198,7 @@ public Builder tags(String... tags) { } public GetSensitiveDataScannerStandardPatternResult build() { final var _resultValue = new GetSensitiveDataScannerStandardPatternResult(); + _resultValue.description = description; _resultValue.filter = filter; _resultValue.id = id; _resultValue.includedKeywords = includedKeywords; diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java index d3520e39e..f54c5c14e 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStep.java @@ -34,6 +34,11 @@ public final class SyntheticsTestApiStep { * */ private @Nullable List assertions; + /** + * @return Determines whether or not to exit the test if the step succeeds. + * + */ + private @Nullable Boolean exitIfSucceed; /** * @return Values to parse and save as variables from the response. * @@ -116,6 +121,13 @@ public Optional allowFailure() { public List assertions() { return this.assertions == null ? List.of() : this.assertions; } + /** + * @return Determines whether or not to exit the test if the step succeeds. + * + */ + public Optional exitIfSucceed() { + return Optional.ofNullable(this.exitIfSucceed); + } /** * @return Values to parse and save as variables from the response. * @@ -222,6 +234,7 @@ public static Builder builder(SyntheticsTestApiStep defaults) { public static final class Builder { private @Nullable Boolean allowFailure; private @Nullable List assertions; + private @Nullable Boolean exitIfSucceed; private @Nullable List extractedValues; private @Nullable Boolean isCritical; private String name; @@ -241,6 +254,7 @@ public Builder(SyntheticsTestApiStep defaults) { Objects.requireNonNull(defaults); this.allowFailure = defaults.allowFailure; this.assertions = defaults.assertions; + this.exitIfSucceed = defaults.exitIfSucceed; this.extractedValues = defaults.extractedValues; this.isCritical = defaults.isCritical; this.name = defaults.name; @@ -273,6 +287,12 @@ public Builder assertions(SyntheticsTestApiStepAssertion... assertions) { return assertions(List.of(assertions)); } @CustomType.Setter + public Builder exitIfSucceed(@Nullable Boolean exitIfSucceed) { + + this.exitIfSucceed = exitIfSucceed; + return this; + } + @CustomType.Setter public Builder extractedValues(@Nullable List extractedValues) { this.extractedValues = extractedValues; @@ -368,6 +388,7 @@ public SyntheticsTestApiStep build() { final var _resultValue = new SyntheticsTestApiStep(); _resultValue.allowFailure = allowFailure; _resultValue.assertions = assertions; + _resultValue.exitIfSucceed = exitIfSucceed; _resultValue.extractedValues = extractedValues; _resultValue.isCritical = isCritical; _resultValue.name = name; diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRetry.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRetry.java index 5ddd50958..c55522a95 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRetry.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestApiStepRetry.java @@ -12,26 +12,26 @@ @CustomType public final class SyntheticsTestApiStepRetry { /** - * @return Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ private @Nullable Integer count; /** - * @return Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ private @Nullable Integer interval; private SyntheticsTestApiStepRetry() {} /** - * @return Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ public Optional count() { return Optional.ofNullable(this.count); } /** - * @return Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ public Optional interval() { diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsList.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsList.java new file mode 100644 index 000000000..fd5c4ee08 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsList.java @@ -0,0 +1,338 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListBinding; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListCi; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListMobileApplication; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListMonitorOptions; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListRetry; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListScheduling; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileOptionsList { + private @Nullable Boolean allowApplicationCrash; + private @Nullable List bindings; + /** + * @return CI/CD options for a Synthetic test. + * + */ + private @Nullable SyntheticsTestMobileOptionsListCi ci; + private @Nullable Integer defaultStepTimeout; + private List deviceIds; + private @Nullable Boolean disableAutoAcceptAlert; + /** + * @return Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + * + */ + private @Nullable Integer minFailureDuration; + private SyntheticsTestMobileOptionsListMobileApplication mobileApplication; + /** + * @return The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + * + */ + private @Nullable String monitorName; + private @Nullable SyntheticsTestMobileOptionsListMonitorOptions monitorOptions; + private @Nullable Integer monitorPriority; + /** + * @return Prevents saving screenshots of the steps. + * + */ + private @Nullable Boolean noScreenshot; + /** + * @return A list of role identifiers pulled from the Roles API to restrict read and write access. + * + */ + private @Nullable List restrictedRoles; + private @Nullable SyntheticsTestMobileOptionsListRetry retry; + /** + * @return Object containing timeframes and timezone used for advanced scheduling. + * + */ + private @Nullable SyntheticsTestMobileOptionsListScheduling scheduling; + /** + * @return How often the test should run (in seconds). + * + */ + private Integer tickEvery; + private @Nullable Integer verbosity; + + private SyntheticsTestMobileOptionsList() {} + public Optional allowApplicationCrash() { + return Optional.ofNullable(this.allowApplicationCrash); + } + public List bindings() { + return this.bindings == null ? List.of() : this.bindings; + } + /** + * @return CI/CD options for a Synthetic test. + * + */ + public Optional ci() { + return Optional.ofNullable(this.ci); + } + public Optional defaultStepTimeout() { + return Optional.ofNullable(this.defaultStepTimeout); + } + public List deviceIds() { + return this.deviceIds; + } + public Optional disableAutoAcceptAlert() { + return Optional.ofNullable(this.disableAutoAcceptAlert); + } + /** + * @return Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + * + */ + public Optional minFailureDuration() { + return Optional.ofNullable(this.minFailureDuration); + } + public SyntheticsTestMobileOptionsListMobileApplication mobileApplication() { + return this.mobileApplication; + } + /** + * @return The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + * + */ + public Optional monitorName() { + return Optional.ofNullable(this.monitorName); + } + public Optional monitorOptions() { + return Optional.ofNullable(this.monitorOptions); + } + public Optional monitorPriority() { + return Optional.ofNullable(this.monitorPriority); + } + /** + * @return Prevents saving screenshots of the steps. + * + */ + public Optional noScreenshot() { + return Optional.ofNullable(this.noScreenshot); + } + /** + * @return A list of role identifiers pulled from the Roles API to restrict read and write access. + * + */ + public List restrictedRoles() { + return this.restrictedRoles == null ? List.of() : this.restrictedRoles; + } + public Optional retry() { + return Optional.ofNullable(this.retry); + } + /** + * @return Object containing timeframes and timezone used for advanced scheduling. + * + */ + public Optional scheduling() { + return Optional.ofNullable(this.scheduling); + } + /** + * @return How often the test should run (in seconds). + * + */ + public Integer tickEvery() { + return this.tickEvery; + } + public Optional verbosity() { + return Optional.ofNullable(this.verbosity); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsList defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean allowApplicationCrash; + private @Nullable List bindings; + private @Nullable SyntheticsTestMobileOptionsListCi ci; + private @Nullable Integer defaultStepTimeout; + private List deviceIds; + private @Nullable Boolean disableAutoAcceptAlert; + private @Nullable Integer minFailureDuration; + private SyntheticsTestMobileOptionsListMobileApplication mobileApplication; + private @Nullable String monitorName; + private @Nullable SyntheticsTestMobileOptionsListMonitorOptions monitorOptions; + private @Nullable Integer monitorPriority; + private @Nullable Boolean noScreenshot; + private @Nullable List restrictedRoles; + private @Nullable SyntheticsTestMobileOptionsListRetry retry; + private @Nullable SyntheticsTestMobileOptionsListScheduling scheduling; + private Integer tickEvery; + private @Nullable Integer verbosity; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsList defaults) { + Objects.requireNonNull(defaults); + this.allowApplicationCrash = defaults.allowApplicationCrash; + this.bindings = defaults.bindings; + this.ci = defaults.ci; + this.defaultStepTimeout = defaults.defaultStepTimeout; + this.deviceIds = defaults.deviceIds; + this.disableAutoAcceptAlert = defaults.disableAutoAcceptAlert; + this.minFailureDuration = defaults.minFailureDuration; + this.mobileApplication = defaults.mobileApplication; + this.monitorName = defaults.monitorName; + this.monitorOptions = defaults.monitorOptions; + this.monitorPriority = defaults.monitorPriority; + this.noScreenshot = defaults.noScreenshot; + this.restrictedRoles = defaults.restrictedRoles; + this.retry = defaults.retry; + this.scheduling = defaults.scheduling; + this.tickEvery = defaults.tickEvery; + this.verbosity = defaults.verbosity; + } + + @CustomType.Setter + public Builder allowApplicationCrash(@Nullable Boolean allowApplicationCrash) { + + this.allowApplicationCrash = allowApplicationCrash; + return this; + } + @CustomType.Setter + public Builder bindings(@Nullable List bindings) { + + this.bindings = bindings; + return this; + } + public Builder bindings(SyntheticsTestMobileOptionsListBinding... bindings) { + return bindings(List.of(bindings)); + } + @CustomType.Setter + public Builder ci(@Nullable SyntheticsTestMobileOptionsListCi ci) { + + this.ci = ci; + return this; + } + @CustomType.Setter + public Builder defaultStepTimeout(@Nullable Integer defaultStepTimeout) { + + this.defaultStepTimeout = defaultStepTimeout; + return this; + } + @CustomType.Setter + public Builder deviceIds(List deviceIds) { + if (deviceIds == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsList", "deviceIds"); + } + this.deviceIds = deviceIds; + return this; + } + public Builder deviceIds(String... deviceIds) { + return deviceIds(List.of(deviceIds)); + } + @CustomType.Setter + public Builder disableAutoAcceptAlert(@Nullable Boolean disableAutoAcceptAlert) { + + this.disableAutoAcceptAlert = disableAutoAcceptAlert; + return this; + } + @CustomType.Setter + public Builder minFailureDuration(@Nullable Integer minFailureDuration) { + + this.minFailureDuration = minFailureDuration; + return this; + } + @CustomType.Setter + public Builder mobileApplication(SyntheticsTestMobileOptionsListMobileApplication mobileApplication) { + if (mobileApplication == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsList", "mobileApplication"); + } + this.mobileApplication = mobileApplication; + return this; + } + @CustomType.Setter + public Builder monitorName(@Nullable String monitorName) { + + this.monitorName = monitorName; + return this; + } + @CustomType.Setter + public Builder monitorOptions(@Nullable SyntheticsTestMobileOptionsListMonitorOptions monitorOptions) { + + this.monitorOptions = monitorOptions; + return this; + } + @CustomType.Setter + public Builder monitorPriority(@Nullable Integer monitorPriority) { + + this.monitorPriority = monitorPriority; + return this; + } + @CustomType.Setter + public Builder noScreenshot(@Nullable Boolean noScreenshot) { + + this.noScreenshot = noScreenshot; + return this; + } + @CustomType.Setter + public Builder restrictedRoles(@Nullable List restrictedRoles) { + + this.restrictedRoles = restrictedRoles; + return this; + } + public Builder restrictedRoles(String... restrictedRoles) { + return restrictedRoles(List.of(restrictedRoles)); + } + @CustomType.Setter + public Builder retry(@Nullable SyntheticsTestMobileOptionsListRetry retry) { + + this.retry = retry; + return this; + } + @CustomType.Setter + public Builder scheduling(@Nullable SyntheticsTestMobileOptionsListScheduling scheduling) { + + this.scheduling = scheduling; + return this; + } + @CustomType.Setter + public Builder tickEvery(Integer tickEvery) { + if (tickEvery == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsList", "tickEvery"); + } + this.tickEvery = tickEvery; + return this; + } + @CustomType.Setter + public Builder verbosity(@Nullable Integer verbosity) { + + this.verbosity = verbosity; + return this; + } + public SyntheticsTestMobileOptionsList build() { + final var _resultValue = new SyntheticsTestMobileOptionsList(); + _resultValue.allowApplicationCrash = allowApplicationCrash; + _resultValue.bindings = bindings; + _resultValue.ci = ci; + _resultValue.defaultStepTimeout = defaultStepTimeout; + _resultValue.deviceIds = deviceIds; + _resultValue.disableAutoAcceptAlert = disableAutoAcceptAlert; + _resultValue.minFailureDuration = minFailureDuration; + _resultValue.mobileApplication = mobileApplication; + _resultValue.monitorName = monitorName; + _resultValue.monitorOptions = monitorOptions; + _resultValue.monitorPriority = monitorPriority; + _resultValue.noScreenshot = noScreenshot; + _resultValue.restrictedRoles = restrictedRoles; + _resultValue.retry = retry; + _resultValue.scheduling = scheduling; + _resultValue.tickEvery = tickEvery; + _resultValue.verbosity = verbosity; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListBinding.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListBinding.java new file mode 100644 index 000000000..a67a37234 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListBinding.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileOptionsListBinding { + private @Nullable List principals; + /** + * @return Valid values are `editor`, `viewer`. + * + */ + private @Nullable String relation; + + private SyntheticsTestMobileOptionsListBinding() {} + public List principals() { + return this.principals == null ? List.of() : this.principals; + } + /** + * @return Valid values are `editor`, `viewer`. + * + */ + public Optional relation() { + return Optional.ofNullable(this.relation); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListBinding defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List principals; + private @Nullable String relation; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListBinding defaults) { + Objects.requireNonNull(defaults); + this.principals = defaults.principals; + this.relation = defaults.relation; + } + + @CustomType.Setter + public Builder principals(@Nullable List principals) { + + this.principals = principals; + return this; + } + public Builder principals(String... principals) { + return principals(List.of(principals)); + } + @CustomType.Setter + public Builder relation(@Nullable String relation) { + + this.relation = relation; + return this; + } + public SyntheticsTestMobileOptionsListBinding build() { + final var _resultValue = new SyntheticsTestMobileOptionsListBinding(); + _resultValue.principals = principals; + _resultValue.relation = relation; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListCi.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListCi.java new file mode 100644 index 000000000..638640de0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListCi.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SyntheticsTestMobileOptionsListCi { + /** + * @return Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + * + */ + private String executionRule; + + private SyntheticsTestMobileOptionsListCi() {} + /** + * @return Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + * + */ + public String executionRule() { + return this.executionRule; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListCi defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String executionRule; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListCi defaults) { + Objects.requireNonNull(defaults); + this.executionRule = defaults.executionRule; + } + + @CustomType.Setter + public Builder executionRule(String executionRule) { + if (executionRule == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListCi", "executionRule"); + } + this.executionRule = executionRule; + return this; + } + public SyntheticsTestMobileOptionsListCi build() { + final var _resultValue = new SyntheticsTestMobileOptionsListCi(); + _resultValue.executionRule = executionRule; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMobileApplication.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMobileApplication.java new file mode 100644 index 000000000..04a82f8c1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMobileApplication.java @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SyntheticsTestMobileOptionsListMobileApplication { + private String applicationId; + private String referenceId; + /** + * @return Valid values are `latest`, `version`. + * + */ + private String referenceType; + + private SyntheticsTestMobileOptionsListMobileApplication() {} + public String applicationId() { + return this.applicationId; + } + public String referenceId() { + return this.referenceId; + } + /** + * @return Valid values are `latest`, `version`. + * + */ + public String referenceType() { + return this.referenceType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListMobileApplication defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String applicationId; + private String referenceId; + private String referenceType; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListMobileApplication defaults) { + Objects.requireNonNull(defaults); + this.applicationId = defaults.applicationId; + this.referenceId = defaults.referenceId; + this.referenceType = defaults.referenceType; + } + + @CustomType.Setter + public Builder applicationId(String applicationId) { + if (applicationId == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListMobileApplication", "applicationId"); + } + this.applicationId = applicationId; + return this; + } + @CustomType.Setter + public Builder referenceId(String referenceId) { + if (referenceId == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListMobileApplication", "referenceId"); + } + this.referenceId = referenceId; + return this; + } + @CustomType.Setter + public Builder referenceType(String referenceType) { + if (referenceType == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListMobileApplication", "referenceType"); + } + this.referenceType = referenceType; + return this; + } + public SyntheticsTestMobileOptionsListMobileApplication build() { + final var _resultValue = new SyntheticsTestMobileOptionsListMobileApplication(); + _resultValue.applicationId = applicationId; + _resultValue.referenceId = referenceId; + _resultValue.referenceType = referenceType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMonitorOptions.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMonitorOptions.java new file mode 100644 index 000000000..664c6a0ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListMonitorOptions.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileOptionsListMonitorOptions { + private @Nullable String escalationMessage; + /** + * @return Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + * + */ + private @Nullable String notificationPresetName; + /** + * @return Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + * + */ + private @Nullable Integer renotifyInterval; + private @Nullable Integer renotifyOccurrences; + + private SyntheticsTestMobileOptionsListMonitorOptions() {} + public Optional escalationMessage() { + return Optional.ofNullable(this.escalationMessage); + } + /** + * @return Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + * + */ + public Optional notificationPresetName() { + return Optional.ofNullable(this.notificationPresetName); + } + /** + * @return Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + * + */ + public Optional renotifyInterval() { + return Optional.ofNullable(this.renotifyInterval); + } + public Optional renotifyOccurrences() { + return Optional.ofNullable(this.renotifyOccurrences); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListMonitorOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String escalationMessage; + private @Nullable String notificationPresetName; + private @Nullable Integer renotifyInterval; + private @Nullable Integer renotifyOccurrences; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListMonitorOptions defaults) { + Objects.requireNonNull(defaults); + this.escalationMessage = defaults.escalationMessage; + this.notificationPresetName = defaults.notificationPresetName; + this.renotifyInterval = defaults.renotifyInterval; + this.renotifyOccurrences = defaults.renotifyOccurrences; + } + + @CustomType.Setter + public Builder escalationMessage(@Nullable String escalationMessage) { + + this.escalationMessage = escalationMessage; + return this; + } + @CustomType.Setter + public Builder notificationPresetName(@Nullable String notificationPresetName) { + + this.notificationPresetName = notificationPresetName; + return this; + } + @CustomType.Setter + public Builder renotifyInterval(@Nullable Integer renotifyInterval) { + + this.renotifyInterval = renotifyInterval; + return this; + } + @CustomType.Setter + public Builder renotifyOccurrences(@Nullable Integer renotifyOccurrences) { + + this.renotifyOccurrences = renotifyOccurrences; + return this; + } + public SyntheticsTestMobileOptionsListMonitorOptions build() { + final var _resultValue = new SyntheticsTestMobileOptionsListMonitorOptions(); + _resultValue.escalationMessage = escalationMessage; + _resultValue.notificationPresetName = notificationPresetName; + _resultValue.renotifyInterval = renotifyInterval; + _resultValue.renotifyOccurrences = renotifyOccurrences; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListRetry.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListRetry.java new file mode 100644 index 000000000..826d6dde9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListRetry.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileOptionsListRetry { + /** + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + * + */ + private @Nullable Integer count; + /** + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + * + */ + private @Nullable Integer interval; + + private SyntheticsTestMobileOptionsListRetry() {} + /** + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + * + */ + public Optional count() { + return Optional.ofNullable(this.count); + } + /** + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + * + */ + public Optional interval() { + return Optional.ofNullable(this.interval); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListRetry defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer count; + private @Nullable Integer interval; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListRetry defaults) { + Objects.requireNonNull(defaults); + this.count = defaults.count; + this.interval = defaults.interval; + } + + @CustomType.Setter + public Builder count(@Nullable Integer count) { + + this.count = count; + return this; + } + @CustomType.Setter + public Builder interval(@Nullable Integer interval) { + + this.interval = interval; + return this; + } + public SyntheticsTestMobileOptionsListRetry build() { + final var _resultValue = new SyntheticsTestMobileOptionsListRetry(); + _resultValue.count = count; + _resultValue.interval = interval; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListScheduling.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListScheduling.java new file mode 100644 index 000000000..57144cfb3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListScheduling.java @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.outputs.SyntheticsTestMobileOptionsListSchedulingTimeframe; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class SyntheticsTestMobileOptionsListScheduling { + /** + * @return Array containing objects describing the scheduling pattern to apply to each day. + * + */ + private List timeframes; + /** + * @return Timezone in which the timeframe is based. + * + */ + private String timezone; + + private SyntheticsTestMobileOptionsListScheduling() {} + /** + * @return Array containing objects describing the scheduling pattern to apply to each day. + * + */ + public List timeframes() { + return this.timeframes; + } + /** + * @return Timezone in which the timeframe is based. + * + */ + public String timezone() { + return this.timezone; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListScheduling defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List timeframes; + private String timezone; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListScheduling defaults) { + Objects.requireNonNull(defaults); + this.timeframes = defaults.timeframes; + this.timezone = defaults.timezone; + } + + @CustomType.Setter + public Builder timeframes(List timeframes) { + if (timeframes == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListScheduling", "timeframes"); + } + this.timeframes = timeframes; + return this; + } + public Builder timeframes(SyntheticsTestMobileOptionsListSchedulingTimeframe... timeframes) { + return timeframes(List.of(timeframes)); + } + @CustomType.Setter + public Builder timezone(String timezone) { + if (timezone == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListScheduling", "timezone"); + } + this.timezone = timezone; + return this; + } + public SyntheticsTestMobileOptionsListScheduling build() { + final var _resultValue = new SyntheticsTestMobileOptionsListScheduling(); + _resultValue.timeframes = timeframes; + _resultValue.timezone = timezone; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.java new file mode 100644 index 000000000..cdaeb1d4f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileOptionsListSchedulingTimeframe.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class SyntheticsTestMobileOptionsListSchedulingTimeframe { + /** + * @return Number representing the day of the week + * + */ + private Integer day; + /** + * @return The hour of the day on which scheduling starts. + * + */ + private String from; + /** + * @return The hour of the day on which scheduling ends. + * + */ + private String to; + + private SyntheticsTestMobileOptionsListSchedulingTimeframe() {} + /** + * @return Number representing the day of the week + * + */ + public Integer day() { + return this.day; + } + /** + * @return The hour of the day on which scheduling starts. + * + */ + public String from() { + return this.from; + } + /** + * @return The hour of the day on which scheduling ends. + * + */ + public String to() { + return this.to; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileOptionsListSchedulingTimeframe defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer day; + private String from; + private String to; + public Builder() {} + public Builder(SyntheticsTestMobileOptionsListSchedulingTimeframe defaults) { + Objects.requireNonNull(defaults); + this.day = defaults.day; + this.from = defaults.from; + this.to = defaults.to; + } + + @CustomType.Setter + public Builder day(Integer day) { + if (day == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingTimeframe", "day"); + } + this.day = day; + return this; + } + @CustomType.Setter + public Builder from(String from) { + if (from == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingTimeframe", "from"); + } + this.from = from; + return this; + } + @CustomType.Setter + public Builder to(String to) { + if (to == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileOptionsListSchedulingTimeframe", "to"); + } + this.to = to; + return this; + } + public SyntheticsTestMobileOptionsListSchedulingTimeframe build() { + final var _resultValue = new SyntheticsTestMobileOptionsListSchedulingTimeframe(); + _resultValue.day = day; + _resultValue.from = from; + _resultValue.to = to; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStep.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStep.java new file mode 100644 index 000000000..ce024c514 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStep.java @@ -0,0 +1,235 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParams; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStep { + /** + * @return A boolean set to allow this step to fail. + * + */ + private @Nullable Boolean allowFailure; + /** + * @return A boolean set to determine if the step has a new step element. + * + */ + private @Nullable Boolean hasNewStepElement; + /** + * @return A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + * + */ + private @Nullable Boolean isCritical; + /** + * @return The name of the step. + * + */ + private String name; + /** + * @return A boolean set to not take a screenshot for the step. + * + */ + private @Nullable Boolean noScreenshot; + /** + * @return Parameters for the step. + * + */ + private SyntheticsTestMobileStepParams params; + /** + * @return The public ID of the step. + * + */ + private @Nullable String publicId; + /** + * @return The time before declaring a step failed. + * + */ + private @Nullable Integer timeout; + /** + * @return The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + * + */ + private String type; + + private SyntheticsTestMobileStep() {} + /** + * @return A boolean set to allow this step to fail. + * + */ + public Optional allowFailure() { + return Optional.ofNullable(this.allowFailure); + } + /** + * @return A boolean set to determine if the step has a new step element. + * + */ + public Optional hasNewStepElement() { + return Optional.ofNullable(this.hasNewStepElement); + } + /** + * @return A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + * + */ + public Optional isCritical() { + return Optional.ofNullable(this.isCritical); + } + /** + * @return The name of the step. + * + */ + public String name() { + return this.name; + } + /** + * @return A boolean set to not take a screenshot for the step. + * + */ + public Optional noScreenshot() { + return Optional.ofNullable(this.noScreenshot); + } + /** + * @return Parameters for the step. + * + */ + public SyntheticsTestMobileStepParams params() { + return this.params; + } + /** + * @return The public ID of the step. + * + */ + public Optional publicId() { + return Optional.ofNullable(this.publicId); + } + /** + * @return The time before declaring a step failed. + * + */ + public Optional timeout() { + return Optional.ofNullable(this.timeout); + } + /** + * @return The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStep defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean allowFailure; + private @Nullable Boolean hasNewStepElement; + private @Nullable Boolean isCritical; + private String name; + private @Nullable Boolean noScreenshot; + private SyntheticsTestMobileStepParams params; + private @Nullable String publicId; + private @Nullable Integer timeout; + private String type; + public Builder() {} + public Builder(SyntheticsTestMobileStep defaults) { + Objects.requireNonNull(defaults); + this.allowFailure = defaults.allowFailure; + this.hasNewStepElement = defaults.hasNewStepElement; + this.isCritical = defaults.isCritical; + this.name = defaults.name; + this.noScreenshot = defaults.noScreenshot; + this.params = defaults.params; + this.publicId = defaults.publicId; + this.timeout = defaults.timeout; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder allowFailure(@Nullable Boolean allowFailure) { + + this.allowFailure = allowFailure; + return this; + } + @CustomType.Setter + public Builder hasNewStepElement(@Nullable Boolean hasNewStepElement) { + + this.hasNewStepElement = hasNewStepElement; + return this; + } + @CustomType.Setter + public Builder isCritical(@Nullable Boolean isCritical) { + + this.isCritical = isCritical; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStep", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder noScreenshot(@Nullable Boolean noScreenshot) { + + this.noScreenshot = noScreenshot; + return this; + } + @CustomType.Setter + public Builder params(SyntheticsTestMobileStepParams params) { + if (params == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStep", "params"); + } + this.params = params; + return this; + } + @CustomType.Setter + public Builder publicId(@Nullable String publicId) { + + this.publicId = publicId; + return this; + } + @CustomType.Setter + public Builder timeout(@Nullable Integer timeout) { + + this.timeout = timeout; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStep", "type"); + } + this.type = type; + return this; + } + public SyntheticsTestMobileStep build() { + final var _resultValue = new SyntheticsTestMobileStep(); + _resultValue.allowFailure = allowFailure; + _resultValue.hasNewStepElement = hasNewStepElement; + _resultValue.isCritical = isCritical; + _resultValue.name = name; + _resultValue.noScreenshot = noScreenshot; + _resultValue.params = params; + _resultValue.publicId = publicId; + _resultValue.timeout = timeout; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParams.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParams.java new file mode 100644 index 000000000..5f5d02409 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParams.java @@ -0,0 +1,287 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParamsElement; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParamsPosition; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParamsVariable; +import java.lang.Boolean; +import java.lang.Double; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParams { + /** + * @return Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + * + */ + private @Nullable String check; + /** + * @return Delay between each key stroke for a "type test" step. + * + */ + private @Nullable Integer delay; + /** + * @return Valid values are `up`, `down`, `left`, `right`. + * + */ + private @Nullable String direction; + /** + * @return Element to use for the step, JSON encoded string. + * + */ + private @Nullable SyntheticsTestMobileStepParamsElement element; + private @Nullable Boolean enable; + private @Nullable Integer maxScrolls; + private @Nullable List positions; + /** + * @return ID of the Synthetics test to use as subtest. + * + */ + private @Nullable String subtestPublicId; + /** + * @return Value of the step. + * + */ + private @Nullable String value; + /** + * @return Details of the variable to extract. + * + */ + private @Nullable SyntheticsTestMobileStepParamsVariable variable; + private @Nullable Boolean withEnter; + /** + * @return X coordinates for a "scroll step". + * + */ + private @Nullable Double x; + /** + * @return Y coordinates for a "scroll step". + * + */ + private @Nullable Double y; + + private SyntheticsTestMobileStepParams() {} + /** + * @return Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + * + */ + public Optional check() { + return Optional.ofNullable(this.check); + } + /** + * @return Delay between each key stroke for a "type test" step. + * + */ + public Optional delay() { + return Optional.ofNullable(this.delay); + } + /** + * @return Valid values are `up`, `down`, `left`, `right`. + * + */ + public Optional direction() { + return Optional.ofNullable(this.direction); + } + /** + * @return Element to use for the step, JSON encoded string. + * + */ + public Optional element() { + return Optional.ofNullable(this.element); + } + public Optional enable() { + return Optional.ofNullable(this.enable); + } + public Optional maxScrolls() { + return Optional.ofNullable(this.maxScrolls); + } + public List positions() { + return this.positions == null ? List.of() : this.positions; + } + /** + * @return ID of the Synthetics test to use as subtest. + * + */ + public Optional subtestPublicId() { + return Optional.ofNullable(this.subtestPublicId); + } + /** + * @return Value of the step. + * + */ + public Optional value() { + return Optional.ofNullable(this.value); + } + /** + * @return Details of the variable to extract. + * + */ + public Optional variable() { + return Optional.ofNullable(this.variable); + } + public Optional withEnter() { + return Optional.ofNullable(this.withEnter); + } + /** + * @return X coordinates for a "scroll step". + * + */ + public Optional x() { + return Optional.ofNullable(this.x); + } + /** + * @return Y coordinates for a "scroll step". + * + */ + public Optional y() { + return Optional.ofNullable(this.y); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParams defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String check; + private @Nullable Integer delay; + private @Nullable String direction; + private @Nullable SyntheticsTestMobileStepParamsElement element; + private @Nullable Boolean enable; + private @Nullable Integer maxScrolls; + private @Nullable List positions; + private @Nullable String subtestPublicId; + private @Nullable String value; + private @Nullable SyntheticsTestMobileStepParamsVariable variable; + private @Nullable Boolean withEnter; + private @Nullable Double x; + private @Nullable Double y; + public Builder() {} + public Builder(SyntheticsTestMobileStepParams defaults) { + Objects.requireNonNull(defaults); + this.check = defaults.check; + this.delay = defaults.delay; + this.direction = defaults.direction; + this.element = defaults.element; + this.enable = defaults.enable; + this.maxScrolls = defaults.maxScrolls; + this.positions = defaults.positions; + this.subtestPublicId = defaults.subtestPublicId; + this.value = defaults.value; + this.variable = defaults.variable; + this.withEnter = defaults.withEnter; + this.x = defaults.x; + this.y = defaults.y; + } + + @CustomType.Setter + public Builder check(@Nullable String check) { + + this.check = check; + return this; + } + @CustomType.Setter + public Builder delay(@Nullable Integer delay) { + + this.delay = delay; + return this; + } + @CustomType.Setter + public Builder direction(@Nullable String direction) { + + this.direction = direction; + return this; + } + @CustomType.Setter + public Builder element(@Nullable SyntheticsTestMobileStepParamsElement element) { + + this.element = element; + return this; + } + @CustomType.Setter + public Builder enable(@Nullable Boolean enable) { + + this.enable = enable; + return this; + } + @CustomType.Setter + public Builder maxScrolls(@Nullable Integer maxScrolls) { + + this.maxScrolls = maxScrolls; + return this; + } + @CustomType.Setter + public Builder positions(@Nullable List positions) { + + this.positions = positions; + return this; + } + public Builder positions(SyntheticsTestMobileStepParamsPosition... positions) { + return positions(List.of(positions)); + } + @CustomType.Setter + public Builder subtestPublicId(@Nullable String subtestPublicId) { + + this.subtestPublicId = subtestPublicId; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + @CustomType.Setter + public Builder variable(@Nullable SyntheticsTestMobileStepParamsVariable variable) { + + this.variable = variable; + return this; + } + @CustomType.Setter + public Builder withEnter(@Nullable Boolean withEnter) { + + this.withEnter = withEnter; + return this; + } + @CustomType.Setter + public Builder x(@Nullable Double x) { + + this.x = x; + return this; + } + @CustomType.Setter + public Builder y(@Nullable Double y) { + + this.y = y; + return this; + } + public SyntheticsTestMobileStepParams build() { + final var _resultValue = new SyntheticsTestMobileStepParams(); + _resultValue.check = check; + _resultValue.delay = delay; + _resultValue.direction = direction; + _resultValue.element = element; + _resultValue.enable = enable; + _resultValue.maxScrolls = maxScrolls; + _resultValue.positions = positions; + _resultValue.subtestPublicId = subtestPublicId; + _resultValue.value = value; + _resultValue.variable = variable; + _resultValue.withEnter = withEnter; + _resultValue.x = x; + _resultValue.y = y; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElement.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElement.java new file mode 100644 index 000000000..3fd03d7d8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElement.java @@ -0,0 +1,151 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParamsElementRelativePosition; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParamsElementUserLocator; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParamsElement { + private @Nullable String context; + /** + * @return Valid values are `native`, `web`. + * + */ + private @Nullable String contextType; + private @Nullable String elementDescription; + private @Nullable Map multiLocator; + private @Nullable SyntheticsTestMobileStepParamsElementRelativePosition relativePosition; + private @Nullable String textContent; + private @Nullable SyntheticsTestMobileStepParamsElementUserLocator userLocator; + private @Nullable String viewName; + + private SyntheticsTestMobileStepParamsElement() {} + public Optional context() { + return Optional.ofNullable(this.context); + } + /** + * @return Valid values are `native`, `web`. + * + */ + public Optional contextType() { + return Optional.ofNullable(this.contextType); + } + public Optional elementDescription() { + return Optional.ofNullable(this.elementDescription); + } + public Map multiLocator() { + return this.multiLocator == null ? Map.of() : this.multiLocator; + } + public Optional relativePosition() { + return Optional.ofNullable(this.relativePosition); + } + public Optional textContent() { + return Optional.ofNullable(this.textContent); + } + public Optional userLocator() { + return Optional.ofNullable(this.userLocator); + } + public Optional viewName() { + return Optional.ofNullable(this.viewName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParamsElement defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String context; + private @Nullable String contextType; + private @Nullable String elementDescription; + private @Nullable Map multiLocator; + private @Nullable SyntheticsTestMobileStepParamsElementRelativePosition relativePosition; + private @Nullable String textContent; + private @Nullable SyntheticsTestMobileStepParamsElementUserLocator userLocator; + private @Nullable String viewName; + public Builder() {} + public Builder(SyntheticsTestMobileStepParamsElement defaults) { + Objects.requireNonNull(defaults); + this.context = defaults.context; + this.contextType = defaults.contextType; + this.elementDescription = defaults.elementDescription; + this.multiLocator = defaults.multiLocator; + this.relativePosition = defaults.relativePosition; + this.textContent = defaults.textContent; + this.userLocator = defaults.userLocator; + this.viewName = defaults.viewName; + } + + @CustomType.Setter + public Builder context(@Nullable String context) { + + this.context = context; + return this; + } + @CustomType.Setter + public Builder contextType(@Nullable String contextType) { + + this.contextType = contextType; + return this; + } + @CustomType.Setter + public Builder elementDescription(@Nullable String elementDescription) { + + this.elementDescription = elementDescription; + return this; + } + @CustomType.Setter + public Builder multiLocator(@Nullable Map multiLocator) { + + this.multiLocator = multiLocator; + return this; + } + @CustomType.Setter + public Builder relativePosition(@Nullable SyntheticsTestMobileStepParamsElementRelativePosition relativePosition) { + + this.relativePosition = relativePosition; + return this; + } + @CustomType.Setter + public Builder textContent(@Nullable String textContent) { + + this.textContent = textContent; + return this; + } + @CustomType.Setter + public Builder userLocator(@Nullable SyntheticsTestMobileStepParamsElementUserLocator userLocator) { + + this.userLocator = userLocator; + return this; + } + @CustomType.Setter + public Builder viewName(@Nullable String viewName) { + + this.viewName = viewName; + return this; + } + public SyntheticsTestMobileStepParamsElement build() { + final var _resultValue = new SyntheticsTestMobileStepParamsElement(); + _resultValue.context = context; + _resultValue.contextType = contextType; + _resultValue.elementDescription = elementDescription; + _resultValue.multiLocator = multiLocator; + _resultValue.relativePosition = relativePosition; + _resultValue.textContent = textContent; + _resultValue.userLocator = userLocator; + _resultValue.viewName = viewName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementRelativePosition.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementRelativePosition.java new file mode 100644 index 000000000..d8f679e5b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementRelativePosition.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParamsElementRelativePosition { + private @Nullable Double x; + private @Nullable Double y; + + private SyntheticsTestMobileStepParamsElementRelativePosition() {} + public Optional x() { + return Optional.ofNullable(this.x); + } + public Optional y() { + return Optional.ofNullable(this.y); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParamsElementRelativePosition defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double x; + private @Nullable Double y; + public Builder() {} + public Builder(SyntheticsTestMobileStepParamsElementRelativePosition defaults) { + Objects.requireNonNull(defaults); + this.x = defaults.x; + this.y = defaults.y; + } + + @CustomType.Setter + public Builder x(@Nullable Double x) { + + this.x = x; + return this; + } + @CustomType.Setter + public Builder y(@Nullable Double y) { + + this.y = y; + return this; + } + public SyntheticsTestMobileStepParamsElementRelativePosition build() { + final var _resultValue = new SyntheticsTestMobileStepParamsElementRelativePosition(); + _resultValue.x = x; + _resultValue.y = y; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocator.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocator.java new file mode 100644 index 000000000..8f0f48b3e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocator.java @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.datadog.outputs.SyntheticsTestMobileStepParamsElementUserLocatorValue; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParamsElementUserLocator { + private @Nullable Boolean failTestOnCannotLocate; + private @Nullable List values; + + private SyntheticsTestMobileStepParamsElementUserLocator() {} + public Optional failTestOnCannotLocate() { + return Optional.ofNullable(this.failTestOnCannotLocate); + } + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParamsElementUserLocator defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean failTestOnCannotLocate; + private @Nullable List values; + public Builder() {} + public Builder(SyntheticsTestMobileStepParamsElementUserLocator defaults) { + Objects.requireNonNull(defaults); + this.failTestOnCannotLocate = defaults.failTestOnCannotLocate; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder failTestOnCannotLocate(@Nullable Boolean failTestOnCannotLocate) { + + this.failTestOnCannotLocate = failTestOnCannotLocate; + return this; + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(SyntheticsTestMobileStepParamsElementUserLocatorValue... values) { + return values(List.of(values)); + } + public SyntheticsTestMobileStepParamsElementUserLocator build() { + final var _resultValue = new SyntheticsTestMobileStepParamsElementUserLocator(); + _resultValue.failTestOnCannotLocate = failTestOnCannotLocate; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.java new file mode 100644 index 000000000..b87b79203 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsElementUserLocatorValue.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParamsElementUserLocatorValue { + /** + * @return Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + * + */ + private @Nullable String type; + private @Nullable String value; + + private SyntheticsTestMobileStepParamsElementUserLocatorValue() {} + /** + * @return Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + * + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + public Optional value() { + return Optional.ofNullable(this.value); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParamsElementUserLocatorValue defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String type; + private @Nullable String value; + public Builder() {} + public Builder(SyntheticsTestMobileStepParamsElementUserLocatorValue defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder type(@Nullable String type) { + + this.type = type; + return this; + } + @CustomType.Setter + public Builder value(@Nullable String value) { + + this.value = value; + return this; + } + public SyntheticsTestMobileStepParamsElementUserLocatorValue build() { + final var _resultValue = new SyntheticsTestMobileStepParamsElementUserLocatorValue(); + _resultValue.type = type; + _resultValue.value = value; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsPosition.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsPosition.java new file mode 100644 index 000000000..ee9552c56 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsPosition.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Double; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParamsPosition { + private @Nullable Double x; + private @Nullable Double y; + + private SyntheticsTestMobileStepParamsPosition() {} + public Optional x() { + return Optional.ofNullable(this.x); + } + public Optional y() { + return Optional.ofNullable(this.y); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParamsPosition defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Double x; + private @Nullable Double y; + public Builder() {} + public Builder(SyntheticsTestMobileStepParamsPosition defaults) { + Objects.requireNonNull(defaults); + this.x = defaults.x; + this.y = defaults.y; + } + + @CustomType.Setter + public Builder x(@Nullable Double x) { + + this.x = x; + return this; + } + @CustomType.Setter + public Builder y(@Nullable Double y) { + + this.y = y; + return this; + } + public SyntheticsTestMobileStepParamsPosition build() { + final var _resultValue = new SyntheticsTestMobileStepParamsPosition(); + _resultValue.x = x; + _resultValue.y = y; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsVariable.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsVariable.java new file mode 100644 index 000000000..032d95d00 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestMobileStepParamsVariable.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.datadog.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class SyntheticsTestMobileStepParamsVariable { + /** + * @return Example of the extracted variable. Defaults to `""`. + * + */ + private @Nullable String example; + /** + * @return Name of the extracted variable. + * + */ + private String name; + + private SyntheticsTestMobileStepParamsVariable() {} + /** + * @return Example of the extracted variable. Defaults to `""`. + * + */ + public Optional example() { + return Optional.ofNullable(this.example); + } + /** + * @return Name of the extracted variable. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(SyntheticsTestMobileStepParamsVariable defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String example; + private String name; + public Builder() {} + public Builder(SyntheticsTestMobileStepParamsVariable defaults) { + Objects.requireNonNull(defaults); + this.example = defaults.example; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder example(@Nullable String example) { + + this.example = example; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("SyntheticsTestMobileStepParamsVariable", "name"); + } + this.name = name; + return this; + } + public SyntheticsTestMobileStepParamsVariable build() { + final var _resultValue = new SyntheticsTestMobileStepParamsVariable(); + _resultValue.example = example; + _resultValue.name = name; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestOptionsListRetry.java b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestOptionsListRetry.java index 726b0708b..bf961123d 100644 --- a/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestOptionsListRetry.java +++ b/sdk/java/src/main/java/com/pulumi/datadog/outputs/SyntheticsTestOptionsListRetry.java @@ -12,26 +12,26 @@ @CustomType public final class SyntheticsTestOptionsListRetry { /** - * @return Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ private @Nullable Integer count; /** - * @return Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ private @Nullable Integer interval; private SyntheticsTestOptionsListRetry() {} /** - * @return Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * @return Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. * */ public Optional count() { return Optional.ofNullable(this.count); } /** - * @return Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * @return Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. * */ public Optional interval() { diff --git a/sdk/nodejs/aws/getIntegrationAvailableLogsServices.ts b/sdk/nodejs/aws/getIntegrationAvailableLogsServices.ts new file mode 100644 index 000000000..b7f28cad7 --- /dev/null +++ b/sdk/nodejs/aws/getIntegrationAvailableLogsServices.ts @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + */ +export function getIntegrationAvailableLogsServices(opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", { + }, opts); +} + +/** + * A collection of values returned by getIntegrationAvailableLogsServices. + */ +export interface GetIntegrationAvailableLogsServicesResult { + /** + * List of AWS log ready services. + */ + readonly awsLogsServices: string[]; + /** + * The ID of this resource. + */ + readonly id: string; +} +/** + * Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `datadog.aws.IntegrationAccount` resource. + */ +export function getIntegrationAvailableLogsServicesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices", { + }, opts); +} diff --git a/sdk/nodejs/aws/getIntegrationAvailableNamespaces.ts b/sdk/nodejs/aws/getIntegrationAvailableNamespaces.ts new file mode 100644 index 000000000..e45a90ba9 --- /dev/null +++ b/sdk/nodejs/aws/getIntegrationAvailableNamespaces.ts @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `includeOnly` or `excludeOnly` in `datadog.aws.IntegrationAccount` resource. + */ +export function getIntegrationAvailableNamespaces(opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", { + }, opts); +} + +/** + * A collection of values returned by getIntegrationAvailableNamespaces. + */ +export interface GetIntegrationAvailableNamespacesResult { + /** + * List of available AWS namespaces. + */ + readonly awsNamespaces: string[]; + /** + * The ID of this resource. + */ + readonly id: string; +} +/** + * Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `includeOnly` or `excludeOnly` in `datadog.aws.IntegrationAccount` resource. + */ +export function getIntegrationAvailableNamespacesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces", { + }, opts); +} diff --git a/sdk/nodejs/aws/index.ts b/sdk/nodejs/aws/index.ts index a9b8dcaf2..139acfbba 100644 --- a/sdk/nodejs/aws/index.ts +++ b/sdk/nodejs/aws/index.ts @@ -5,6 +5,16 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { GetIntegrationAvailableLogsServicesResult } from "./getIntegrationAvailableLogsServices"; +export const getIntegrationAvailableLogsServices: typeof import("./getIntegrationAvailableLogsServices").getIntegrationAvailableLogsServices = null as any; +export const getIntegrationAvailableLogsServicesOutput: typeof import("./getIntegrationAvailableLogsServices").getIntegrationAvailableLogsServicesOutput = null as any; +utilities.lazyLoad(exports, ["getIntegrationAvailableLogsServices","getIntegrationAvailableLogsServicesOutput"], () => require("./getIntegrationAvailableLogsServices")); + +export { GetIntegrationAvailableNamespacesResult } from "./getIntegrationAvailableNamespaces"; +export const getIntegrationAvailableNamespaces: typeof import("./getIntegrationAvailableNamespaces").getIntegrationAvailableNamespaces = null as any; +export const getIntegrationAvailableNamespacesOutput: typeof import("./getIntegrationAvailableNamespaces").getIntegrationAvailableNamespacesOutput = null as any; +utilities.lazyLoad(exports, ["getIntegrationAvailableNamespaces","getIntegrationAvailableNamespacesOutput"], () => require("./getIntegrationAvailableNamespaces")); + export { GetIntegrationLogsServicesResult } from "./getIntegrationLogsServices"; export const getIntegrationLogsServices: typeof import("./getIntegrationLogsServices").getIntegrationLogsServices = null as any; export const getIntegrationLogsServicesOutput: typeof import("./getIntegrationLogsServices").getIntegrationLogsServicesOutput = null as any; @@ -20,6 +30,11 @@ export type Integration = import("./integration").Integration; export const Integration: typeof import("./integration").Integration = null as any; utilities.lazyLoad(exports, ["Integration"], () => require("./integration")); +export { IntegrationAccountArgs, IntegrationAccountState } from "./integrationAccount"; +export type IntegrationAccount = import("./integrationAccount").IntegrationAccount; +export const IntegrationAccount: typeof import("./integrationAccount").IntegrationAccount = null as any; +utilities.lazyLoad(exports, ["IntegrationAccount"], () => require("./integrationAccount")); + export { IntegrationEventBridgeArgs, IntegrationEventBridgeState } from "./integrationEventBridge"; export type IntegrationEventBridge = import("./integrationEventBridge").IntegrationEventBridge; export const IntegrationEventBridge: typeof import("./integrationEventBridge").IntegrationEventBridge = null as any; @@ -47,6 +62,8 @@ const _module = { switch (type) { case "datadog:aws/integration:Integration": return new Integration(name, undefined, { urn }) + case "datadog:aws/integrationAccount:IntegrationAccount": + return new IntegrationAccount(name, undefined, { urn }) case "datadog:aws/integrationEventBridge:IntegrationEventBridge": return new IntegrationEventBridge(name, undefined, { urn }) case "datadog:aws/integrationLambdaArn:IntegrationLambdaArn": @@ -61,6 +78,7 @@ const _module = { }, }; pulumi.runtime.registerResourceModule("datadog", "aws/integration", _module) +pulumi.runtime.registerResourceModule("datadog", "aws/integrationAccount", _module) pulumi.runtime.registerResourceModule("datadog", "aws/integrationEventBridge", _module) pulumi.runtime.registerResourceModule("datadog", "aws/integrationLambdaArn", _module) pulumi.runtime.registerResourceModule("datadog", "aws/integrationLogCollection", _module) diff --git a/sdk/nodejs/aws/integrationAccount.ts b/sdk/nodejs/aws/integrationAccount.ts new file mode 100644 index 000000000..16de1d050 --- /dev/null +++ b/sdk/nodejs/aws/integrationAccount.ts @@ -0,0 +1,174 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as utilities from "../utilities"; + +/** + * ## Import + * + * ```sh + * $ pulumi import datadog:aws/integrationAccount:IntegrationAccount example "" + * ``` + * + * AWS Account Config ID can be retrieved by using the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and querying by AWS Account ID, or by accessing the `id` field of an existing `datadog_integration_aws` resource. + */ +export class IntegrationAccount extends pulumi.CustomResource { + /** + * Get an existing IntegrationAccount 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. + */ + public static get(name: string, id: pulumi.Input, state?: IntegrationAccountState, opts?: pulumi.CustomResourceOptions): IntegrationAccount { + return new IntegrationAccount(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'datadog:aws/integrationAccount:IntegrationAccount'; + + /** + * Returns true if the given object is an instance of IntegrationAccount. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is IntegrationAccount { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === IntegrationAccount.__pulumiType; + } + + /** + * Tags to apply to all metrics in the account + */ + public readonly accountTags!: pulumi.Output; + public readonly authConfig!: pulumi.Output; + /** + * Your AWS Account ID without dashes. + */ + public readonly awsAccountId!: pulumi.Output; + /** + * AWS Account partition + */ + public readonly awsPartition!: pulumi.Output; + /** + * AWS Regions to collect data from. + */ + public readonly awsRegions!: pulumi.Output; + public readonly logsConfig!: pulumi.Output; + public readonly metricsConfig!: pulumi.Output; + public readonly resourcesConfig!: pulumi.Output; + /** + * AWS Traces Collection config. + */ + public readonly tracesConfig!: pulumi.Output; + + /** + * Create a IntegrationAccount 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: IntegrationAccountArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: IntegrationAccountArgs | IntegrationAccountState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as IntegrationAccountState | undefined; + resourceInputs["accountTags"] = state ? state.accountTags : undefined; + resourceInputs["authConfig"] = state ? state.authConfig : undefined; + resourceInputs["awsAccountId"] = state ? state.awsAccountId : undefined; + resourceInputs["awsPartition"] = state ? state.awsPartition : undefined; + resourceInputs["awsRegions"] = state ? state.awsRegions : undefined; + resourceInputs["logsConfig"] = state ? state.logsConfig : undefined; + resourceInputs["metricsConfig"] = state ? state.metricsConfig : undefined; + resourceInputs["resourcesConfig"] = state ? state.resourcesConfig : undefined; + resourceInputs["tracesConfig"] = state ? state.tracesConfig : undefined; + } else { + const args = argsOrState as IntegrationAccountArgs | undefined; + if ((!args || args.awsAccountId === undefined) && !opts.urn) { + throw new Error("Missing required property 'awsAccountId'"); + } + if ((!args || args.awsPartition === undefined) && !opts.urn) { + throw new Error("Missing required property 'awsPartition'"); + } + resourceInputs["accountTags"] = args ? args.accountTags : undefined; + resourceInputs["authConfig"] = args ? args.authConfig : undefined; + resourceInputs["awsAccountId"] = args ? args.awsAccountId : undefined; + resourceInputs["awsPartition"] = args ? args.awsPartition : undefined; + resourceInputs["awsRegions"] = args ? args.awsRegions : undefined; + resourceInputs["logsConfig"] = args ? args.logsConfig : undefined; + resourceInputs["metricsConfig"] = args ? args.metricsConfig : undefined; + resourceInputs["resourcesConfig"] = args ? args.resourcesConfig : undefined; + resourceInputs["tracesConfig"] = args ? args.tracesConfig : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(IntegrationAccount.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering IntegrationAccount resources. + */ +export interface IntegrationAccountState { + /** + * Tags to apply to all metrics in the account + */ + accountTags?: pulumi.Input[]>; + authConfig?: pulumi.Input; + /** + * Your AWS Account ID without dashes. + */ + awsAccountId?: pulumi.Input; + /** + * AWS Account partition + */ + awsPartition?: pulumi.Input; + /** + * AWS Regions to collect data from. + */ + awsRegions?: pulumi.Input; + logsConfig?: pulumi.Input; + metricsConfig?: pulumi.Input; + resourcesConfig?: pulumi.Input; + /** + * AWS Traces Collection config. + */ + tracesConfig?: pulumi.Input; +} + +/** + * The set of arguments for constructing a IntegrationAccount resource. + */ +export interface IntegrationAccountArgs { + /** + * Tags to apply to all metrics in the account + */ + accountTags?: pulumi.Input[]>; + authConfig?: pulumi.Input; + /** + * Your AWS Account ID without dashes. + */ + awsAccountId: pulumi.Input; + /** + * AWS Account partition + */ + awsPartition: pulumi.Input; + /** + * AWS Regions to collect data from. + */ + awsRegions?: pulumi.Input; + logsConfig?: pulumi.Input; + metricsConfig?: pulumi.Input; + resourcesConfig?: pulumi.Input; + /** + * AWS Traces Collection config. + */ + tracesConfig?: pulumi.Input; +} diff --git a/sdk/nodejs/cloudflare/integrationAccount.ts b/sdk/nodejs/cloudflare/integrationAccount.ts index 609068a5a..11d23679a 100644 --- a/sdk/nodejs/cloudflare/integrationAccount.ts +++ b/sdk/nodejs/cloudflare/integrationAccount.ts @@ -68,7 +68,7 @@ export class IntegrationAccount extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). */ public readonly resources!: pulumi.Output; @@ -126,7 +126,7 @@ export interface IntegrationAccountState { */ name?: pulumi.Input; /** - * An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). */ resources?: pulumi.Input[]>; } @@ -148,7 +148,7 @@ export interface IntegrationAccountArgs { */ name: pulumi.Input; /** - * An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + * An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). */ resources?: pulumi.Input[]>; } diff --git a/sdk/nodejs/dashboard.ts b/sdk/nodejs/dashboard.ts index ab04da167..d287e002c 100644 --- a/sdk/nodejs/dashboard.ts +++ b/sdk/nodejs/dashboard.ts @@ -9,6 +9,8 @@ import * as utilities from "./utilities"; /** * Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards. * + * !> The `isReadOnly` field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. + * * ## Example Usage * * ```typescript @@ -800,9 +802,9 @@ export class Dashboard extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * - * @deprecated Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + * @deprecated This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. */ public readonly isReadOnly!: pulumi.Output; /** @@ -915,9 +917,9 @@ export interface DashboardState { */ description?: pulumi.Input; /** - * Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * - * @deprecated Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + * @deprecated This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. */ isReadOnly?: pulumi.Input; /** @@ -972,9 +974,9 @@ export interface DashboardArgs { */ description?: pulumi.Input; /** - * Whether this dashboard is read-only. **Deprecated.** Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. Defaults to `false`. + * Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. Defaults to `false`. * - * @deprecated Prefer using `restrictedRoles` to define which roles are required to edit the dashboard. + * @deprecated This field is deprecated and non-functional. Use `restrictedRoles` instead to define which roles are required to edit the dashboard. */ isReadOnly?: pulumi.Input; /** diff --git a/sdk/nodejs/getSensitiveDataScannerStandardPattern.ts b/sdk/nodejs/getSensitiveDataScannerStandardPattern.ts index cc696b9b5..0cf77f972 100644 --- a/sdk/nodejs/getSensitiveDataScannerStandardPattern.ts +++ b/sdk/nodejs/getSensitiveDataScannerStandardPattern.ts @@ -28,6 +28,10 @@ export interface GetSensitiveDataScannerStandardPatternArgs { * A collection of values returned by getSensitiveDataScannerStandardPattern. */ export interface GetSensitiveDataScannerStandardPatternResult { + /** + * Description of the standard pattern. + */ + readonly description: string; /** * Filter all the Datadog standard patterns by name. */ @@ -45,7 +49,9 @@ export interface GetSensitiveDataScannerStandardPatternResult { */ readonly name: string; /** - * Regex that the standard pattern applies. + * Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. + * + * @deprecated Refer to the description field to understand what the rule does. */ readonly pattern: string; /** diff --git a/sdk/nodejs/monitor.ts b/sdk/nodejs/monitor.ts index 18419dc59..0231c380d 100644 --- a/sdk/nodejs/monitor.ts +++ b/sdk/nodejs/monitor.ts @@ -76,7 +76,7 @@ export class Monitor extends pulumi.CustomResource { * Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline * monitors. */ - public /*out*/ readonly enableSamples!: pulumi.Output; + public readonly enableSamples!: pulumi.Output; /** * A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. */ @@ -298,6 +298,7 @@ export class Monitor extends pulumi.CustomResource { throw new Error("Missing required property 'type'"); } resourceInputs["enableLogsSample"] = args ? args.enableLogsSample : undefined; + resourceInputs["enableSamples"] = args ? args.enableSamples : undefined; resourceInputs["escalationMessage"] = args ? args.escalationMessage : undefined; resourceInputs["evaluationDelay"] = args ? args.evaluationDelay : undefined; resourceInputs["forceDelete"] = args ? args.forceDelete : undefined; @@ -330,7 +331,6 @@ export class Monitor extends pulumi.CustomResource { resourceInputs["type"] = args ? args.type : undefined; resourceInputs["validate"] = args ? args.validate : undefined; resourceInputs["variables"] = args ? args.variables : undefined; - resourceInputs["enableSamples"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Monitor.__pulumiType, name, resourceInputs, opts); @@ -520,6 +520,11 @@ export interface MonitorArgs { * monitors. Defaults to `false`. */ enableLogsSample?: pulumi.Input; + /** + * Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + * monitors. + */ + enableSamples?: pulumi.Input; /** * A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. */ diff --git a/sdk/nodejs/syntheticsTest.ts b/sdk/nodejs/syntheticsTest.ts index eabd300ab..cf26d18b6 100644 --- a/sdk/nodejs/syntheticsTest.ts +++ b/sdk/nodejs/syntheticsTest.ts @@ -354,6 +354,149 @@ import * as utilities from "./utilities"; * tickEvery: 3600, * }, * }); + * // Example Usage (Synthetics Mobile test) + * // Create a new Datadog Synthetics Mobile test starting on https://www.example.org + * const testMobile = new datadog.SyntheticsTest("test_mobile", { + * type: "mobile", + * name: "A Mobile test on example.org", + * status: "paused", + * message: "Notify @datadog.user", + * tags: [ + * "foo:bar", + * "baz", + * ], + * configVariables: [{ + * example: "123", + * name: "VARIABLE_NAME", + * pattern: "{{numeric(3)}}", + * type: "text", + * secure: false, + * }], + * configInitialApplicationArguments: { + * test_process_argument: "test1", + * }, + * deviceIds: ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"], + * locations: ["aws:eu-central-1"], + * mobileOptionsList: { + * minFailureDuration: 0, + * retry: { + * count: 0, + * interval: 300, + * }, + * tickEvery: 43200, + * scheduling: { + * timeframes: [ + * { + * day: 5, + * from: "07:00", + * to: "16:00", + * }, + * { + * day: 7, + * from: "07:00", + * to: "16:00", + * }, + * ], + * timezone: "UTC", + * }, + * monitorName: "mobile-test-monitor", + * monitorOptions: { + * renotifyInterval: 10, + * escalationMessage: "test escalation message", + * renotifyOccurrences: 3, + * notificationPresetName: "show_all", + * }, + * monitorPriority: 5, + * restrictedRoles: [ + * "role1", + * "role2", + * ], + * bindings: [{ + * principals: [ + * "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091", + * "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002", + * ], + * relation: "editor", + * }], + * ci: { + * executionRule: "blocking", + * }, + * defaultStepTimeout: 10, + * deviceIds: ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"], + * noScreenshot: true, + * allowApplicationCrash: false, + * disableAutoAcceptAlert: true, + * mobileApplication: { + * applicationId: "5f055d15-0000-aaaa-zzzz-6739f83346aa", + * referenceId: "434d4719-0000-aaaa-zzzz-31082b544718", + * referenceType: "version", + * }, + * }, + * mobileSteps: [ + * { + * name: "Tap on StaticText \"Tap\"", + * params: { + * element: { + * context: "NATIVE_APP", + * viewName: "StaticText", + * contextType: "native", + * textContent: "Tap", + * multiLocator: {}, + * relativePosition: { + * x: 0.07256155303030302, + * y: 0.41522381756756754, + * }, + * userLocator: { + * failTestOnCannotLocate: false, + * values: [{ + * type: "id", + * value: "some_id", + * }], + * }, + * elementDescription: "", + * }, + * }, + * timeout: 100, + * type: "tap", + * allowFailure: false, + * isCritical: true, + * noScreenshot: false, + * hasNewStepElement: false, + * }, + * { + * name: "Test View \"Tap\" content", + * params: { + * check: "contains", + * value: "Tap", + * element: { + * context: "NATIVE_APP", + * viewName: "View", + * contextType: "native", + * textContent: "Tap", + * multiLocator: {}, + * relativePosition: { + * x: 0.27660448306074764, + * y: 0.6841517857142857, + * }, + * userLocator: { + * failTestOnCannotLocate: false, + * values: [{ + * type: "id", + * value: "some_id", + * }], + * }, + * elementDescription: "", + * }, + * }, + * timeout: 100, + * type: "assertElementContent", + * allowFailure: false, + * isCritical: true, + * noScreenshot: false, + * hasNewStepElement: false, + * }, + * ], + * }); * // Example Usage (GRPC API behavior check test) * // Create a new Datadog GRPC API test calling host example.org on port 443 * // targeting service `greeter.Greeter` with the method `SayHello` @@ -517,12 +660,16 @@ export class SyntheticsTest extends pulumi.CustomResource { * Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. */ public readonly browserVariables!: pulumi.Output; + /** + * Initial application arguments for the mobile test. + */ + public readonly configInitialApplicationArguments!: pulumi.Output<{[key: string]: string} | undefined>; /** * Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. */ public readonly configVariables!: pulumi.Output; /** - * Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * Required if `type = "browser"`. Array with the different device IDs used to run the test. */ public readonly deviceIds!: pulumi.Output; /** @@ -537,6 +684,11 @@ export class SyntheticsTest extends pulumi.CustomResource { * A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. */ public readonly message!: pulumi.Output; + public readonly mobileOptionsList!: pulumi.Output; + /** + * Steps for mobile tests + */ + public readonly mobileSteps!: pulumi.Output; /** * ID of the monitor associated with the Datadog synthetics test. */ @@ -620,11 +772,14 @@ export class SyntheticsTest extends pulumi.CustomResource { resourceInputs["assertions"] = state ? state.assertions : undefined; resourceInputs["browserSteps"] = state ? state.browserSteps : undefined; resourceInputs["browserVariables"] = state ? state.browserVariables : undefined; + resourceInputs["configInitialApplicationArguments"] = state ? state.configInitialApplicationArguments : undefined; resourceInputs["configVariables"] = state ? state.configVariables : undefined; resourceInputs["deviceIds"] = state ? state.deviceIds : undefined; resourceInputs["forceDeleteDependencies"] = state ? state.forceDeleteDependencies : undefined; resourceInputs["locations"] = state ? state.locations : undefined; resourceInputs["message"] = state ? state.message : undefined; + resourceInputs["mobileOptionsList"] = state ? state.mobileOptionsList : undefined; + resourceInputs["mobileSteps"] = state ? state.mobileSteps : undefined; resourceInputs["monitorId"] = state ? state.monitorId : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["optionsList"] = state ? state.optionsList : undefined; @@ -660,11 +815,14 @@ export class SyntheticsTest extends pulumi.CustomResource { resourceInputs["assertions"] = args ? args.assertions : undefined; resourceInputs["browserSteps"] = args ? args.browserSteps : undefined; resourceInputs["browserVariables"] = args ? args.browserVariables : undefined; + resourceInputs["configInitialApplicationArguments"] = args ? args.configInitialApplicationArguments : undefined; resourceInputs["configVariables"] = args ? args.configVariables : undefined; resourceInputs["deviceIds"] = args ? args.deviceIds : undefined; resourceInputs["forceDeleteDependencies"] = args ? args.forceDeleteDependencies : undefined; resourceInputs["locations"] = args ? args.locations : undefined; resourceInputs["message"] = args ? args.message : undefined; + resourceInputs["mobileOptionsList"] = args ? args.mobileOptionsList : undefined; + resourceInputs["mobileSteps"] = args ? args.mobileSteps : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["optionsList"] = args ? args.optionsList : undefined; resourceInputs["requestBasicauth"] = args ? args.requestBasicauth : undefined; @@ -708,12 +866,16 @@ export interface SyntheticsTestState { * Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. */ browserVariables?: pulumi.Input[]>; + /** + * Initial application arguments for the mobile test. + */ + configInitialApplicationArguments?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. */ configVariables?: pulumi.Input[]>; /** - * Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * Required if `type = "browser"`. Array with the different device IDs used to run the test. */ deviceIds?: pulumi.Input[]>; /** @@ -728,6 +890,11 @@ export interface SyntheticsTestState { * A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. */ message?: pulumi.Input; + mobileOptionsList?: pulumi.Input; + /** + * Steps for mobile tests + */ + mobileSteps?: pulumi.Input[]>; /** * ID of the monitor associated with the Datadog synthetics test. */ @@ -815,12 +982,16 @@ export interface SyntheticsTestArgs { * Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. */ browserVariables?: pulumi.Input[]>; + /** + * Initial application arguments for the mobile test. + */ + configInitialApplicationArguments?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Variables used for the test configuration. Multiple `configVariable` blocks are allowed with the structure below. */ configVariables?: pulumi.Input[]>; /** - * Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptopLarge`, `tablet`, `mobileSmall`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + * Required if `type = "browser"`. Array with the different device IDs used to run the test. */ deviceIds?: pulumi.Input[]>; /** @@ -835,6 +1006,11 @@ export interface SyntheticsTestArgs { * A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. */ message?: pulumi.Input; + mobileOptionsList?: pulumi.Input; + /** + * Steps for mobile tests + */ + mobileSteps?: pulumi.Input[]>; /** * Name of Datadog synthetics test. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 95adda7f6..06fd6947b 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -18,10 +18,13 @@ "apmRetentionFilterOrder.ts", "applicationKey.ts", "authnMapping.ts", + "aws/getIntegrationAvailableLogsServices.ts", + "aws/getIntegrationAvailableNamespaces.ts", "aws/getIntegrationLogsServices.ts", "aws/getIntegrationNamespaceRules.ts", "aws/index.ts", "aws/integration.ts", + "aws/integrationAccount.ts", "aws/integrationEventBridge.ts", "aws/integrationLambdaArn.ts", "aws/integrationLogCollection.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index e33149206..20e342017 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -22321,6 +22321,10 @@ export interface SyntheticsTestApiStep { * Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. */ assertions?: pulumi.Input[]>; + /** + * Determines whether or not to exit the test if the step succeeds. + */ + exitIfSucceed?: pulumi.Input; /** * Values to parse and save as variables from the response. */ @@ -22723,11 +22727,11 @@ export interface SyntheticsTestApiStepRequestProxy { export interface SyntheticsTestApiStepRetry { /** - * Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. */ count?: pulumi.Input; /** - * Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: pulumi.Input; } @@ -23013,6 +23017,251 @@ export interface SyntheticsTestConfigVariable { type: pulumi.Input; } +export interface SyntheticsTestMobileOptionsList { + allowApplicationCrash?: pulumi.Input; + bindings?: pulumi.Input[]>; + /** + * CI/CD options for a Synthetic test. + */ + ci?: pulumi.Input; + defaultStepTimeout?: pulumi.Input; + deviceIds: pulumi.Input[]>; + disableAutoAcceptAlert?: pulumi.Input; + /** + * Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + */ + minFailureDuration?: pulumi.Input; + mobileApplication: pulumi.Input; + /** + * The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + */ + monitorName?: pulumi.Input; + monitorOptions?: pulumi.Input; + monitorPriority?: pulumi.Input; + /** + * Prevents saving screenshots of the steps. + */ + noScreenshot?: pulumi.Input; + /** + * A list of role identifiers pulled from the Roles API to restrict read and write access. + */ + restrictedRoles?: pulumi.Input[]>; + retry?: pulumi.Input; + /** + * Object containing timeframes and timezone used for advanced scheduling. + */ + scheduling?: pulumi.Input; + /** + * How often the test should run (in seconds). + */ + tickEvery: pulumi.Input; + verbosity?: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListBinding { + principals?: pulumi.Input[]>; + /** + * Valid values are `editor`, `viewer`. + */ + relation?: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListCi { + /** + * Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. + */ + executionRule: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListMobileApplication { + applicationId: pulumi.Input; + referenceId: pulumi.Input; + /** + * Valid values are `latest`, `version`. + */ + referenceType: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListMonitorOptions { + escalationMessage?: pulumi.Input; + /** + * Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`. + */ + notificationPresetName?: pulumi.Input; + /** + * Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + */ + renotifyInterval?: pulumi.Input; + renotifyOccurrences?: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListRetry { + /** + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + */ + count?: pulumi.Input; + /** + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + */ + interval?: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListScheduling { + /** + * Array containing objects describing the scheduling pattern to apply to each day. + */ + timeframes: pulumi.Input[]>; + /** + * Timezone in which the timeframe is based. + */ + timezone: pulumi.Input; +} + +export interface SyntheticsTestMobileOptionsListSchedulingTimeframe { + /** + * Number representing the day of the week + */ + day: pulumi.Input; + /** + * The hour of the day on which scheduling starts. + */ + from: pulumi.Input; + /** + * The hour of the day on which scheduling ends. + */ + to: pulumi.Input; +} + +export interface SyntheticsTestMobileStep { + /** + * A boolean set to allow this step to fail. + */ + allowFailure?: pulumi.Input; + /** + * A boolean set to determine if the step has a new step element. + */ + hasNewStepElement?: pulumi.Input; + /** + * A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + */ + isCritical?: pulumi.Input; + /** + * The name of the step. + */ + name: pulumi.Input; + /** + * A boolean set to not take a screenshot for the step. + */ + noScreenshot?: pulumi.Input; + /** + * Parameters for the step. + */ + params: pulumi.Input; + /** + * The public ID of the step. + */ + publicId?: pulumi.Input; + /** + * The time before declaring a step failed. + */ + timeout?: pulumi.Input; + /** + * The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + */ + type: pulumi.Input; +} + +export interface SyntheticsTestMobileStepParams { + /** + * Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + */ + check?: pulumi.Input; + /** + * Delay between each key stroke for a "type test" step. + */ + delay?: pulumi.Input; + /** + * Valid values are `up`, `down`, `left`, `right`. + */ + direction?: pulumi.Input; + /** + * Element to use for the step, JSON encoded string. + */ + element?: pulumi.Input; + enable?: pulumi.Input; + maxScrolls?: pulumi.Input; + positions?: pulumi.Input[]>; + /** + * ID of the Synthetics test to use as subtest. + */ + subtestPublicId?: pulumi.Input; + /** + * Value of the step. + */ + value?: pulumi.Input; + /** + * Details of the variable to extract. + */ + variable?: pulumi.Input; + withEnter?: pulumi.Input; + /** + * X coordinates for a "scroll step". + */ + x?: pulumi.Input; + /** + * Y coordinates for a "scroll step". + */ + y?: pulumi.Input; +} + +export interface SyntheticsTestMobileStepParamsElement { + context?: pulumi.Input; + /** + * Valid values are `native`, `web`. + */ + contextType?: pulumi.Input; + elementDescription?: pulumi.Input; + multiLocator?: pulumi.Input<{[key: string]: pulumi.Input}>; + relativePosition?: pulumi.Input; + textContent?: pulumi.Input; + userLocator?: pulumi.Input; + viewName?: pulumi.Input; +} + +export interface SyntheticsTestMobileStepParamsElementRelativePosition { + x?: pulumi.Input; + y?: pulumi.Input; +} + +export interface SyntheticsTestMobileStepParamsElementUserLocator { + failTestOnCannotLocate?: pulumi.Input; + values?: pulumi.Input[]>; +} + +export interface SyntheticsTestMobileStepParamsElementUserLocatorValue { + /** + * Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + */ + type?: pulumi.Input; + value?: pulumi.Input; +} + +export interface SyntheticsTestMobileStepParamsPosition { + x?: pulumi.Input; + y?: pulumi.Input; +} + +export interface SyntheticsTestMobileStepParamsVariable { + /** + * Example of the extracted variable. Defaults to `""`. + */ + example?: pulumi.Input; + /** + * Name of the extracted variable. + */ + name: pulumi.Input; +} + export interface SyntheticsTestOptionsList { /** * For SSL test, whether or not the test should allow self signed certificates. @@ -23107,11 +23356,11 @@ export interface SyntheticsTestOptionsListMonitorOptions { export interface SyntheticsTestOptionsListRetry { /** - * Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. */ count?: pulumi.Input; /** - * Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: pulumi.Input; } @@ -23384,6 +23633,130 @@ export interface SyntheticsTestRequestProxy { url: pulumi.Input; } export namespace aws { + export interface IntegrationAccountAuthConfig { + awsAuthConfigKeys?: pulumi.Input; + awsAuthConfigRole?: pulumi.Input; + } + + export interface IntegrationAccountAuthConfigAwsAuthConfigKeys { + /** + * AWS Access Key ID + */ + accessKeyId?: pulumi.Input; + secretAccessKey?: pulumi.Input; + } + + export interface IntegrationAccountAuthConfigAwsAuthConfigRole { + /** + * AWS IAM External ID for associated role + */ + externalId?: pulumi.Input; + /** + * AWS IAM Role name + */ + roleName?: pulumi.Input; + } + + export interface IntegrationAccountAwsRegions { + /** + * Include all regions. Defaults to `true`. + */ + includeAll?: pulumi.Input; + /** + * Include only these regions. + */ + includeOnlies?: pulumi.Input[]>; + } + + export interface IntegrationAccountLogsConfig { + lambdaForwarder?: pulumi.Input; + } + + export interface IntegrationAccountLogsConfigLambdaForwarder { + /** + * List of Datadog Lambda Log Forwarder ARNs in your AWS account. + */ + lambdas?: pulumi.Input[]>; + /** + * List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + */ + sources?: pulumi.Input[]>; + } + + export interface IntegrationAccountMetricsConfig { + /** + * Enable EC2 automute for AWS metrics Defaults to `true`. + */ + automuteEnabled?: pulumi.Input; + /** + * Enable CloudWatch alarms collection Defaults to `false`. + */ + collectCloudwatchAlarms?: pulumi.Input; + /** + * Enable custom metrics collection Defaults to `false`. + */ + collectCustomMetrics?: pulumi.Input; + /** + * Enable AWS metrics collection Defaults to `true`. + */ + enabled?: pulumi.Input; + namespaceFilters?: pulumi.Input; + /** + * AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + */ + tagFilters?: pulumi.Input[]>; + } + + export interface IntegrationAccountMetricsConfigNamespaceFilters { + /** + * Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + */ + excludeOnlies?: pulumi.Input[]>; + /** + * Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + */ + includeOnlies?: pulumi.Input[]>; + } + + export interface IntegrationAccountMetricsConfigTagFilter { + /** + * The AWS service for which the tag filters defined in `tags` will be applied. + */ + namespace: pulumi.Input; + /** + * The AWS resource tags to filter on for the service specified by `namespace`. + */ + tags?: pulumi.Input[]>; + } + + export interface IntegrationAccountResourcesConfig { + /** + * Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. + */ + cloudSecurityPostureManagementCollection?: pulumi.Input; + /** + * Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. + */ + extendedCollection?: pulumi.Input; + } + + export interface IntegrationAccountTracesConfig { + /** + * AWS X-Ray services to collect traces from. + */ + xrayServices?: pulumi.Input; + } + + export interface IntegrationAccountTracesConfigXrayServices { + /** + * Include all services + */ + includeAll?: pulumi.Input; + /** + * Include only these services + */ + includeOnlies?: pulumi.Input[]>; + } } export namespace config { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 146618930..b44ce63bc 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -23000,6 +23000,10 @@ export interface SyntheticsTestApiStep { * Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. */ assertions?: outputs.SyntheticsTestApiStepAssertion[]; + /** + * Determines whether or not to exit the test if the step succeeds. + */ + exitIfSucceed?: boolean; /** * Values to parse and save as variables from the response. */ @@ -23402,11 +23406,11 @@ export interface SyntheticsTestApiStepRequestProxy { export interface SyntheticsTestApiStepRetry { /** - * Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. */ count?: number; /** - * Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: number; } @@ -23692,6 +23696,251 @@ export interface SyntheticsTestConfigVariable { type: string; } +export interface SyntheticsTestMobileOptionsList { + allowApplicationCrash?: boolean; + bindings?: outputs.SyntheticsTestMobileOptionsListBinding[]; + /** + * CI/CD options for a Synthetic test. + */ + ci?: outputs.SyntheticsTestMobileOptionsListCi; + defaultStepTimeout?: number; + deviceIds: string[]; + disableAutoAcceptAlert?: boolean; + /** + * Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + */ + minFailureDuration?: number; + mobileApplication: outputs.SyntheticsTestMobileOptionsListMobileApplication; + /** + * The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + */ + monitorName?: string; + monitorOptions?: outputs.SyntheticsTestMobileOptionsListMonitorOptions; + monitorPriority?: number; + /** + * Prevents saving screenshots of the steps. + */ + noScreenshot?: boolean; + /** + * A list of role identifiers pulled from the Roles API to restrict read and write access. + */ + restrictedRoles?: string[]; + retry?: outputs.SyntheticsTestMobileOptionsListRetry; + /** + * Object containing timeframes and timezone used for advanced scheduling. + */ + scheduling?: outputs.SyntheticsTestMobileOptionsListScheduling; + /** + * How often the test should run (in seconds). + */ + tickEvery: number; + verbosity?: number; +} + +export interface SyntheticsTestMobileOptionsListBinding { + principals?: string[]; + /** + * Valid values are `editor`, `viewer`. + */ + relation?: string; +} + +export interface SyntheticsTestMobileOptionsListCi { + /** + * Execution rule for a Synthetics test. Valid values are `blocking`, `nonBlocking`, `skipped`. + */ + executionRule: string; +} + +export interface SyntheticsTestMobileOptionsListMobileApplication { + applicationId: string; + referenceId: string; + /** + * Valid values are `latest`, `version`. + */ + referenceType: string; +} + +export interface SyntheticsTestMobileOptionsListMonitorOptions { + escalationMessage?: string; + /** + * Valid values are `showAll`, `hideAll`, `hideQuery`, `hideHandles`. + */ + notificationPresetName?: string; + /** + * Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + */ + renotifyInterval?: number; + renotifyOccurrences?: number; +} + +export interface SyntheticsTestMobileOptionsListRetry { + /** + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + */ + count?: number; + /** + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + */ + interval?: number; +} + +export interface SyntheticsTestMobileOptionsListScheduling { + /** + * Array containing objects describing the scheduling pattern to apply to each day. + */ + timeframes: outputs.SyntheticsTestMobileOptionsListSchedulingTimeframe[]; + /** + * Timezone in which the timeframe is based. + */ + timezone: string; +} + +export interface SyntheticsTestMobileOptionsListSchedulingTimeframe { + /** + * Number representing the day of the week + */ + day: number; + /** + * The hour of the day on which scheduling starts. + */ + from: string; + /** + * The hour of the day on which scheduling ends. + */ + to: string; +} + +export interface SyntheticsTestMobileStep { + /** + * A boolean set to allow this step to fail. + */ + allowFailure?: boolean; + /** + * A boolean set to determine if the step has a new step element. + */ + hasNewStepElement?: boolean; + /** + * A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + */ + isCritical?: boolean; + /** + * The name of the step. + */ + name: string; + /** + * A boolean set to not take a screenshot for the step. + */ + noScreenshot?: boolean; + /** + * Parameters for the step. + */ + params: outputs.SyntheticsTestMobileStepParams; + /** + * The public ID of the step. + */ + publicId?: string; + /** + * The time before declaring a step failed. + */ + timeout?: number; + /** + * The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + */ + type: string; +} + +export interface SyntheticsTestMobileStepParams { + /** + * Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + */ + check?: string; + /** + * Delay between each key stroke for a "type test" step. + */ + delay?: number; + /** + * Valid values are `up`, `down`, `left`, `right`. + */ + direction?: string; + /** + * Element to use for the step, JSON encoded string. + */ + element?: outputs.SyntheticsTestMobileStepParamsElement; + enable?: boolean; + maxScrolls?: number; + positions?: outputs.SyntheticsTestMobileStepParamsPosition[]; + /** + * ID of the Synthetics test to use as subtest. + */ + subtestPublicId?: string; + /** + * Value of the step. + */ + value?: string; + /** + * Details of the variable to extract. + */ + variable?: outputs.SyntheticsTestMobileStepParamsVariable; + withEnter?: boolean; + /** + * X coordinates for a "scroll step". + */ + x?: number; + /** + * Y coordinates for a "scroll step". + */ + y?: number; +} + +export interface SyntheticsTestMobileStepParamsElement { + context?: string; + /** + * Valid values are `native`, `web`. + */ + contextType?: string; + elementDescription?: string; + multiLocator?: {[key: string]: string}; + relativePosition?: outputs.SyntheticsTestMobileStepParamsElementRelativePosition; + textContent?: string; + userLocator?: outputs.SyntheticsTestMobileStepParamsElementUserLocator; + viewName?: string; +} + +export interface SyntheticsTestMobileStepParamsElementRelativePosition { + x?: number; + y?: number; +} + +export interface SyntheticsTestMobileStepParamsElementUserLocator { + failTestOnCannotLocate?: boolean; + values?: outputs.SyntheticsTestMobileStepParamsElementUserLocatorValue[]; +} + +export interface SyntheticsTestMobileStepParamsElementUserLocatorValue { + /** + * Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + */ + type?: string; + value?: string; +} + +export interface SyntheticsTestMobileStepParamsPosition { + x?: number; + y?: number; +} + +export interface SyntheticsTestMobileStepParamsVariable { + /** + * Example of the extracted variable. Defaults to `""`. + */ + example?: string; + /** + * Name of the extracted variable. + */ + name: string; +} + export interface SyntheticsTestOptionsList { /** * For SSL test, whether or not the test should allow self signed certificates. @@ -23786,11 +24035,11 @@ export interface SyntheticsTestOptionsListMonitorOptions { export interface SyntheticsTestOptionsListRetry { /** - * Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + * Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. */ count?: number; /** - * Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + * Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. */ interval?: number; } @@ -24075,6 +24324,131 @@ export namespace aws { label: string; } + export interface IntegrationAccountAuthConfig { + awsAuthConfigKeys?: outputs.aws.IntegrationAccountAuthConfigAwsAuthConfigKeys; + awsAuthConfigRole?: outputs.aws.IntegrationAccountAuthConfigAwsAuthConfigRole; + } + + export interface IntegrationAccountAuthConfigAwsAuthConfigKeys { + /** + * AWS Access Key ID + */ + accessKeyId?: string; + secretAccessKey?: string; + } + + export interface IntegrationAccountAuthConfigAwsAuthConfigRole { + /** + * AWS IAM External ID for associated role + */ + externalId: string; + /** + * AWS IAM Role name + */ + roleName?: string; + } + + export interface IntegrationAccountAwsRegions { + /** + * Include all regions. Defaults to `true`. + */ + includeAll: boolean; + /** + * Include only these regions. + */ + includeOnlies?: string[]; + } + + export interface IntegrationAccountLogsConfig { + lambdaForwarder?: outputs.aws.IntegrationAccountLogsConfigLambdaForwarder; + } + + export interface IntegrationAccountLogsConfigLambdaForwarder { + /** + * List of Datadog Lambda Log Forwarder ARNs in your AWS account. + */ + lambdas: string[]; + /** + * List of service IDs set to enable automatic log collection. Use `datadog.aws.getIntegrationAvailableLogsServices` data source to get allowed values. + */ + sources: string[]; + } + + export interface IntegrationAccountMetricsConfig { + /** + * Enable EC2 automute for AWS metrics Defaults to `true`. + */ + automuteEnabled: boolean; + /** + * Enable CloudWatch alarms collection Defaults to `false`. + */ + collectCloudwatchAlarms: boolean; + /** + * Enable custom metrics collection Defaults to `false`. + */ + collectCustomMetrics: boolean; + /** + * Enable AWS metrics collection Defaults to `true`. + */ + enabled: boolean; + namespaceFilters?: outputs.aws.IntegrationAccountMetricsConfigNamespaceFilters; + /** + * AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + */ + tagFilters?: outputs.aws.IntegrationAccountMetricsConfigTagFilter[]; + } + + export interface IntegrationAccountMetricsConfigNamespaceFilters { + /** + * Exclude only these namespaces from metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + */ + excludeOnlies: string[]; + /** + * Include only these namespaces for metrics collection. Use `datadog.aws.getIntegrationAvailableNamespaces` data source to get allowed values. + */ + includeOnlies?: string[]; + } + + export interface IntegrationAccountMetricsConfigTagFilter { + /** + * The AWS service for which the tag filters defined in `tags` will be applied. + */ + namespace: string; + /** + * The AWS resource tags to filter on for the service specified by `namespace`. + */ + tags: string[]; + } + + export interface IntegrationAccountResourcesConfig { + /** + * Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extendedCollection` to be set to `true`. Defaults to `false`. + */ + cloudSecurityPostureManagementCollection: boolean; + /** + * Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloudSecurityPostureManagementCollection`. Defaults to `true`. + */ + extendedCollection: boolean; + } + + export interface IntegrationAccountTracesConfig { + /** + * AWS X-Ray services to collect traces from. + */ + xrayServices?: outputs.aws.IntegrationAccountTracesConfigXrayServices; + } + + export interface IntegrationAccountTracesConfigXrayServices { + /** + * Include all services + */ + includeAll?: boolean; + /** + * Include only these services + */ + includeOnlies: string[]; + } + } export namespace config { diff --git a/sdk/python/pulumi_datadog/__init__.py b/sdk/python/pulumi_datadog/__init__.py index fb2418cf8..a27789964 100644 --- a/sdk/python/pulumi_datadog/__init__.py +++ b/sdk/python/pulumi_datadog/__init__.py @@ -157,6 +157,14 @@ "datadog:aws/integration:Integration": "Integration" } }, + { + "pkg": "datadog", + "mod": "aws/integrationAccount", + "fqn": "pulumi_datadog.aws", + "classes": { + "datadog:aws/integrationAccount:IntegrationAccount": "IntegrationAccount" + } + }, { "pkg": "datadog", "mod": "aws/integrationEventBridge", diff --git a/sdk/python/pulumi_datadog/_inputs.py b/sdk/python/pulumi_datadog/_inputs.py index 7441780eb..01da4e1a2 100644 --- a/sdk/python/pulumi_datadog/_inputs.py +++ b/sdk/python/pulumi_datadog/_inputs.py @@ -2149,6 +2149,38 @@ 'SyntheticsTestBrowserVariableArgsDict', 'SyntheticsTestConfigVariableArgs', 'SyntheticsTestConfigVariableArgsDict', + 'SyntheticsTestMobileOptionsListArgs', + 'SyntheticsTestMobileOptionsListArgsDict', + 'SyntheticsTestMobileOptionsListBindingArgs', + 'SyntheticsTestMobileOptionsListBindingArgsDict', + 'SyntheticsTestMobileOptionsListCiArgs', + 'SyntheticsTestMobileOptionsListCiArgsDict', + 'SyntheticsTestMobileOptionsListMobileApplicationArgs', + 'SyntheticsTestMobileOptionsListMobileApplicationArgsDict', + 'SyntheticsTestMobileOptionsListMonitorOptionsArgs', + 'SyntheticsTestMobileOptionsListMonitorOptionsArgsDict', + 'SyntheticsTestMobileOptionsListRetryArgs', + 'SyntheticsTestMobileOptionsListRetryArgsDict', + 'SyntheticsTestMobileOptionsListSchedulingArgs', + 'SyntheticsTestMobileOptionsListSchedulingArgsDict', + 'SyntheticsTestMobileOptionsListSchedulingTimeframeArgs', + 'SyntheticsTestMobileOptionsListSchedulingTimeframeArgsDict', + 'SyntheticsTestMobileStepArgs', + 'SyntheticsTestMobileStepArgsDict', + 'SyntheticsTestMobileStepParamsArgs', + 'SyntheticsTestMobileStepParamsArgsDict', + 'SyntheticsTestMobileStepParamsElementArgs', + 'SyntheticsTestMobileStepParamsElementArgsDict', + 'SyntheticsTestMobileStepParamsElementRelativePositionArgs', + 'SyntheticsTestMobileStepParamsElementRelativePositionArgsDict', + 'SyntheticsTestMobileStepParamsElementUserLocatorArgs', + 'SyntheticsTestMobileStepParamsElementUserLocatorArgsDict', + 'SyntheticsTestMobileStepParamsElementUserLocatorValueArgs', + 'SyntheticsTestMobileStepParamsElementUserLocatorValueArgsDict', + 'SyntheticsTestMobileStepParamsPositionArgs', + 'SyntheticsTestMobileStepParamsPositionArgsDict', + 'SyntheticsTestMobileStepParamsVariableArgs', + 'SyntheticsTestMobileStepParamsVariableArgsDict', 'SyntheticsTestOptionsListArgs', 'SyntheticsTestOptionsListArgsDict', 'SyntheticsTestOptionsListCiArgs', @@ -109624,6 +109656,10 @@ class SyntheticsTestApiStepArgsDict(TypedDict): """ Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. """ + exit_if_succeed: NotRequired[pulumi.Input[bool]] + """ + Determines whether or not to exit the test if the step succeeds. + """ extracted_values: NotRequired[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepExtractedValueArgsDict']]]] """ Values to parse and save as variables from the response. @@ -109682,6 +109718,7 @@ def __init__(__self__, *, name: pulumi.Input[str], allow_failure: Optional[pulumi.Input[bool]] = None, assertions: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepAssertionArgs']]]] = None, + exit_if_succeed: Optional[pulumi.Input[bool]] = None, extracted_values: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepExtractedValueArgs']]]] = None, is_critical: Optional[pulumi.Input[bool]] = None, request_basicauth: Optional[pulumi.Input['SyntheticsTestApiStepRequestBasicauthArgs']] = None, @@ -109699,6 +109736,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the step. :param pulumi.Input[bool] allow_failure: Determines whether or not to continue with test if this step fails. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepAssertionArgs']]] assertions: Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. + :param pulumi.Input[bool] exit_if_succeed: Determines whether or not to exit the test if the step succeeds. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepExtractedValueArgs']]] extracted_values: Values to parse and save as variables from the response. :param pulumi.Input[bool] is_critical: Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allow_failure` is `true`. :param pulumi.Input['SyntheticsTestApiStepRequestBasicauthArgs'] request_basicauth: The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. @@ -109717,6 +109755,8 @@ def __init__(__self__, *, pulumi.set(__self__, "allow_failure", allow_failure) if assertions is not None: pulumi.set(__self__, "assertions", assertions) + if exit_if_succeed is not None: + pulumi.set(__self__, "exit_if_succeed", exit_if_succeed) if extracted_values is not None: pulumi.set(__self__, "extracted_values", extracted_values) if is_critical is not None: @@ -109780,6 +109820,18 @@ def assertions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsT def assertions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepAssertionArgs']]]]): pulumi.set(self, "assertions", value) + @property + @pulumi.getter(name="exitIfSucceed") + def exit_if_succeed(self) -> Optional[pulumi.Input[bool]]: + """ + Determines whether or not to exit the test if the step succeeds. + """ + return pulumi.get(self, "exit_if_succeed") + + @exit_if_succeed.setter + def exit_if_succeed(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "exit_if_succeed", value) + @property @pulumi.getter(name="extractedValues") def extracted_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestApiStepExtractedValueArgs']]]]: @@ -111630,11 +111682,11 @@ def headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] class SyntheticsTestApiStepRetryArgsDict(TypedDict): count: NotRequired[pulumi.Input[int]] """ - Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. """ interval: NotRequired[pulumi.Input[int]] """ - Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ elif False: SyntheticsTestApiStepRetryArgsDict: TypeAlias = Mapping[str, Any] @@ -111645,8 +111697,8 @@ def __init__(__self__, *, count: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[int] count: Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. - :param pulumi.Input[int] interval: Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + :param pulumi.Input[int] count: Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + :param pulumi.Input[int] interval: Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ if count is not None: pulumi.set(__self__, "count", count) @@ -111657,7 +111709,7 @@ def __init__(__self__, *, @pulumi.getter def count(self) -> Optional[pulumi.Input[int]]: """ - Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. """ return pulumi.get(self, "count") @@ -111669,7 +111721,7 @@ def count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def interval(self) -> Optional[pulumi.Input[int]]: """ - Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ return pulumi.get(self, "interval") @@ -113067,6 +113119,1425 @@ def secure(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "secure", value) +if not MYPY: + class SyntheticsTestMobileOptionsListArgsDict(TypedDict): + device_ids: pulumi.Input[Sequence[pulumi.Input[str]]] + mobile_application: pulumi.Input['SyntheticsTestMobileOptionsListMobileApplicationArgsDict'] + tick_every: pulumi.Input[int] + """ + How often the test should run (in seconds). + """ + allow_application_crash: NotRequired[pulumi.Input[bool]] + bindings: NotRequired[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListBindingArgsDict']]]] + ci: NotRequired[pulumi.Input['SyntheticsTestMobileOptionsListCiArgsDict']] + """ + CI/CD options for a Synthetic test. + """ + default_step_timeout: NotRequired[pulumi.Input[int]] + disable_auto_accept_alert: NotRequired[pulumi.Input[bool]] + min_failure_duration: NotRequired[pulumi.Input[int]] + """ + Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + """ + monitor_name: NotRequired[pulumi.Input[str]] + """ + The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + """ + monitor_options: NotRequired[pulumi.Input['SyntheticsTestMobileOptionsListMonitorOptionsArgsDict']] + monitor_priority: NotRequired[pulumi.Input[int]] + no_screenshot: NotRequired[pulumi.Input[bool]] + """ + Prevents saving screenshots of the steps. + """ + restricted_roles: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + A list of role identifiers pulled from the Roles API to restrict read and write access. + """ + retry: NotRequired[pulumi.Input['SyntheticsTestMobileOptionsListRetryArgsDict']] + scheduling: NotRequired[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingArgsDict']] + """ + Object containing timeframes and timezone used for advanced scheduling. + """ + verbosity: NotRequired[pulumi.Input[int]] +elif False: + SyntheticsTestMobileOptionsListArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListArgs: + def __init__(__self__, *, + device_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + mobile_application: pulumi.Input['SyntheticsTestMobileOptionsListMobileApplicationArgs'], + tick_every: pulumi.Input[int], + allow_application_crash: Optional[pulumi.Input[bool]] = None, + bindings: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListBindingArgs']]]] = None, + ci: Optional[pulumi.Input['SyntheticsTestMobileOptionsListCiArgs']] = None, + default_step_timeout: Optional[pulumi.Input[int]] = None, + disable_auto_accept_alert: Optional[pulumi.Input[bool]] = None, + min_failure_duration: Optional[pulumi.Input[int]] = None, + monitor_name: Optional[pulumi.Input[str]] = None, + monitor_options: Optional[pulumi.Input['SyntheticsTestMobileOptionsListMonitorOptionsArgs']] = None, + monitor_priority: Optional[pulumi.Input[int]] = None, + no_screenshot: Optional[pulumi.Input[bool]] = None, + restricted_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + retry: Optional[pulumi.Input['SyntheticsTestMobileOptionsListRetryArgs']] = None, + scheduling: Optional[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingArgs']] = None, + verbosity: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] tick_every: How often the test should run (in seconds). + :param pulumi.Input['SyntheticsTestMobileOptionsListCiArgs'] ci: CI/CD options for a Synthetic test. + :param pulumi.Input[int] min_failure_duration: Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + :param pulumi.Input[str] monitor_name: The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + :param pulumi.Input[bool] no_screenshot: Prevents saving screenshots of the steps. + :param pulumi.Input[Sequence[pulumi.Input[str]]] restricted_roles: A list of role identifiers pulled from the Roles API to restrict read and write access. + :param pulumi.Input['SyntheticsTestMobileOptionsListSchedulingArgs'] scheduling: Object containing timeframes and timezone used for advanced scheduling. + """ + pulumi.set(__self__, "device_ids", device_ids) + pulumi.set(__self__, "mobile_application", mobile_application) + pulumi.set(__self__, "tick_every", tick_every) + if allow_application_crash is not None: + pulumi.set(__self__, "allow_application_crash", allow_application_crash) + if bindings is not None: + pulumi.set(__self__, "bindings", bindings) + if ci is not None: + pulumi.set(__self__, "ci", ci) + if default_step_timeout is not None: + pulumi.set(__self__, "default_step_timeout", default_step_timeout) + if disable_auto_accept_alert is not None: + pulumi.set(__self__, "disable_auto_accept_alert", disable_auto_accept_alert) + if min_failure_duration is not None: + pulumi.set(__self__, "min_failure_duration", min_failure_duration) + if monitor_name is not None: + pulumi.set(__self__, "monitor_name", monitor_name) + if monitor_options is not None: + pulumi.set(__self__, "monitor_options", monitor_options) + if monitor_priority is not None: + pulumi.set(__self__, "monitor_priority", monitor_priority) + if no_screenshot is not None: + pulumi.set(__self__, "no_screenshot", no_screenshot) + if restricted_roles is not None: + pulumi.set(__self__, "restricted_roles", restricted_roles) + if retry is not None: + pulumi.set(__self__, "retry", retry) + if scheduling is not None: + pulumi.set(__self__, "scheduling", scheduling) + if verbosity is not None: + pulumi.set(__self__, "verbosity", verbosity) + + @property + @pulumi.getter(name="deviceIds") + def device_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "device_ids") + + @device_ids.setter + def device_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "device_ids", value) + + @property + @pulumi.getter(name="mobileApplication") + def mobile_application(self) -> pulumi.Input['SyntheticsTestMobileOptionsListMobileApplicationArgs']: + return pulumi.get(self, "mobile_application") + + @mobile_application.setter + def mobile_application(self, value: pulumi.Input['SyntheticsTestMobileOptionsListMobileApplicationArgs']): + pulumi.set(self, "mobile_application", value) + + @property + @pulumi.getter(name="tickEvery") + def tick_every(self) -> pulumi.Input[int]: + """ + How often the test should run (in seconds). + """ + return pulumi.get(self, "tick_every") + + @tick_every.setter + def tick_every(self, value: pulumi.Input[int]): + pulumi.set(self, "tick_every", value) + + @property + @pulumi.getter(name="allowApplicationCrash") + def allow_application_crash(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "allow_application_crash") + + @allow_application_crash.setter + def allow_application_crash(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_application_crash", value) + + @property + @pulumi.getter + def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListBindingArgs']]]]: + return pulumi.get(self, "bindings") + + @bindings.setter + def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListBindingArgs']]]]): + pulumi.set(self, "bindings", value) + + @property + @pulumi.getter + def ci(self) -> Optional[pulumi.Input['SyntheticsTestMobileOptionsListCiArgs']]: + """ + CI/CD options for a Synthetic test. + """ + return pulumi.get(self, "ci") + + @ci.setter + def ci(self, value: Optional[pulumi.Input['SyntheticsTestMobileOptionsListCiArgs']]): + pulumi.set(self, "ci", value) + + @property + @pulumi.getter(name="defaultStepTimeout") + def default_step_timeout(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "default_step_timeout") + + @default_step_timeout.setter + def default_step_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "default_step_timeout", value) + + @property + @pulumi.getter(name="disableAutoAcceptAlert") + def disable_auto_accept_alert(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "disable_auto_accept_alert") + + @disable_auto_accept_alert.setter + def disable_auto_accept_alert(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disable_auto_accept_alert", value) + + @property + @pulumi.getter(name="minFailureDuration") + def min_failure_duration(self) -> Optional[pulumi.Input[int]]: + """ + Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + """ + return pulumi.get(self, "min_failure_duration") + + @min_failure_duration.setter + def min_failure_duration(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_failure_duration", value) + + @property + @pulumi.getter(name="monitorName") + def monitor_name(self) -> Optional[pulumi.Input[str]]: + """ + The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + """ + return pulumi.get(self, "monitor_name") + + @monitor_name.setter + def monitor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "monitor_name", value) + + @property + @pulumi.getter(name="monitorOptions") + def monitor_options(self) -> Optional[pulumi.Input['SyntheticsTestMobileOptionsListMonitorOptionsArgs']]: + return pulumi.get(self, "monitor_options") + + @monitor_options.setter + def monitor_options(self, value: Optional[pulumi.Input['SyntheticsTestMobileOptionsListMonitorOptionsArgs']]): + pulumi.set(self, "monitor_options", value) + + @property + @pulumi.getter(name="monitorPriority") + def monitor_priority(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "monitor_priority") + + @monitor_priority.setter + def monitor_priority(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "monitor_priority", value) + + @property + @pulumi.getter(name="noScreenshot") + def no_screenshot(self) -> Optional[pulumi.Input[bool]]: + """ + Prevents saving screenshots of the steps. + """ + return pulumi.get(self, "no_screenshot") + + @no_screenshot.setter + def no_screenshot(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "no_screenshot", value) + + @property + @pulumi.getter(name="restrictedRoles") + def restricted_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of role identifiers pulled from the Roles API to restrict read and write access. + """ + return pulumi.get(self, "restricted_roles") + + @restricted_roles.setter + def restricted_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "restricted_roles", value) + + @property + @pulumi.getter + def retry(self) -> Optional[pulumi.Input['SyntheticsTestMobileOptionsListRetryArgs']]: + return pulumi.get(self, "retry") + + @retry.setter + def retry(self, value: Optional[pulumi.Input['SyntheticsTestMobileOptionsListRetryArgs']]): + pulumi.set(self, "retry", value) + + @property + @pulumi.getter + def scheduling(self) -> Optional[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingArgs']]: + """ + Object containing timeframes and timezone used for advanced scheduling. + """ + return pulumi.get(self, "scheduling") + + @scheduling.setter + def scheduling(self, value: Optional[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingArgs']]): + pulumi.set(self, "scheduling", value) + + @property + @pulumi.getter + def verbosity(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "verbosity") + + @verbosity.setter + def verbosity(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "verbosity", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListBindingArgsDict(TypedDict): + principals: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + relation: NotRequired[pulumi.Input[str]] + """ + Valid values are `editor`, `viewer`. + """ +elif False: + SyntheticsTestMobileOptionsListBindingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListBindingArgs: + def __init__(__self__, *, + principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + relation: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] relation: Valid values are `editor`, `viewer`. + """ + if principals is not None: + pulumi.set(__self__, "principals", principals) + if relation is not None: + pulumi.set(__self__, "relation", relation) + + @property + @pulumi.getter + def principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "principals") + + @principals.setter + def principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "principals", value) + + @property + @pulumi.getter + def relation(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are `editor`, `viewer`. + """ + return pulumi.get(self, "relation") + + @relation.setter + def relation(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "relation", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListCiArgsDict(TypedDict): + execution_rule: pulumi.Input[str] + """ + Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + """ +elif False: + SyntheticsTestMobileOptionsListCiArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListCiArgs: + def __init__(__self__, *, + execution_rule: pulumi.Input[str]): + """ + :param pulumi.Input[str] execution_rule: Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + """ + pulumi.set(__self__, "execution_rule", execution_rule) + + @property + @pulumi.getter(name="executionRule") + def execution_rule(self) -> pulumi.Input[str]: + """ + Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + """ + return pulumi.get(self, "execution_rule") + + @execution_rule.setter + def execution_rule(self, value: pulumi.Input[str]): + pulumi.set(self, "execution_rule", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListMobileApplicationArgsDict(TypedDict): + application_id: pulumi.Input[str] + reference_id: pulumi.Input[str] + reference_type: pulumi.Input[str] + """ + Valid values are `latest`, `version`. + """ +elif False: + SyntheticsTestMobileOptionsListMobileApplicationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListMobileApplicationArgs: + def __init__(__self__, *, + application_id: pulumi.Input[str], + reference_id: pulumi.Input[str], + reference_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] reference_type: Valid values are `latest`, `version`. + """ + pulumi.set(__self__, "application_id", application_id) + pulumi.set(__self__, "reference_id", reference_id) + pulumi.set(__self__, "reference_type", reference_type) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "application_id") + + @application_id.setter + def application_id(self, value: pulumi.Input[str]): + pulumi.set(self, "application_id", value) + + @property + @pulumi.getter(name="referenceId") + def reference_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "reference_id") + + @reference_id.setter + def reference_id(self, value: pulumi.Input[str]): + pulumi.set(self, "reference_id", value) + + @property + @pulumi.getter(name="referenceType") + def reference_type(self) -> pulumi.Input[str]: + """ + Valid values are `latest`, `version`. + """ + return pulumi.get(self, "reference_type") + + @reference_type.setter + def reference_type(self, value: pulumi.Input[str]): + pulumi.set(self, "reference_type", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListMonitorOptionsArgsDict(TypedDict): + escalation_message: NotRequired[pulumi.Input[str]] + notification_preset_name: NotRequired[pulumi.Input[str]] + """ + Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + """ + renotify_interval: NotRequired[pulumi.Input[int]] + """ + Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + """ + renotify_occurrences: NotRequired[pulumi.Input[int]] +elif False: + SyntheticsTestMobileOptionsListMonitorOptionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListMonitorOptionsArgs: + def __init__(__self__, *, + escalation_message: Optional[pulumi.Input[str]] = None, + notification_preset_name: Optional[pulumi.Input[str]] = None, + renotify_interval: Optional[pulumi.Input[int]] = None, + renotify_occurrences: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] notification_preset_name: Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + :param pulumi.Input[int] renotify_interval: Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + """ + if escalation_message is not None: + pulumi.set(__self__, "escalation_message", escalation_message) + if notification_preset_name is not None: + pulumi.set(__self__, "notification_preset_name", notification_preset_name) + if renotify_interval is not None: + pulumi.set(__self__, "renotify_interval", renotify_interval) + if renotify_occurrences is not None: + pulumi.set(__self__, "renotify_occurrences", renotify_occurrences) + + @property + @pulumi.getter(name="escalationMessage") + def escalation_message(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "escalation_message") + + @escalation_message.setter + def escalation_message(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "escalation_message", value) + + @property + @pulumi.getter(name="notificationPresetName") + def notification_preset_name(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + """ + return pulumi.get(self, "notification_preset_name") + + @notification_preset_name.setter + def notification_preset_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "notification_preset_name", value) + + @property + @pulumi.getter(name="renotifyInterval") + def renotify_interval(self) -> Optional[pulumi.Input[int]]: + """ + Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + """ + return pulumi.get(self, "renotify_interval") + + @renotify_interval.setter + def renotify_interval(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "renotify_interval", value) + + @property + @pulumi.getter(name="renotifyOccurrences") + def renotify_occurrences(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "renotify_occurrences") + + @renotify_occurrences.setter + def renotify_occurrences(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "renotify_occurrences", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListRetryArgsDict(TypedDict): + count: NotRequired[pulumi.Input[int]] + """ + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + """ + interval: NotRequired[pulumi.Input[int]] + """ + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + """ +elif False: + SyntheticsTestMobileOptionsListRetryArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListRetryArgs: + def __init__(__self__, *, + count: Optional[pulumi.Input[int]] = None, + interval: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] count: Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + :param pulumi.Input[int] interval: Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if interval is not None: + pulumi.set(__self__, "interval", interval) + + @property + @pulumi.getter + def count(self) -> Optional[pulumi.Input[int]]: + """ + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + """ + return pulumi.get(self, "count") + + @count.setter + def count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "count", value) + + @property + @pulumi.getter + def interval(self) -> Optional[pulumi.Input[int]]: + """ + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "interval", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListSchedulingArgsDict(TypedDict): + timeframes: pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingTimeframeArgsDict']]] + """ + Array containing objects describing the scheduling pattern to apply to each day. + """ + timezone: pulumi.Input[str] + """ + Timezone in which the timeframe is based. + """ +elif False: + SyntheticsTestMobileOptionsListSchedulingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListSchedulingArgs: + def __init__(__self__, *, + timeframes: pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingTimeframeArgs']]], + timezone: pulumi.Input[str]): + """ + :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingTimeframeArgs']]] timeframes: Array containing objects describing the scheduling pattern to apply to each day. + :param pulumi.Input[str] timezone: Timezone in which the timeframe is based. + """ + pulumi.set(__self__, "timeframes", timeframes) + pulumi.set(__self__, "timezone", timezone) + + @property + @pulumi.getter + def timeframes(self) -> pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingTimeframeArgs']]]: + """ + Array containing objects describing the scheduling pattern to apply to each day. + """ + return pulumi.get(self, "timeframes") + + @timeframes.setter + def timeframes(self, value: pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileOptionsListSchedulingTimeframeArgs']]]): + pulumi.set(self, "timeframes", value) + + @property + @pulumi.getter + def timezone(self) -> pulumi.Input[str]: + """ + Timezone in which the timeframe is based. + """ + return pulumi.get(self, "timezone") + + @timezone.setter + def timezone(self, value: pulumi.Input[str]): + pulumi.set(self, "timezone", value) + + +if not MYPY: + class SyntheticsTestMobileOptionsListSchedulingTimeframeArgsDict(TypedDict): + day: pulumi.Input[int] + """ + Number representing the day of the week + """ + from_: pulumi.Input[str] + """ + The hour of the day on which scheduling starts. + """ + to: pulumi.Input[str] + """ + The hour of the day on which scheduling ends. + """ +elif False: + SyntheticsTestMobileOptionsListSchedulingTimeframeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileOptionsListSchedulingTimeframeArgs: + def __init__(__self__, *, + day: pulumi.Input[int], + from_: pulumi.Input[str], + to: pulumi.Input[str]): + """ + :param pulumi.Input[int] day: Number representing the day of the week + :param pulumi.Input[str] from_: The hour of the day on which scheduling starts. + :param pulumi.Input[str] to: The hour of the day on which scheduling ends. + """ + pulumi.set(__self__, "day", day) + pulumi.set(__self__, "from_", from_) + pulumi.set(__self__, "to", to) + + @property + @pulumi.getter + def day(self) -> pulumi.Input[int]: + """ + Number representing the day of the week + """ + return pulumi.get(self, "day") + + @day.setter + def day(self, value: pulumi.Input[int]): + pulumi.set(self, "day", value) + + @property + @pulumi.getter(name="from") + def from_(self) -> pulumi.Input[str]: + """ + The hour of the day on which scheduling starts. + """ + return pulumi.get(self, "from_") + + @from_.setter + def from_(self, value: pulumi.Input[str]): + pulumi.set(self, "from_", value) + + @property + @pulumi.getter + def to(self) -> pulumi.Input[str]: + """ + The hour of the day on which scheduling ends. + """ + return pulumi.get(self, "to") + + @to.setter + def to(self, value: pulumi.Input[str]): + pulumi.set(self, "to", value) + + +if not MYPY: + class SyntheticsTestMobileStepArgsDict(TypedDict): + name: pulumi.Input[str] + """ + The name of the step. + """ + params: pulumi.Input['SyntheticsTestMobileStepParamsArgsDict'] + """ + Parameters for the step. + """ + type: pulumi.Input[str] + """ + The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + """ + allow_failure: NotRequired[pulumi.Input[bool]] + """ + A boolean set to allow this step to fail. + """ + has_new_step_element: NotRequired[pulumi.Input[bool]] + """ + A boolean set to determine if the step has a new step element. + """ + is_critical: NotRequired[pulumi.Input[bool]] + """ + A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + """ + no_screenshot: NotRequired[pulumi.Input[bool]] + """ + A boolean set to not take a screenshot for the step. + """ + public_id: NotRequired[pulumi.Input[str]] + """ + The public ID of the step. + """ + timeout: NotRequired[pulumi.Input[int]] + """ + The time before declaring a step failed. + """ +elif False: + SyntheticsTestMobileStepArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + params: pulumi.Input['SyntheticsTestMobileStepParamsArgs'], + type: pulumi.Input[str], + allow_failure: Optional[pulumi.Input[bool]] = None, + has_new_step_element: Optional[pulumi.Input[bool]] = None, + is_critical: Optional[pulumi.Input[bool]] = None, + no_screenshot: Optional[pulumi.Input[bool]] = None, + public_id: Optional[pulumi.Input[str]] = None, + timeout: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] name: The name of the step. + :param pulumi.Input['SyntheticsTestMobileStepParamsArgs'] params: Parameters for the step. + :param pulumi.Input[str] type: The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + :param pulumi.Input[bool] allow_failure: A boolean set to allow this step to fail. + :param pulumi.Input[bool] has_new_step_element: A boolean set to determine if the step has a new step element. + :param pulumi.Input[bool] is_critical: A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + :param pulumi.Input[bool] no_screenshot: A boolean set to not take a screenshot for the step. + :param pulumi.Input[str] public_id: The public ID of the step. + :param pulumi.Input[int] timeout: The time before declaring a step failed. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "params", params) + pulumi.set(__self__, "type", type) + if allow_failure is not None: + pulumi.set(__self__, "allow_failure", allow_failure) + if has_new_step_element is not None: + pulumi.set(__self__, "has_new_step_element", has_new_step_element) + if is_critical is not None: + pulumi.set(__self__, "is_critical", is_critical) + if no_screenshot is not None: + pulumi.set(__self__, "no_screenshot", no_screenshot) + if public_id is not None: + pulumi.set(__self__, "public_id", public_id) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the step. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def params(self) -> pulumi.Input['SyntheticsTestMobileStepParamsArgs']: + """ + Parameters for the step. + """ + return pulumi.get(self, "params") + + @params.setter + def params(self, value: pulumi.Input['SyntheticsTestMobileStepParamsArgs']): + pulumi.set(self, "params", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="allowFailure") + def allow_failure(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean set to allow this step to fail. + """ + return pulumi.get(self, "allow_failure") + + @allow_failure.setter + def allow_failure(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "allow_failure", value) + + @property + @pulumi.getter(name="hasNewStepElement") + def has_new_step_element(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean set to determine if the step has a new step element. + """ + return pulumi.get(self, "has_new_step_element") + + @has_new_step_element.setter + def has_new_step_element(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "has_new_step_element", value) + + @property + @pulumi.getter(name="isCritical") + def is_critical(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + """ + return pulumi.get(self, "is_critical") + + @is_critical.setter + def is_critical(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_critical", value) + + @property + @pulumi.getter(name="noScreenshot") + def no_screenshot(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean set to not take a screenshot for the step. + """ + return pulumi.get(self, "no_screenshot") + + @no_screenshot.setter + def no_screenshot(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "no_screenshot", value) + + @property + @pulumi.getter(name="publicId") + def public_id(self) -> Optional[pulumi.Input[str]]: + """ + The public ID of the step. + """ + return pulumi.get(self, "public_id") + + @public_id.setter + def public_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "public_id", value) + + @property + @pulumi.getter + def timeout(self) -> Optional[pulumi.Input[int]]: + """ + The time before declaring a step failed. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "timeout", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsArgsDict(TypedDict): + check: NotRequired[pulumi.Input[str]] + """ + Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + """ + delay: NotRequired[pulumi.Input[int]] + """ + Delay between each key stroke for a "type test" step. + """ + direction: NotRequired[pulumi.Input[str]] + """ + Valid values are `up`, `down`, `left`, `right`. + """ + element: NotRequired[pulumi.Input['SyntheticsTestMobileStepParamsElementArgsDict']] + """ + Element to use for the step, JSON encoded string. + """ + enable: NotRequired[pulumi.Input[bool]] + max_scrolls: NotRequired[pulumi.Input[int]] + positions: NotRequired[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsPositionArgsDict']]]] + subtest_public_id: NotRequired[pulumi.Input[str]] + """ + ID of the Synthetics test to use as subtest. + """ + value: NotRequired[pulumi.Input[str]] + """ + Value of the step. + """ + variable: NotRequired[pulumi.Input['SyntheticsTestMobileStepParamsVariableArgsDict']] + """ + Details of the variable to extract. + """ + with_enter: NotRequired[pulumi.Input[bool]] + x: NotRequired[pulumi.Input[float]] + """ + X coordinates for a "scroll step". + """ + y: NotRequired[pulumi.Input[float]] + """ + Y coordinates for a "scroll step". + """ +elif False: + SyntheticsTestMobileStepParamsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsArgs: + def __init__(__self__, *, + check: Optional[pulumi.Input[str]] = None, + delay: Optional[pulumi.Input[int]] = None, + direction: Optional[pulumi.Input[str]] = None, + element: Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementArgs']] = None, + enable: Optional[pulumi.Input[bool]] = None, + max_scrolls: Optional[pulumi.Input[int]] = None, + positions: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsPositionArgs']]]] = None, + subtest_public_id: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None, + variable: Optional[pulumi.Input['SyntheticsTestMobileStepParamsVariableArgs']] = None, + with_enter: Optional[pulumi.Input[bool]] = None, + x: Optional[pulumi.Input[float]] = None, + y: Optional[pulumi.Input[float]] = None): + """ + :param pulumi.Input[str] check: Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + :param pulumi.Input[int] delay: Delay between each key stroke for a "type test" step. + :param pulumi.Input[str] direction: Valid values are `up`, `down`, `left`, `right`. + :param pulumi.Input['SyntheticsTestMobileStepParamsElementArgs'] element: Element to use for the step, JSON encoded string. + :param pulumi.Input[str] subtest_public_id: ID of the Synthetics test to use as subtest. + :param pulumi.Input[str] value: Value of the step. + :param pulumi.Input['SyntheticsTestMobileStepParamsVariableArgs'] variable: Details of the variable to extract. + :param pulumi.Input[float] x: X coordinates for a "scroll step". + :param pulumi.Input[float] y: Y coordinates for a "scroll step". + """ + if check is not None: + pulumi.set(__self__, "check", check) + if delay is not None: + pulumi.set(__self__, "delay", delay) + if direction is not None: + pulumi.set(__self__, "direction", direction) + if element is not None: + pulumi.set(__self__, "element", element) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if max_scrolls is not None: + pulumi.set(__self__, "max_scrolls", max_scrolls) + if positions is not None: + pulumi.set(__self__, "positions", positions) + if subtest_public_id is not None: + pulumi.set(__self__, "subtest_public_id", subtest_public_id) + if value is not None: + pulumi.set(__self__, "value", value) + if variable is not None: + pulumi.set(__self__, "variable", variable) + if with_enter is not None: + pulumi.set(__self__, "with_enter", with_enter) + if x is not None: + pulumi.set(__self__, "x", x) + if y is not None: + pulumi.set(__self__, "y", y) + + @property + @pulumi.getter + def check(self) -> Optional[pulumi.Input[str]]: + """ + Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + """ + return pulumi.get(self, "check") + + @check.setter + def check(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "check", value) + + @property + @pulumi.getter + def delay(self) -> Optional[pulumi.Input[int]]: + """ + Delay between each key stroke for a "type test" step. + """ + return pulumi.get(self, "delay") + + @delay.setter + def delay(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "delay", value) + + @property + @pulumi.getter + def direction(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are `up`, `down`, `left`, `right`. + """ + return pulumi.get(self, "direction") + + @direction.setter + def direction(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "direction", value) + + @property + @pulumi.getter + def element(self) -> Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementArgs']]: + """ + Element to use for the step, JSON encoded string. + """ + return pulumi.get(self, "element") + + @element.setter + def element(self, value: Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementArgs']]): + pulumi.set(self, "element", value) + + @property + @pulumi.getter + def enable(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "enable") + + @enable.setter + def enable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable", value) + + @property + @pulumi.getter(name="maxScrolls") + def max_scrolls(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "max_scrolls") + + @max_scrolls.setter + def max_scrolls(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_scrolls", value) + + @property + @pulumi.getter + def positions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsPositionArgs']]]]: + return pulumi.get(self, "positions") + + @positions.setter + def positions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsPositionArgs']]]]): + pulumi.set(self, "positions", value) + + @property + @pulumi.getter(name="subtestPublicId") + def subtest_public_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Synthetics test to use as subtest. + """ + return pulumi.get(self, "subtest_public_id") + + @subtest_public_id.setter + def subtest_public_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subtest_public_id", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value of the step. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @property + @pulumi.getter + def variable(self) -> Optional[pulumi.Input['SyntheticsTestMobileStepParamsVariableArgs']]: + """ + Details of the variable to extract. + """ + return pulumi.get(self, "variable") + + @variable.setter + def variable(self, value: Optional[pulumi.Input['SyntheticsTestMobileStepParamsVariableArgs']]): + pulumi.set(self, "variable", value) + + @property + @pulumi.getter(name="withEnter") + def with_enter(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "with_enter") + + @with_enter.setter + def with_enter(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "with_enter", value) + + @property + @pulumi.getter + def x(self) -> Optional[pulumi.Input[float]]: + """ + X coordinates for a "scroll step". + """ + return pulumi.get(self, "x") + + @x.setter + def x(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "x", value) + + @property + @pulumi.getter + def y(self) -> Optional[pulumi.Input[float]]: + """ + Y coordinates for a "scroll step". + """ + return pulumi.get(self, "y") + + @y.setter + def y(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "y", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsElementArgsDict(TypedDict): + context: NotRequired[pulumi.Input[str]] + context_type: NotRequired[pulumi.Input[str]] + """ + Valid values are `native`, `web`. + """ + element_description: NotRequired[pulumi.Input[str]] + multi_locator: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + relative_position: NotRequired[pulumi.Input['SyntheticsTestMobileStepParamsElementRelativePositionArgsDict']] + text_content: NotRequired[pulumi.Input[str]] + user_locator: NotRequired[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorArgsDict']] + view_name: NotRequired[pulumi.Input[str]] +elif False: + SyntheticsTestMobileStepParamsElementArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsElementArgs: + def __init__(__self__, *, + context: Optional[pulumi.Input[str]] = None, + context_type: Optional[pulumi.Input[str]] = None, + element_description: Optional[pulumi.Input[str]] = None, + multi_locator: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + relative_position: Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementRelativePositionArgs']] = None, + text_content: Optional[pulumi.Input[str]] = None, + user_locator: Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorArgs']] = None, + view_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] context_type: Valid values are `native`, `web`. + """ + if context is not None: + pulumi.set(__self__, "context", context) + if context_type is not None: + pulumi.set(__self__, "context_type", context_type) + if element_description is not None: + pulumi.set(__self__, "element_description", element_description) + if multi_locator is not None: + pulumi.set(__self__, "multi_locator", multi_locator) + if relative_position is not None: + pulumi.set(__self__, "relative_position", relative_position) + if text_content is not None: + pulumi.set(__self__, "text_content", text_content) + if user_locator is not None: + pulumi.set(__self__, "user_locator", user_locator) + if view_name is not None: + pulumi.set(__self__, "view_name", view_name) + + @property + @pulumi.getter + def context(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "context") + + @context.setter + def context(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context", value) + + @property + @pulumi.getter(name="contextType") + def context_type(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are `native`, `web`. + """ + return pulumi.get(self, "context_type") + + @context_type.setter + def context_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "context_type", value) + + @property + @pulumi.getter(name="elementDescription") + def element_description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "element_description") + + @element_description.setter + def element_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "element_description", value) + + @property + @pulumi.getter(name="multiLocator") + def multi_locator(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "multi_locator") + + @multi_locator.setter + def multi_locator(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "multi_locator", value) + + @property + @pulumi.getter(name="relativePosition") + def relative_position(self) -> Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementRelativePositionArgs']]: + return pulumi.get(self, "relative_position") + + @relative_position.setter + def relative_position(self, value: Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementRelativePositionArgs']]): + pulumi.set(self, "relative_position", value) + + @property + @pulumi.getter(name="textContent") + def text_content(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "text_content") + + @text_content.setter + def text_content(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "text_content", value) + + @property + @pulumi.getter(name="userLocator") + def user_locator(self) -> Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorArgs']]: + return pulumi.get(self, "user_locator") + + @user_locator.setter + def user_locator(self, value: Optional[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorArgs']]): + pulumi.set(self, "user_locator", value) + + @property + @pulumi.getter(name="viewName") + def view_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "view_name") + + @view_name.setter + def view_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "view_name", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsElementRelativePositionArgsDict(TypedDict): + x: NotRequired[pulumi.Input[float]] + y: NotRequired[pulumi.Input[float]] +elif False: + SyntheticsTestMobileStepParamsElementRelativePositionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsElementRelativePositionArgs: + def __init__(__self__, *, + x: Optional[pulumi.Input[float]] = None, + y: Optional[pulumi.Input[float]] = None): + if x is not None: + pulumi.set(__self__, "x", x) + if y is not None: + pulumi.set(__self__, "y", y) + + @property + @pulumi.getter + def x(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "x") + + @x.setter + def x(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "x", value) + + @property + @pulumi.getter + def y(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "y") + + @y.setter + def y(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "y", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsElementUserLocatorArgsDict(TypedDict): + fail_test_on_cannot_locate: NotRequired[pulumi.Input[bool]] + values: NotRequired[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorValueArgsDict']]]] +elif False: + SyntheticsTestMobileStepParamsElementUserLocatorArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsElementUserLocatorArgs: + def __init__(__self__, *, + fail_test_on_cannot_locate: Optional[pulumi.Input[bool]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorValueArgs']]]] = None): + if fail_test_on_cannot_locate is not None: + pulumi.set(__self__, "fail_test_on_cannot_locate", fail_test_on_cannot_locate) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="failTestOnCannotLocate") + def fail_test_on_cannot_locate(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "fail_test_on_cannot_locate") + + @fail_test_on_cannot_locate.setter + def fail_test_on_cannot_locate(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "fail_test_on_cannot_locate", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorValueArgs']]]]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepParamsElementUserLocatorValueArgs']]]]): + pulumi.set(self, "values", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsElementUserLocatorValueArgsDict(TypedDict): + type: NotRequired[pulumi.Input[str]] + """ + Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + """ + value: NotRequired[pulumi.Input[str]] +elif False: + SyntheticsTestMobileStepParamsElementUserLocatorValueArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsElementUserLocatorValueArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] type: Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsPositionArgsDict(TypedDict): + x: NotRequired[pulumi.Input[float]] + y: NotRequired[pulumi.Input[float]] +elif False: + SyntheticsTestMobileStepParamsPositionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsPositionArgs: + def __init__(__self__, *, + x: Optional[pulumi.Input[float]] = None, + y: Optional[pulumi.Input[float]] = None): + if x is not None: + pulumi.set(__self__, "x", x) + if y is not None: + pulumi.set(__self__, "y", y) + + @property + @pulumi.getter + def x(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "x") + + @x.setter + def x(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "x", value) + + @property + @pulumi.getter + def y(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "y") + + @y.setter + def y(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "y", value) + + +if not MYPY: + class SyntheticsTestMobileStepParamsVariableArgsDict(TypedDict): + name: pulumi.Input[str] + """ + Name of the extracted variable. + """ + example: NotRequired[pulumi.Input[str]] + """ + Example of the extracted variable. Defaults to `""`. + """ +elif False: + SyntheticsTestMobileStepParamsVariableArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SyntheticsTestMobileStepParamsVariableArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + example: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: Name of the extracted variable. + :param pulumi.Input[str] example: Example of the extracted variable. Defaults to `""`. + """ + pulumi.set(__self__, "name", name) + if example is not None: + pulumi.set(__self__, "example", example) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of the extracted variable. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def example(self) -> Optional[pulumi.Input[str]]: + """ + Example of the extracted variable. Defaults to `""`. + """ + return pulumi.get(self, "example") + + @example.setter + def example(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "example", value) + + if not MYPY: class SyntheticsTestOptionsListArgsDict(TypedDict): tick_every: pulumi.Input[int] @@ -113545,11 +115016,11 @@ def renotify_interval(self, value: Optional[pulumi.Input[int]]): class SyntheticsTestOptionsListRetryArgsDict(TypedDict): count: NotRequired[pulumi.Input[int]] """ - Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. """ interval: NotRequired[pulumi.Input[int]] """ - Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ elif False: SyntheticsTestOptionsListRetryArgsDict: TypeAlias = Mapping[str, Any] @@ -113560,8 +115031,8 @@ def __init__(__self__, *, count: Optional[pulumi.Input[int]] = None, interval: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[int] count: Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. - :param pulumi.Input[int] interval: Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + :param pulumi.Input[int] count: Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + :param pulumi.Input[int] interval: Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ if count is not None: pulumi.set(__self__, "count", count) @@ -113572,7 +115043,7 @@ def __init__(__self__, *, @pulumi.getter def count(self) -> Optional[pulumi.Input[int]]: """ - Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. """ return pulumi.get(self, "count") @@ -113584,7 +115055,7 @@ def count(self, value: Optional[pulumi.Input[int]]): @pulumi.getter def interval(self) -> Optional[pulumi.Input[int]]: """ - Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ return pulumi.get(self, "interval") diff --git a/sdk/python/pulumi_datadog/aws/__init__.py b/sdk/python/pulumi_datadog/aws/__init__.py index 0b2f5a4bc..39a006b2b 100644 --- a/sdk/python/pulumi_datadog/aws/__init__.py +++ b/sdk/python/pulumi_datadog/aws/__init__.py @@ -5,11 +5,15 @@ from .. import _utilities import typing # Export this package's modules as members: +from .get_integration_available_logs_services import * +from .get_integration_available_namespaces import * from .get_integration_logs_services import * from .get_integration_namespace_rules import * from .integration import * +from .integration_account import * from .integration_event_bridge import * from .integration_lambda_arn import * from .integration_log_collection import * from .integration_tag_filter import * +from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_datadog/aws/_inputs.py b/sdk/python/pulumi_datadog/aws/_inputs.py new file mode 100644 index 000000000..1e0572845 --- /dev/null +++ b/sdk/python/pulumi_datadog/aws/_inputs.py @@ -0,0 +1,669 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'IntegrationAccountAuthConfigArgs', + 'IntegrationAccountAuthConfigArgsDict', + 'IntegrationAccountAuthConfigAwsAuthConfigKeysArgs', + 'IntegrationAccountAuthConfigAwsAuthConfigKeysArgsDict', + 'IntegrationAccountAuthConfigAwsAuthConfigRoleArgs', + 'IntegrationAccountAuthConfigAwsAuthConfigRoleArgsDict', + 'IntegrationAccountAwsRegionsArgs', + 'IntegrationAccountAwsRegionsArgsDict', + 'IntegrationAccountLogsConfigArgs', + 'IntegrationAccountLogsConfigArgsDict', + 'IntegrationAccountLogsConfigLambdaForwarderArgs', + 'IntegrationAccountLogsConfigLambdaForwarderArgsDict', + 'IntegrationAccountMetricsConfigArgs', + 'IntegrationAccountMetricsConfigArgsDict', + 'IntegrationAccountMetricsConfigNamespaceFiltersArgs', + 'IntegrationAccountMetricsConfigNamespaceFiltersArgsDict', + 'IntegrationAccountMetricsConfigTagFilterArgs', + 'IntegrationAccountMetricsConfigTagFilterArgsDict', + 'IntegrationAccountResourcesConfigArgs', + 'IntegrationAccountResourcesConfigArgsDict', + 'IntegrationAccountTracesConfigArgs', + 'IntegrationAccountTracesConfigArgsDict', + 'IntegrationAccountTracesConfigXrayServicesArgs', + 'IntegrationAccountTracesConfigXrayServicesArgsDict', +] + +MYPY = False + +if not MYPY: + class IntegrationAccountAuthConfigArgsDict(TypedDict): + aws_auth_config_keys: NotRequired[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigKeysArgsDict']] + aws_auth_config_role: NotRequired[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigRoleArgsDict']] +elif False: + IntegrationAccountAuthConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountAuthConfigArgs: + def __init__(__self__, *, + aws_auth_config_keys: Optional[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigKeysArgs']] = None, + aws_auth_config_role: Optional[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigRoleArgs']] = None): + if aws_auth_config_keys is not None: + pulumi.set(__self__, "aws_auth_config_keys", aws_auth_config_keys) + if aws_auth_config_role is not None: + pulumi.set(__self__, "aws_auth_config_role", aws_auth_config_role) + + @property + @pulumi.getter(name="awsAuthConfigKeys") + def aws_auth_config_keys(self) -> Optional[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigKeysArgs']]: + return pulumi.get(self, "aws_auth_config_keys") + + @aws_auth_config_keys.setter + def aws_auth_config_keys(self, value: Optional[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigKeysArgs']]): + pulumi.set(self, "aws_auth_config_keys", value) + + @property + @pulumi.getter(name="awsAuthConfigRole") + def aws_auth_config_role(self) -> Optional[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigRoleArgs']]: + return pulumi.get(self, "aws_auth_config_role") + + @aws_auth_config_role.setter + def aws_auth_config_role(self, value: Optional[pulumi.Input['IntegrationAccountAuthConfigAwsAuthConfigRoleArgs']]): + pulumi.set(self, "aws_auth_config_role", value) + + +if not MYPY: + class IntegrationAccountAuthConfigAwsAuthConfigKeysArgsDict(TypedDict): + access_key_id: NotRequired[pulumi.Input[str]] + """ + AWS Access Key ID + """ + secret_access_key: NotRequired[pulumi.Input[str]] +elif False: + IntegrationAccountAuthConfigAwsAuthConfigKeysArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountAuthConfigAwsAuthConfigKeysArgs: + def __init__(__self__, *, + access_key_id: Optional[pulumi.Input[str]] = None, + secret_access_key: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] access_key_id: AWS Access Key ID + """ + if access_key_id is not None: + pulumi.set(__self__, "access_key_id", access_key_id) + if secret_access_key is not None: + pulumi.set(__self__, "secret_access_key", secret_access_key) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> Optional[pulumi.Input[str]]: + """ + AWS Access Key ID + """ + return pulumi.get(self, "access_key_id") + + @access_key_id.setter + def access_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "access_key_id", value) + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secret_access_key") + + @secret_access_key.setter + def secret_access_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_access_key", value) + + +if not MYPY: + class IntegrationAccountAuthConfigAwsAuthConfigRoleArgsDict(TypedDict): + external_id: NotRequired[pulumi.Input[str]] + """ + AWS IAM External ID for associated role + """ + role_name: NotRequired[pulumi.Input[str]] + """ + AWS IAM Role name + """ +elif False: + IntegrationAccountAuthConfigAwsAuthConfigRoleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountAuthConfigAwsAuthConfigRoleArgs: + def __init__(__self__, *, + external_id: Optional[pulumi.Input[str]] = None, + role_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] external_id: AWS IAM External ID for associated role + :param pulumi.Input[str] role_name: AWS IAM Role name + """ + if external_id is not None: + pulumi.set(__self__, "external_id", external_id) + if role_name is not None: + pulumi.set(__self__, "role_name", role_name) + + @property + @pulumi.getter(name="externalId") + def external_id(self) -> Optional[pulumi.Input[str]]: + """ + AWS IAM External ID for associated role + """ + return pulumi.get(self, "external_id") + + @external_id.setter + def external_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "external_id", value) + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> Optional[pulumi.Input[str]]: + """ + AWS IAM Role name + """ + return pulumi.get(self, "role_name") + + @role_name.setter + def role_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_name", value) + + +if not MYPY: + class IntegrationAccountAwsRegionsArgsDict(TypedDict): + include_all: NotRequired[pulumi.Input[bool]] + """ + Include all regions. Defaults to `true`. + """ + include_onlies: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Include only these regions. + """ +elif False: + IntegrationAccountAwsRegionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountAwsRegionsArgs: + def __init__(__self__, *, + include_all: Optional[pulumi.Input[bool]] = None, + include_onlies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[bool] include_all: Include all regions. Defaults to `true`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] include_onlies: Include only these regions. + """ + if include_all is not None: + pulumi.set(__self__, "include_all", include_all) + if include_onlies is not None: + pulumi.set(__self__, "include_onlies", include_onlies) + + @property + @pulumi.getter(name="includeAll") + def include_all(self) -> Optional[pulumi.Input[bool]]: + """ + Include all regions. Defaults to `true`. + """ + return pulumi.get(self, "include_all") + + @include_all.setter + def include_all(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_all", value) + + @property + @pulumi.getter(name="includeOnlies") + def include_onlies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Include only these regions. + """ + return pulumi.get(self, "include_onlies") + + @include_onlies.setter + def include_onlies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "include_onlies", value) + + +if not MYPY: + class IntegrationAccountLogsConfigArgsDict(TypedDict): + lambda_forwarder: NotRequired[pulumi.Input['IntegrationAccountLogsConfigLambdaForwarderArgsDict']] +elif False: + IntegrationAccountLogsConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountLogsConfigArgs: + def __init__(__self__, *, + lambda_forwarder: Optional[pulumi.Input['IntegrationAccountLogsConfigLambdaForwarderArgs']] = None): + if lambda_forwarder is not None: + pulumi.set(__self__, "lambda_forwarder", lambda_forwarder) + + @property + @pulumi.getter(name="lambdaForwarder") + def lambda_forwarder(self) -> Optional[pulumi.Input['IntegrationAccountLogsConfigLambdaForwarderArgs']]: + return pulumi.get(self, "lambda_forwarder") + + @lambda_forwarder.setter + def lambda_forwarder(self, value: Optional[pulumi.Input['IntegrationAccountLogsConfigLambdaForwarderArgs']]): + pulumi.set(self, "lambda_forwarder", value) + + +if not MYPY: + class IntegrationAccountLogsConfigLambdaForwarderArgsDict(TypedDict): + lambdas: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + List of Datadog Lambda Log Forwarder ARNs in your AWS account. + """ + sources: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + List of service IDs set to enable automatic log collection. Use `aws_get_integration_available_logs_services` data source to get allowed values. + """ +elif False: + IntegrationAccountLogsConfigLambdaForwarderArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountLogsConfigLambdaForwarderArgs: + def __init__(__self__, *, + lambdas: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + sources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] lambdas: List of Datadog Lambda Log Forwarder ARNs in your AWS account. + :param pulumi.Input[Sequence[pulumi.Input[str]]] sources: List of service IDs set to enable automatic log collection. Use `aws_get_integration_available_logs_services` data source to get allowed values. + """ + if lambdas is not None: + pulumi.set(__self__, "lambdas", lambdas) + if sources is not None: + pulumi.set(__self__, "sources", sources) + + @property + @pulumi.getter + def lambdas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of Datadog Lambda Log Forwarder ARNs in your AWS account. + """ + return pulumi.get(self, "lambdas") + + @lambdas.setter + def lambdas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "lambdas", value) + + @property + @pulumi.getter + def sources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of service IDs set to enable automatic log collection. Use `aws_get_integration_available_logs_services` data source to get allowed values. + """ + return pulumi.get(self, "sources") + + @sources.setter + def sources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "sources", value) + + +if not MYPY: + class IntegrationAccountMetricsConfigArgsDict(TypedDict): + automute_enabled: NotRequired[pulumi.Input[bool]] + """ + Enable EC2 automute for AWS metrics Defaults to `true`. + """ + collect_cloudwatch_alarms: NotRequired[pulumi.Input[bool]] + """ + Enable CloudWatch alarms collection Defaults to `false`. + """ + collect_custom_metrics: NotRequired[pulumi.Input[bool]] + """ + Enable custom metrics collection Defaults to `false`. + """ + enabled: NotRequired[pulumi.Input[bool]] + """ + Enable AWS metrics collection Defaults to `true`. + """ + namespace_filters: NotRequired[pulumi.Input['IntegrationAccountMetricsConfigNamespaceFiltersArgsDict']] + tag_filters: NotRequired[pulumi.Input[Sequence[pulumi.Input['IntegrationAccountMetricsConfigTagFilterArgsDict']]]] + """ + AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + """ +elif False: + IntegrationAccountMetricsConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountMetricsConfigArgs: + def __init__(__self__, *, + automute_enabled: Optional[pulumi.Input[bool]] = None, + collect_cloudwatch_alarms: Optional[pulumi.Input[bool]] = None, + collect_custom_metrics: Optional[pulumi.Input[bool]] = None, + enabled: Optional[pulumi.Input[bool]] = None, + namespace_filters: Optional[pulumi.Input['IntegrationAccountMetricsConfigNamespaceFiltersArgs']] = None, + tag_filters: Optional[pulumi.Input[Sequence[pulumi.Input['IntegrationAccountMetricsConfigTagFilterArgs']]]] = None): + """ + :param pulumi.Input[bool] automute_enabled: Enable EC2 automute for AWS metrics Defaults to `true`. + :param pulumi.Input[bool] collect_cloudwatch_alarms: Enable CloudWatch alarms collection Defaults to `false`. + :param pulumi.Input[bool] collect_custom_metrics: Enable custom metrics collection Defaults to `false`. + :param pulumi.Input[bool] enabled: Enable AWS metrics collection Defaults to `true`. + :param pulumi.Input[Sequence[pulumi.Input['IntegrationAccountMetricsConfigTagFilterArgs']]] tag_filters: AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + """ + if automute_enabled is not None: + pulumi.set(__self__, "automute_enabled", automute_enabled) + if collect_cloudwatch_alarms is not None: + pulumi.set(__self__, "collect_cloudwatch_alarms", collect_cloudwatch_alarms) + if collect_custom_metrics is not None: + pulumi.set(__self__, "collect_custom_metrics", collect_custom_metrics) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if namespace_filters is not None: + pulumi.set(__self__, "namespace_filters", namespace_filters) + if tag_filters is not None: + pulumi.set(__self__, "tag_filters", tag_filters) + + @property + @pulumi.getter(name="automuteEnabled") + def automute_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enable EC2 automute for AWS metrics Defaults to `true`. + """ + return pulumi.get(self, "automute_enabled") + + @automute_enabled.setter + def automute_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "automute_enabled", value) + + @property + @pulumi.getter(name="collectCloudwatchAlarms") + def collect_cloudwatch_alarms(self) -> Optional[pulumi.Input[bool]]: + """ + Enable CloudWatch alarms collection Defaults to `false`. + """ + return pulumi.get(self, "collect_cloudwatch_alarms") + + @collect_cloudwatch_alarms.setter + def collect_cloudwatch_alarms(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "collect_cloudwatch_alarms", value) + + @property + @pulumi.getter(name="collectCustomMetrics") + def collect_custom_metrics(self) -> Optional[pulumi.Input[bool]]: + """ + Enable custom metrics collection Defaults to `false`. + """ + return pulumi.get(self, "collect_custom_metrics") + + @collect_custom_metrics.setter + def collect_custom_metrics(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "collect_custom_metrics", value) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enable AWS metrics collection Defaults to `true`. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="namespaceFilters") + def namespace_filters(self) -> Optional[pulumi.Input['IntegrationAccountMetricsConfigNamespaceFiltersArgs']]: + return pulumi.get(self, "namespace_filters") + + @namespace_filters.setter + def namespace_filters(self, value: Optional[pulumi.Input['IntegrationAccountMetricsConfigNamespaceFiltersArgs']]): + pulumi.set(self, "namespace_filters", value) + + @property + @pulumi.getter(name="tagFilters") + def tag_filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IntegrationAccountMetricsConfigTagFilterArgs']]]]: + """ + AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + """ + return pulumi.get(self, "tag_filters") + + @tag_filters.setter + def tag_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IntegrationAccountMetricsConfigTagFilterArgs']]]]): + pulumi.set(self, "tag_filters", value) + + +if not MYPY: + class IntegrationAccountMetricsConfigNamespaceFiltersArgsDict(TypedDict): + exclude_onlies: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Exclude only these namespaces from metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + """ + include_onlies: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Include only these namespaces for metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. + """ +elif False: + IntegrationAccountMetricsConfigNamespaceFiltersArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountMetricsConfigNamespaceFiltersArgs: + def __init__(__self__, *, + exclude_onlies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + include_onlies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] exclude_onlies: Exclude only these namespaces from metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + :param pulumi.Input[Sequence[pulumi.Input[str]]] include_onlies: Include only these namespaces for metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. + """ + if exclude_onlies is not None: + pulumi.set(__self__, "exclude_onlies", exclude_onlies) + if include_onlies is not None: + pulumi.set(__self__, "include_onlies", include_onlies) + + @property + @pulumi.getter(name="excludeOnlies") + def exclude_onlies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Exclude only these namespaces from metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + """ + return pulumi.get(self, "exclude_onlies") + + @exclude_onlies.setter + def exclude_onlies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exclude_onlies", value) + + @property + @pulumi.getter(name="includeOnlies") + def include_onlies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Include only these namespaces for metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. + """ + return pulumi.get(self, "include_onlies") + + @include_onlies.setter + def include_onlies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "include_onlies", value) + + +if not MYPY: + class IntegrationAccountMetricsConfigTagFilterArgsDict(TypedDict): + namespace: pulumi.Input[str] + """ + The AWS service for which the tag filters defined in `tags` will be applied. + """ + tags: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The AWS resource tags to filter on for the service specified by `namespace`. + """ +elif False: + IntegrationAccountMetricsConfigTagFilterArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountMetricsConfigTagFilterArgs: + def __init__(__self__, *, + namespace: pulumi.Input[str], + tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] namespace: The AWS service for which the tag filters defined in `tags` will be applied. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The AWS resource tags to filter on for the service specified by `namespace`. + """ + pulumi.set(__self__, "namespace", namespace) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def namespace(self) -> pulumi.Input[str]: + """ + The AWS service for which the tag filters defined in `tags` will be applied. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: pulumi.Input[str]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The AWS resource tags to filter on for the service specified by `namespace`. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +if not MYPY: + class IntegrationAccountResourcesConfigArgsDict(TypedDict): + cloud_security_posture_management_collection: NotRequired[pulumi.Input[bool]] + """ + Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + """ + extended_collection: NotRequired[pulumi.Input[bool]] + """ + Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + """ +elif False: + IntegrationAccountResourcesConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountResourcesConfigArgs: + def __init__(__self__, *, + cloud_security_posture_management_collection: Optional[pulumi.Input[bool]] = None, + extended_collection: Optional[pulumi.Input[bool]] = None): + """ + :param pulumi.Input[bool] cloud_security_posture_management_collection: Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + :param pulumi.Input[bool] extended_collection: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + """ + if cloud_security_posture_management_collection is not None: + pulumi.set(__self__, "cloud_security_posture_management_collection", cloud_security_posture_management_collection) + if extended_collection is not None: + pulumi.set(__self__, "extended_collection", extended_collection) + + @property + @pulumi.getter(name="cloudSecurityPostureManagementCollection") + def cloud_security_posture_management_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + """ + return pulumi.get(self, "cloud_security_posture_management_collection") + + @cloud_security_posture_management_collection.setter + def cloud_security_posture_management_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "cloud_security_posture_management_collection", value) + + @property + @pulumi.getter(name="extendedCollection") + def extended_collection(self) -> Optional[pulumi.Input[bool]]: + """ + Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + """ + return pulumi.get(self, "extended_collection") + + @extended_collection.setter + def extended_collection(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "extended_collection", value) + + +if not MYPY: + class IntegrationAccountTracesConfigArgsDict(TypedDict): + xray_services: NotRequired[pulumi.Input['IntegrationAccountTracesConfigXrayServicesArgsDict']] + """ + AWS X-Ray services to collect traces from. + """ +elif False: + IntegrationAccountTracesConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountTracesConfigArgs: + def __init__(__self__, *, + xray_services: Optional[pulumi.Input['IntegrationAccountTracesConfigXrayServicesArgs']] = None): + """ + :param pulumi.Input['IntegrationAccountTracesConfigXrayServicesArgs'] xray_services: AWS X-Ray services to collect traces from. + """ + if xray_services is not None: + pulumi.set(__self__, "xray_services", xray_services) + + @property + @pulumi.getter(name="xrayServices") + def xray_services(self) -> Optional[pulumi.Input['IntegrationAccountTracesConfigXrayServicesArgs']]: + """ + AWS X-Ray services to collect traces from. + """ + return pulumi.get(self, "xray_services") + + @xray_services.setter + def xray_services(self, value: Optional[pulumi.Input['IntegrationAccountTracesConfigXrayServicesArgs']]): + pulumi.set(self, "xray_services", value) + + +if not MYPY: + class IntegrationAccountTracesConfigXrayServicesArgsDict(TypedDict): + include_all: NotRequired[pulumi.Input[bool]] + """ + Include all services + """ + include_onlies: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Include only these services + """ +elif False: + IntegrationAccountTracesConfigXrayServicesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class IntegrationAccountTracesConfigXrayServicesArgs: + def __init__(__self__, *, + include_all: Optional[pulumi.Input[bool]] = None, + include_onlies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[bool] include_all: Include all services + :param pulumi.Input[Sequence[pulumi.Input[str]]] include_onlies: Include only these services + """ + if include_all is not None: + pulumi.set(__self__, "include_all", include_all) + if include_onlies is not None: + pulumi.set(__self__, "include_onlies", include_onlies) + + @property + @pulumi.getter(name="includeAll") + def include_all(self) -> Optional[pulumi.Input[bool]]: + """ + Include all services + """ + return pulumi.get(self, "include_all") + + @include_all.setter + def include_all(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "include_all", value) + + @property + @pulumi.getter(name="includeOnlies") + def include_onlies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Include only these services + """ + return pulumi.get(self, "include_onlies") + + @include_onlies.setter + def include_onlies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "include_onlies", value) + + diff --git a/sdk/python/pulumi_datadog/aws/get_integration_available_logs_services.py b/sdk/python/pulumi_datadog/aws/get_integration_available_logs_services.py new file mode 100644 index 000000000..a30c231b6 --- /dev/null +++ b/sdk/python/pulumi_datadog/aws/get_integration_available_logs_services.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetIntegrationAvailableLogsServicesResult', + 'AwaitableGetIntegrationAvailableLogsServicesResult', + 'get_integration_available_logs_services', + 'get_integration_available_logs_services_output', +] + +@pulumi.output_type +class GetIntegrationAvailableLogsServicesResult: + """ + A collection of values returned by getIntegrationAvailableLogsServices. + """ + def __init__(__self__, aws_logs_services=None, id=None): + if aws_logs_services and not isinstance(aws_logs_services, list): + raise TypeError("Expected argument 'aws_logs_services' to be a list") + pulumi.set(__self__, "aws_logs_services", aws_logs_services) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="awsLogsServices") + def aws_logs_services(self) -> Sequence[str]: + """ + List of AWS log ready services. + """ + return pulumi.get(self, "aws_logs_services") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetIntegrationAvailableLogsServicesResult(GetIntegrationAvailableLogsServicesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIntegrationAvailableLogsServicesResult( + aws_logs_services=self.aws_logs_services, + id=self.id) + + +def get_integration_available_logs_services(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIntegrationAvailableLogsServicesResult: + """ + Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `aws.IntegrationAccount` resource. + """ + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices', __args__, opts=opts, typ=GetIntegrationAvailableLogsServicesResult).value + + return AwaitableGetIntegrationAvailableLogsServicesResult( + aws_logs_services=pulumi.get(__ret__, 'aws_logs_services'), + id=pulumi.get(__ret__, 'id')) +def get_integration_available_logs_services_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIntegrationAvailableLogsServicesResult]: + """ + Use this data source to retrieve all AWS log ready services. This is the list of allowed values for `logs_config.lambda_forwarder.sources` in `aws.IntegrationAccount` resource. + """ + __args__ = dict() + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('datadog:aws/getIntegrationAvailableLogsServices:getIntegrationAvailableLogsServices', __args__, opts=opts, typ=GetIntegrationAvailableLogsServicesResult) + return __ret__.apply(lambda __response__: GetIntegrationAvailableLogsServicesResult( + aws_logs_services=pulumi.get(__response__, 'aws_logs_services'), + id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumi_datadog/aws/get_integration_available_namespaces.py b/sdk/python/pulumi_datadog/aws/get_integration_available_namespaces.py new file mode 100644 index 000000000..2b300f955 --- /dev/null +++ b/sdk/python/pulumi_datadog/aws/get_integration_available_namespaces.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetIntegrationAvailableNamespacesResult', + 'AwaitableGetIntegrationAvailableNamespacesResult', + 'get_integration_available_namespaces', + 'get_integration_available_namespaces_output', +] + +@pulumi.output_type +class GetIntegrationAvailableNamespacesResult: + """ + A collection of values returned by getIntegrationAvailableNamespaces. + """ + def __init__(__self__, aws_namespaces=None, id=None): + if aws_namespaces and not isinstance(aws_namespaces, list): + raise TypeError("Expected argument 'aws_namespaces' to be a list") + pulumi.set(__self__, "aws_namespaces", aws_namespaces) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter(name="awsNamespaces") + def aws_namespaces(self) -> Sequence[str]: + """ + List of available AWS namespaces. + """ + return pulumi.get(self, "aws_namespaces") + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of this resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetIntegrationAvailableNamespacesResult(GetIntegrationAvailableNamespacesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetIntegrationAvailableNamespacesResult( + aws_namespaces=self.aws_namespaces, + id=self.id) + + +def get_integration_available_namespaces(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIntegrationAvailableNamespacesResult: + """ + Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `aws.IntegrationAccount` resource. + """ + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces', __args__, opts=opts, typ=GetIntegrationAvailableNamespacesResult).value + + return AwaitableGetIntegrationAvailableNamespacesResult( + aws_namespaces=pulumi.get(__ret__, 'aws_namespaces'), + id=pulumi.get(__ret__, 'id')) +def get_integration_available_namespaces_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIntegrationAvailableNamespacesResult]: + """ + Use this data source to retrieve all available AWS namespaces. This is the list of allowed values for `metrics_config.namespace_filters` `include_only` or `exclude_only` in `aws.IntegrationAccount` resource. + """ + __args__ = dict() + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('datadog:aws/getIntegrationAvailableNamespaces:getIntegrationAvailableNamespaces', __args__, opts=opts, typ=GetIntegrationAvailableNamespacesResult) + return __ret__.apply(lambda __response__: GetIntegrationAvailableNamespacesResult( + aws_namespaces=pulumi.get(__response__, 'aws_namespaces'), + id=pulumi.get(__response__, 'id'))) diff --git a/sdk/python/pulumi_datadog/aws/integration_account.py b/sdk/python/pulumi_datadog/aws/integration_account.py new file mode 100644 index 000000000..2cb02b899 --- /dev/null +++ b/sdk/python/pulumi_datadog/aws/integration_account.py @@ -0,0 +1,490 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['IntegrationAccountArgs', 'IntegrationAccount'] + +@pulumi.input_type +class IntegrationAccountArgs: + def __init__(__self__, *, + aws_account_id: pulumi.Input[str], + aws_partition: pulumi.Input[str], + account_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + auth_config: Optional[pulumi.Input['IntegrationAccountAuthConfigArgs']] = None, + aws_regions: Optional[pulumi.Input['IntegrationAccountAwsRegionsArgs']] = None, + logs_config: Optional[pulumi.Input['IntegrationAccountLogsConfigArgs']] = None, + metrics_config: Optional[pulumi.Input['IntegrationAccountMetricsConfigArgs']] = None, + resources_config: Optional[pulumi.Input['IntegrationAccountResourcesConfigArgs']] = None, + traces_config: Optional[pulumi.Input['IntegrationAccountTracesConfigArgs']] = None): + """ + The set of arguments for constructing a IntegrationAccount resource. + :param pulumi.Input[str] aws_account_id: Your AWS Account ID without dashes. + :param pulumi.Input[str] aws_partition: AWS Account partition + :param pulumi.Input[Sequence[pulumi.Input[str]]] account_tags: Tags to apply to all metrics in the account + :param pulumi.Input['IntegrationAccountAwsRegionsArgs'] aws_regions: AWS Regions to collect data from. + :param pulumi.Input['IntegrationAccountTracesConfigArgs'] traces_config: AWS Traces Collection config. + """ + pulumi.set(__self__, "aws_account_id", aws_account_id) + pulumi.set(__self__, "aws_partition", aws_partition) + if account_tags is not None: + pulumi.set(__self__, "account_tags", account_tags) + if auth_config is not None: + pulumi.set(__self__, "auth_config", auth_config) + if aws_regions is not None: + pulumi.set(__self__, "aws_regions", aws_regions) + if logs_config is not None: + pulumi.set(__self__, "logs_config", logs_config) + if metrics_config is not None: + pulumi.set(__self__, "metrics_config", metrics_config) + if resources_config is not None: + pulumi.set(__self__, "resources_config", resources_config) + if traces_config is not None: + pulumi.set(__self__, "traces_config", traces_config) + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> pulumi.Input[str]: + """ + Your AWS Account ID without dashes. + """ + return pulumi.get(self, "aws_account_id") + + @aws_account_id.setter + def aws_account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_account_id", value) + + @property + @pulumi.getter(name="awsPartition") + def aws_partition(self) -> pulumi.Input[str]: + """ + AWS Account partition + """ + return pulumi.get(self, "aws_partition") + + @aws_partition.setter + def aws_partition(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_partition", value) + + @property + @pulumi.getter(name="accountTags") + def account_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Tags to apply to all metrics in the account + """ + return pulumi.get(self, "account_tags") + + @account_tags.setter + def account_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "account_tags", value) + + @property + @pulumi.getter(name="authConfig") + def auth_config(self) -> Optional[pulumi.Input['IntegrationAccountAuthConfigArgs']]: + return pulumi.get(self, "auth_config") + + @auth_config.setter + def auth_config(self, value: Optional[pulumi.Input['IntegrationAccountAuthConfigArgs']]): + pulumi.set(self, "auth_config", value) + + @property + @pulumi.getter(name="awsRegions") + def aws_regions(self) -> Optional[pulumi.Input['IntegrationAccountAwsRegionsArgs']]: + """ + AWS Regions to collect data from. + """ + return pulumi.get(self, "aws_regions") + + @aws_regions.setter + def aws_regions(self, value: Optional[pulumi.Input['IntegrationAccountAwsRegionsArgs']]): + pulumi.set(self, "aws_regions", value) + + @property + @pulumi.getter(name="logsConfig") + def logs_config(self) -> Optional[pulumi.Input['IntegrationAccountLogsConfigArgs']]: + return pulumi.get(self, "logs_config") + + @logs_config.setter + def logs_config(self, value: Optional[pulumi.Input['IntegrationAccountLogsConfigArgs']]): + pulumi.set(self, "logs_config", value) + + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional[pulumi.Input['IntegrationAccountMetricsConfigArgs']]: + return pulumi.get(self, "metrics_config") + + @metrics_config.setter + def metrics_config(self, value: Optional[pulumi.Input['IntegrationAccountMetricsConfigArgs']]): + pulumi.set(self, "metrics_config", value) + + @property + @pulumi.getter(name="resourcesConfig") + def resources_config(self) -> Optional[pulumi.Input['IntegrationAccountResourcesConfigArgs']]: + return pulumi.get(self, "resources_config") + + @resources_config.setter + def resources_config(self, value: Optional[pulumi.Input['IntegrationAccountResourcesConfigArgs']]): + pulumi.set(self, "resources_config", value) + + @property + @pulumi.getter(name="tracesConfig") + def traces_config(self) -> Optional[pulumi.Input['IntegrationAccountTracesConfigArgs']]: + """ + AWS Traces Collection config. + """ + return pulumi.get(self, "traces_config") + + @traces_config.setter + def traces_config(self, value: Optional[pulumi.Input['IntegrationAccountTracesConfigArgs']]): + pulumi.set(self, "traces_config", value) + + +@pulumi.input_type +class _IntegrationAccountState: + def __init__(__self__, *, + account_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + auth_config: Optional[pulumi.Input['IntegrationAccountAuthConfigArgs']] = None, + aws_account_id: Optional[pulumi.Input[str]] = None, + aws_partition: Optional[pulumi.Input[str]] = None, + aws_regions: Optional[pulumi.Input['IntegrationAccountAwsRegionsArgs']] = None, + logs_config: Optional[pulumi.Input['IntegrationAccountLogsConfigArgs']] = None, + metrics_config: Optional[pulumi.Input['IntegrationAccountMetricsConfigArgs']] = None, + resources_config: Optional[pulumi.Input['IntegrationAccountResourcesConfigArgs']] = None, + traces_config: Optional[pulumi.Input['IntegrationAccountTracesConfigArgs']] = None): + """ + Input properties used for looking up and filtering IntegrationAccount resources. + :param pulumi.Input[Sequence[pulumi.Input[str]]] account_tags: Tags to apply to all metrics in the account + :param pulumi.Input[str] aws_account_id: Your AWS Account ID without dashes. + :param pulumi.Input[str] aws_partition: AWS Account partition + :param pulumi.Input['IntegrationAccountAwsRegionsArgs'] aws_regions: AWS Regions to collect data from. + :param pulumi.Input['IntegrationAccountTracesConfigArgs'] traces_config: AWS Traces Collection config. + """ + if account_tags is not None: + pulumi.set(__self__, "account_tags", account_tags) + if auth_config is not None: + pulumi.set(__self__, "auth_config", auth_config) + if aws_account_id is not None: + pulumi.set(__self__, "aws_account_id", aws_account_id) + if aws_partition is not None: + pulumi.set(__self__, "aws_partition", aws_partition) + if aws_regions is not None: + pulumi.set(__self__, "aws_regions", aws_regions) + if logs_config is not None: + pulumi.set(__self__, "logs_config", logs_config) + if metrics_config is not None: + pulumi.set(__self__, "metrics_config", metrics_config) + if resources_config is not None: + pulumi.set(__self__, "resources_config", resources_config) + if traces_config is not None: + pulumi.set(__self__, "traces_config", traces_config) + + @property + @pulumi.getter(name="accountTags") + def account_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Tags to apply to all metrics in the account + """ + return pulumi.get(self, "account_tags") + + @account_tags.setter + def account_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "account_tags", value) + + @property + @pulumi.getter(name="authConfig") + def auth_config(self) -> Optional[pulumi.Input['IntegrationAccountAuthConfigArgs']]: + return pulumi.get(self, "auth_config") + + @auth_config.setter + def auth_config(self, value: Optional[pulumi.Input['IntegrationAccountAuthConfigArgs']]): + pulumi.set(self, "auth_config", value) + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> Optional[pulumi.Input[str]]: + """ + Your AWS Account ID without dashes. + """ + return pulumi.get(self, "aws_account_id") + + @aws_account_id.setter + def aws_account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_account_id", value) + + @property + @pulumi.getter(name="awsPartition") + def aws_partition(self) -> Optional[pulumi.Input[str]]: + """ + AWS Account partition + """ + return pulumi.get(self, "aws_partition") + + @aws_partition.setter + def aws_partition(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "aws_partition", value) + + @property + @pulumi.getter(name="awsRegions") + def aws_regions(self) -> Optional[pulumi.Input['IntegrationAccountAwsRegionsArgs']]: + """ + AWS Regions to collect data from. + """ + return pulumi.get(self, "aws_regions") + + @aws_regions.setter + def aws_regions(self, value: Optional[pulumi.Input['IntegrationAccountAwsRegionsArgs']]): + pulumi.set(self, "aws_regions", value) + + @property + @pulumi.getter(name="logsConfig") + def logs_config(self) -> Optional[pulumi.Input['IntegrationAccountLogsConfigArgs']]: + return pulumi.get(self, "logs_config") + + @logs_config.setter + def logs_config(self, value: Optional[pulumi.Input['IntegrationAccountLogsConfigArgs']]): + pulumi.set(self, "logs_config", value) + + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional[pulumi.Input['IntegrationAccountMetricsConfigArgs']]: + return pulumi.get(self, "metrics_config") + + @metrics_config.setter + def metrics_config(self, value: Optional[pulumi.Input['IntegrationAccountMetricsConfigArgs']]): + pulumi.set(self, "metrics_config", value) + + @property + @pulumi.getter(name="resourcesConfig") + def resources_config(self) -> Optional[pulumi.Input['IntegrationAccountResourcesConfigArgs']]: + return pulumi.get(self, "resources_config") + + @resources_config.setter + def resources_config(self, value: Optional[pulumi.Input['IntegrationAccountResourcesConfigArgs']]): + pulumi.set(self, "resources_config", value) + + @property + @pulumi.getter(name="tracesConfig") + def traces_config(self) -> Optional[pulumi.Input['IntegrationAccountTracesConfigArgs']]: + """ + AWS Traces Collection config. + """ + return pulumi.get(self, "traces_config") + + @traces_config.setter + def traces_config(self, value: Optional[pulumi.Input['IntegrationAccountTracesConfigArgs']]): + pulumi.set(self, "traces_config", value) + + +class IntegrationAccount(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + auth_config: Optional[pulumi.Input[Union['IntegrationAccountAuthConfigArgs', 'IntegrationAccountAuthConfigArgsDict']]] = None, + aws_account_id: Optional[pulumi.Input[str]] = None, + aws_partition: Optional[pulumi.Input[str]] = None, + aws_regions: Optional[pulumi.Input[Union['IntegrationAccountAwsRegionsArgs', 'IntegrationAccountAwsRegionsArgsDict']]] = None, + logs_config: Optional[pulumi.Input[Union['IntegrationAccountLogsConfigArgs', 'IntegrationAccountLogsConfigArgsDict']]] = None, + metrics_config: Optional[pulumi.Input[Union['IntegrationAccountMetricsConfigArgs', 'IntegrationAccountMetricsConfigArgsDict']]] = None, + resources_config: Optional[pulumi.Input[Union['IntegrationAccountResourcesConfigArgs', 'IntegrationAccountResourcesConfigArgsDict']]] = None, + traces_config: Optional[pulumi.Input[Union['IntegrationAccountTracesConfigArgs', 'IntegrationAccountTracesConfigArgsDict']]] = None, + __props__=None): + """ + ## Import + + ```sh + $ pulumi import datadog:aws/integrationAccount:IntegrationAccount example "" + ``` + + AWS Account Config ID can be retrieved by using the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and querying by AWS Account ID, or by accessing the `id` field of an existing `datadog_integration_aws` resource. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] account_tags: Tags to apply to all metrics in the account + :param pulumi.Input[str] aws_account_id: Your AWS Account ID without dashes. + :param pulumi.Input[str] aws_partition: AWS Account partition + :param pulumi.Input[Union['IntegrationAccountAwsRegionsArgs', 'IntegrationAccountAwsRegionsArgsDict']] aws_regions: AWS Regions to collect data from. + :param pulumi.Input[Union['IntegrationAccountTracesConfigArgs', 'IntegrationAccountTracesConfigArgsDict']] traces_config: AWS Traces Collection config. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: IntegrationAccountArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Import + + ```sh + $ pulumi import datadog:aws/integrationAccount:IntegrationAccount example "" + ``` + + AWS Account Config ID can be retrieved by using the [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and querying by AWS Account ID, or by accessing the `id` field of an existing `datadog_integration_aws` resource. + + :param str resource_name: The name of the resource. + :param IntegrationAccountArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(IntegrationAccountArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + auth_config: Optional[pulumi.Input[Union['IntegrationAccountAuthConfigArgs', 'IntegrationAccountAuthConfigArgsDict']]] = None, + aws_account_id: Optional[pulumi.Input[str]] = None, + aws_partition: Optional[pulumi.Input[str]] = None, + aws_regions: Optional[pulumi.Input[Union['IntegrationAccountAwsRegionsArgs', 'IntegrationAccountAwsRegionsArgsDict']]] = None, + logs_config: Optional[pulumi.Input[Union['IntegrationAccountLogsConfigArgs', 'IntegrationAccountLogsConfigArgsDict']]] = None, + metrics_config: Optional[pulumi.Input[Union['IntegrationAccountMetricsConfigArgs', 'IntegrationAccountMetricsConfigArgsDict']]] = None, + resources_config: Optional[pulumi.Input[Union['IntegrationAccountResourcesConfigArgs', 'IntegrationAccountResourcesConfigArgsDict']]] = None, + traces_config: Optional[pulumi.Input[Union['IntegrationAccountTracesConfigArgs', 'IntegrationAccountTracesConfigArgsDict']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = IntegrationAccountArgs.__new__(IntegrationAccountArgs) + + __props__.__dict__["account_tags"] = account_tags + __props__.__dict__["auth_config"] = auth_config + if aws_account_id is None and not opts.urn: + raise TypeError("Missing required property 'aws_account_id'") + __props__.__dict__["aws_account_id"] = aws_account_id + if aws_partition is None and not opts.urn: + raise TypeError("Missing required property 'aws_partition'") + __props__.__dict__["aws_partition"] = aws_partition + __props__.__dict__["aws_regions"] = aws_regions + __props__.__dict__["logs_config"] = logs_config + __props__.__dict__["metrics_config"] = metrics_config + __props__.__dict__["resources_config"] = resources_config + __props__.__dict__["traces_config"] = traces_config + super(IntegrationAccount, __self__).__init__( + 'datadog:aws/integrationAccount:IntegrationAccount', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + account_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + auth_config: Optional[pulumi.Input[Union['IntegrationAccountAuthConfigArgs', 'IntegrationAccountAuthConfigArgsDict']]] = None, + aws_account_id: Optional[pulumi.Input[str]] = None, + aws_partition: Optional[pulumi.Input[str]] = None, + aws_regions: Optional[pulumi.Input[Union['IntegrationAccountAwsRegionsArgs', 'IntegrationAccountAwsRegionsArgsDict']]] = None, + logs_config: Optional[pulumi.Input[Union['IntegrationAccountLogsConfigArgs', 'IntegrationAccountLogsConfigArgsDict']]] = None, + metrics_config: Optional[pulumi.Input[Union['IntegrationAccountMetricsConfigArgs', 'IntegrationAccountMetricsConfigArgsDict']]] = None, + resources_config: Optional[pulumi.Input[Union['IntegrationAccountResourcesConfigArgs', 'IntegrationAccountResourcesConfigArgsDict']]] = None, + traces_config: Optional[pulumi.Input[Union['IntegrationAccountTracesConfigArgs', 'IntegrationAccountTracesConfigArgsDict']]] = None) -> 'IntegrationAccount': + """ + Get an existing IntegrationAccount resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] account_tags: Tags to apply to all metrics in the account + :param pulumi.Input[str] aws_account_id: Your AWS Account ID without dashes. + :param pulumi.Input[str] aws_partition: AWS Account partition + :param pulumi.Input[Union['IntegrationAccountAwsRegionsArgs', 'IntegrationAccountAwsRegionsArgsDict']] aws_regions: AWS Regions to collect data from. + :param pulumi.Input[Union['IntegrationAccountTracesConfigArgs', 'IntegrationAccountTracesConfigArgsDict']] traces_config: AWS Traces Collection config. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _IntegrationAccountState.__new__(_IntegrationAccountState) + + __props__.__dict__["account_tags"] = account_tags + __props__.__dict__["auth_config"] = auth_config + __props__.__dict__["aws_account_id"] = aws_account_id + __props__.__dict__["aws_partition"] = aws_partition + __props__.__dict__["aws_regions"] = aws_regions + __props__.__dict__["logs_config"] = logs_config + __props__.__dict__["metrics_config"] = metrics_config + __props__.__dict__["resources_config"] = resources_config + __props__.__dict__["traces_config"] = traces_config + return IntegrationAccount(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountTags") + def account_tags(self) -> pulumi.Output[Sequence[str]]: + """ + Tags to apply to all metrics in the account + """ + return pulumi.get(self, "account_tags") + + @property + @pulumi.getter(name="authConfig") + def auth_config(self) -> pulumi.Output[Optional['outputs.IntegrationAccountAuthConfig']]: + return pulumi.get(self, "auth_config") + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> pulumi.Output[str]: + """ + Your AWS Account ID without dashes. + """ + return pulumi.get(self, "aws_account_id") + + @property + @pulumi.getter(name="awsPartition") + def aws_partition(self) -> pulumi.Output[str]: + """ + AWS Account partition + """ + return pulumi.get(self, "aws_partition") + + @property + @pulumi.getter(name="awsRegions") + def aws_regions(self) -> pulumi.Output[Optional['outputs.IntegrationAccountAwsRegions']]: + """ + AWS Regions to collect data from. + """ + return pulumi.get(self, "aws_regions") + + @property + @pulumi.getter(name="logsConfig") + def logs_config(self) -> pulumi.Output[Optional['outputs.IntegrationAccountLogsConfig']]: + return pulumi.get(self, "logs_config") + + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> pulumi.Output[Optional['outputs.IntegrationAccountMetricsConfig']]: + return pulumi.get(self, "metrics_config") + + @property + @pulumi.getter(name="resourcesConfig") + def resources_config(self) -> pulumi.Output[Optional['outputs.IntegrationAccountResourcesConfig']]: + return pulumi.get(self, "resources_config") + + @property + @pulumi.getter(name="tracesConfig") + def traces_config(self) -> pulumi.Output[Optional['outputs.IntegrationAccountTracesConfig']]: + """ + AWS Traces Collection config. + """ + return pulumi.get(self, "traces_config") + diff --git a/sdk/python/pulumi_datadog/aws/outputs.py b/sdk/python/pulumi_datadog/aws/outputs.py index 665796d1a..ea1cefe8f 100644 --- a/sdk/python/pulumi_datadog/aws/outputs.py +++ b/sdk/python/pulumi_datadog/aws/outputs.py @@ -13,11 +13,587 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs __all__ = [ + 'IntegrationAccountAuthConfig', + 'IntegrationAccountAuthConfigAwsAuthConfigKeys', + 'IntegrationAccountAuthConfigAwsAuthConfigRole', + 'IntegrationAccountAwsRegions', + 'IntegrationAccountLogsConfig', + 'IntegrationAccountLogsConfigLambdaForwarder', + 'IntegrationAccountMetricsConfig', + 'IntegrationAccountMetricsConfigNamespaceFilters', + 'IntegrationAccountMetricsConfigTagFilter', + 'IntegrationAccountResourcesConfig', + 'IntegrationAccountTracesConfig', + 'IntegrationAccountTracesConfigXrayServices', 'GetIntegrationLogsServicesAwsLogsServiceResult', ] +@pulumi.output_type +class IntegrationAccountAuthConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "awsAuthConfigKeys": + suggest = "aws_auth_config_keys" + elif key == "awsAuthConfigRole": + suggest = "aws_auth_config_role" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountAuthConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountAuthConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountAuthConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + aws_auth_config_keys: Optional['outputs.IntegrationAccountAuthConfigAwsAuthConfigKeys'] = None, + aws_auth_config_role: Optional['outputs.IntegrationAccountAuthConfigAwsAuthConfigRole'] = None): + if aws_auth_config_keys is not None: + pulumi.set(__self__, "aws_auth_config_keys", aws_auth_config_keys) + if aws_auth_config_role is not None: + pulumi.set(__self__, "aws_auth_config_role", aws_auth_config_role) + + @property + @pulumi.getter(name="awsAuthConfigKeys") + def aws_auth_config_keys(self) -> Optional['outputs.IntegrationAccountAuthConfigAwsAuthConfigKeys']: + return pulumi.get(self, "aws_auth_config_keys") + + @property + @pulumi.getter(name="awsAuthConfigRole") + def aws_auth_config_role(self) -> Optional['outputs.IntegrationAccountAuthConfigAwsAuthConfigRole']: + return pulumi.get(self, "aws_auth_config_role") + + +@pulumi.output_type +class IntegrationAccountAuthConfigAwsAuthConfigKeys(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessKeyId": + suggest = "access_key_id" + elif key == "secretAccessKey": + suggest = "secret_access_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountAuthConfigAwsAuthConfigKeys. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountAuthConfigAwsAuthConfigKeys.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountAuthConfigAwsAuthConfigKeys.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_key_id: Optional[str] = None, + secret_access_key: Optional[str] = None): + """ + :param str access_key_id: AWS Access Key ID + """ + if access_key_id is not None: + pulumi.set(__self__, "access_key_id", access_key_id) + if secret_access_key is not None: + pulumi.set(__self__, "secret_access_key", secret_access_key) + + @property + @pulumi.getter(name="accessKeyId") + def access_key_id(self) -> Optional[str]: + """ + AWS Access Key ID + """ + return pulumi.get(self, "access_key_id") + + @property + @pulumi.getter(name="secretAccessKey") + def secret_access_key(self) -> Optional[str]: + return pulumi.get(self, "secret_access_key") + + +@pulumi.output_type +class IntegrationAccountAuthConfigAwsAuthConfigRole(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "externalId": + suggest = "external_id" + elif key == "roleName": + suggest = "role_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountAuthConfigAwsAuthConfigRole. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountAuthConfigAwsAuthConfigRole.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountAuthConfigAwsAuthConfigRole.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + external_id: Optional[str] = None, + role_name: Optional[str] = None): + """ + :param str external_id: AWS IAM External ID for associated role + :param str role_name: AWS IAM Role name + """ + if external_id is not None: + pulumi.set(__self__, "external_id", external_id) + if role_name is not None: + pulumi.set(__self__, "role_name", role_name) + + @property + @pulumi.getter(name="externalId") + def external_id(self) -> Optional[str]: + """ + AWS IAM External ID for associated role + """ + return pulumi.get(self, "external_id") + + @property + @pulumi.getter(name="roleName") + def role_name(self) -> Optional[str]: + """ + AWS IAM Role name + """ + return pulumi.get(self, "role_name") + + +@pulumi.output_type +class IntegrationAccountAwsRegions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "includeAll": + suggest = "include_all" + elif key == "includeOnlies": + suggest = "include_onlies" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountAwsRegions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountAwsRegions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountAwsRegions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + include_all: Optional[bool] = None, + include_onlies: Optional[Sequence[str]] = None): + """ + :param bool include_all: Include all regions. Defaults to `true`. + :param Sequence[str] include_onlies: Include only these regions. + """ + if include_all is not None: + pulumi.set(__self__, "include_all", include_all) + if include_onlies is not None: + pulumi.set(__self__, "include_onlies", include_onlies) + + @property + @pulumi.getter(name="includeAll") + def include_all(self) -> Optional[bool]: + """ + Include all regions. Defaults to `true`. + """ + return pulumi.get(self, "include_all") + + @property + @pulumi.getter(name="includeOnlies") + def include_onlies(self) -> Optional[Sequence[str]]: + """ + Include only these regions. + """ + return pulumi.get(self, "include_onlies") + + +@pulumi.output_type +class IntegrationAccountLogsConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lambdaForwarder": + suggest = "lambda_forwarder" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountLogsConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountLogsConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountLogsConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + lambda_forwarder: Optional['outputs.IntegrationAccountLogsConfigLambdaForwarder'] = None): + if lambda_forwarder is not None: + pulumi.set(__self__, "lambda_forwarder", lambda_forwarder) + + @property + @pulumi.getter(name="lambdaForwarder") + def lambda_forwarder(self) -> Optional['outputs.IntegrationAccountLogsConfigLambdaForwarder']: + return pulumi.get(self, "lambda_forwarder") + + +@pulumi.output_type +class IntegrationAccountLogsConfigLambdaForwarder(dict): + def __init__(__self__, *, + lambdas: Optional[Sequence[str]] = None, + sources: Optional[Sequence[str]] = None): + """ + :param Sequence[str] lambdas: List of Datadog Lambda Log Forwarder ARNs in your AWS account. + :param Sequence[str] sources: List of service IDs set to enable automatic log collection. Use `aws_get_integration_available_logs_services` data source to get allowed values. + """ + if lambdas is not None: + pulumi.set(__self__, "lambdas", lambdas) + if sources is not None: + pulumi.set(__self__, "sources", sources) + + @property + @pulumi.getter + def lambdas(self) -> Optional[Sequence[str]]: + """ + List of Datadog Lambda Log Forwarder ARNs in your AWS account. + """ + return pulumi.get(self, "lambdas") + + @property + @pulumi.getter + def sources(self) -> Optional[Sequence[str]]: + """ + List of service IDs set to enable automatic log collection. Use `aws_get_integration_available_logs_services` data source to get allowed values. + """ + return pulumi.get(self, "sources") + + +@pulumi.output_type +class IntegrationAccountMetricsConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "automuteEnabled": + suggest = "automute_enabled" + elif key == "collectCloudwatchAlarms": + suggest = "collect_cloudwatch_alarms" + elif key == "collectCustomMetrics": + suggest = "collect_custom_metrics" + elif key == "namespaceFilters": + suggest = "namespace_filters" + elif key == "tagFilters": + suggest = "tag_filters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountMetricsConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountMetricsConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountMetricsConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + automute_enabled: Optional[bool] = None, + collect_cloudwatch_alarms: Optional[bool] = None, + collect_custom_metrics: Optional[bool] = None, + enabled: Optional[bool] = None, + namespace_filters: Optional['outputs.IntegrationAccountMetricsConfigNamespaceFilters'] = None, + tag_filters: Optional[Sequence['outputs.IntegrationAccountMetricsConfigTagFilter']] = None): + """ + :param bool automute_enabled: Enable EC2 automute for AWS metrics Defaults to `true`. + :param bool collect_cloudwatch_alarms: Enable CloudWatch alarms collection Defaults to `false`. + :param bool collect_custom_metrics: Enable custom metrics collection Defaults to `false`. + :param bool enabled: Enable AWS metrics collection Defaults to `true`. + :param Sequence['IntegrationAccountMetricsConfigTagFilterArgs'] tag_filters: AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + """ + if automute_enabled is not None: + pulumi.set(__self__, "automute_enabled", automute_enabled) + if collect_cloudwatch_alarms is not None: + pulumi.set(__self__, "collect_cloudwatch_alarms", collect_cloudwatch_alarms) + if collect_custom_metrics is not None: + pulumi.set(__self__, "collect_custom_metrics", collect_custom_metrics) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if namespace_filters is not None: + pulumi.set(__self__, "namespace_filters", namespace_filters) + if tag_filters is not None: + pulumi.set(__self__, "tag_filters", tag_filters) + + @property + @pulumi.getter(name="automuteEnabled") + def automute_enabled(self) -> Optional[bool]: + """ + Enable EC2 automute for AWS metrics Defaults to `true`. + """ + return pulumi.get(self, "automute_enabled") + + @property + @pulumi.getter(name="collectCloudwatchAlarms") + def collect_cloudwatch_alarms(self) -> Optional[bool]: + """ + Enable CloudWatch alarms collection Defaults to `false`. + """ + return pulumi.get(self, "collect_cloudwatch_alarms") + + @property + @pulumi.getter(name="collectCustomMetrics") + def collect_custom_metrics(self) -> Optional[bool]: + """ + Enable custom metrics collection Defaults to `false`. + """ + return pulumi.get(self, "collect_custom_metrics") + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Enable AWS metrics collection Defaults to `true`. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="namespaceFilters") + def namespace_filters(self) -> Optional['outputs.IntegrationAccountMetricsConfigNamespaceFilters']: + return pulumi.get(self, "namespace_filters") + + @property + @pulumi.getter(name="tagFilters") + def tag_filters(self) -> Optional[Sequence['outputs.IntegrationAccountMetricsConfigTagFilter']]: + """ + AWS Metrics Collection tag filters list. The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from a specified service. Wildcards, such as `?` (match a single character) and `*` (match multiple characters), and exclusion using `!` before the tag are supported. For EC2, only hosts that match one of the defined tags will be imported into Datadog. The rest will be ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + """ + return pulumi.get(self, "tag_filters") + + +@pulumi.output_type +class IntegrationAccountMetricsConfigNamespaceFilters(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "excludeOnlies": + suggest = "exclude_onlies" + elif key == "includeOnlies": + suggest = "include_onlies" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountMetricsConfigNamespaceFilters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountMetricsConfigNamespaceFilters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountMetricsConfigNamespaceFilters.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exclude_onlies: Optional[Sequence[str]] = None, + include_onlies: Optional[Sequence[str]] = None): + """ + :param Sequence[str] exclude_onlies: Exclude only these namespaces from metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + :param Sequence[str] include_onlies: Include only these namespaces for metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. + """ + if exclude_onlies is not None: + pulumi.set(__self__, "exclude_onlies", exclude_onlies) + if include_onlies is not None: + pulumi.set(__self__, "include_onlies", include_onlies) + + @property + @pulumi.getter(name="excludeOnlies") + def exclude_onlies(self) -> Optional[Sequence[str]]: + """ + Exclude only these namespaces from metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. Defaults to `["AWS/SQS", "AWS/ElasticMapReduce"]`. `AWS/SQS` and `AWS/ElasticMapReduce` are excluded by default to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + """ + return pulumi.get(self, "exclude_onlies") + + @property + @pulumi.getter(name="includeOnlies") + def include_onlies(self) -> Optional[Sequence[str]]: + """ + Include only these namespaces for metrics collection. Use `aws_get_integration_available_namespaces` data source to get allowed values. + """ + return pulumi.get(self, "include_onlies") + + +@pulumi.output_type +class IntegrationAccountMetricsConfigTagFilter(dict): + def __init__(__self__, *, + namespace: str, + tags: Optional[Sequence[str]] = None): + """ + :param str namespace: The AWS service for which the tag filters defined in `tags` will be applied. + :param Sequence[str] tags: The AWS resource tags to filter on for the service specified by `namespace`. + """ + pulumi.set(__self__, "namespace", namespace) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def namespace(self) -> str: + """ + The AWS service for which the tag filters defined in `tags` will be applied. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence[str]]: + """ + The AWS resource tags to filter on for the service specified by `namespace`. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class IntegrationAccountResourcesConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cloudSecurityPostureManagementCollection": + suggest = "cloud_security_posture_management_collection" + elif key == "extendedCollection": + suggest = "extended_collection" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountResourcesConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountResourcesConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountResourcesConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cloud_security_posture_management_collection: Optional[bool] = None, + extended_collection: Optional[bool] = None): + """ + :param bool cloud_security_posture_management_collection: Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + :param bool extended_collection: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + """ + if cloud_security_posture_management_collection is not None: + pulumi.set(__self__, "cloud_security_posture_management_collection", cloud_security_posture_management_collection) + if extended_collection is not None: + pulumi.set(__self__, "extended_collection", extended_collection) + + @property + @pulumi.getter(name="cloudSecurityPostureManagementCollection") + def cloud_security_posture_management_collection(self) -> Optional[bool]: + """ + Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, identity risks, and compliance violations. Requires `extended_collection` to be set to `true`. Defaults to `false`. + """ + return pulumi.get(self, "cloud_security_posture_management_collection") + + @property + @pulumi.getter(name="extendedCollection") + def extended_collection(self) -> Optional[bool]: + """ + Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cloud_security_posture_management_collection`. Defaults to `true`. + """ + return pulumi.get(self, "extended_collection") + + +@pulumi.output_type +class IntegrationAccountTracesConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "xrayServices": + suggest = "xray_services" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountTracesConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountTracesConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountTracesConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + xray_services: Optional['outputs.IntegrationAccountTracesConfigXrayServices'] = None): + """ + :param 'IntegrationAccountTracesConfigXrayServicesArgs' xray_services: AWS X-Ray services to collect traces from. + """ + if xray_services is not None: + pulumi.set(__self__, "xray_services", xray_services) + + @property + @pulumi.getter(name="xrayServices") + def xray_services(self) -> Optional['outputs.IntegrationAccountTracesConfigXrayServices']: + """ + AWS X-Ray services to collect traces from. + """ + return pulumi.get(self, "xray_services") + + +@pulumi.output_type +class IntegrationAccountTracesConfigXrayServices(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "includeAll": + suggest = "include_all" + elif key == "includeOnlies": + suggest = "include_onlies" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IntegrationAccountTracesConfigXrayServices. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IntegrationAccountTracesConfigXrayServices.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IntegrationAccountTracesConfigXrayServices.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + include_all: Optional[bool] = None, + include_onlies: Optional[Sequence[str]] = None): + """ + :param bool include_all: Include all services + :param Sequence[str] include_onlies: Include only these services + """ + if include_all is not None: + pulumi.set(__self__, "include_all", include_all) + if include_onlies is not None: + pulumi.set(__self__, "include_onlies", include_onlies) + + @property + @pulumi.getter(name="includeAll") + def include_all(self) -> Optional[bool]: + """ + Include all services + """ + return pulumi.get(self, "include_all") + + @property + @pulumi.getter(name="includeOnlies") + def include_onlies(self) -> Optional[Sequence[str]]: + """ + Include only these services + """ + return pulumi.get(self, "include_onlies") + + @pulumi.output_type class GetIntegrationLogsServicesAwsLogsServiceResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_datadog/cloudflare/integration_account.py b/sdk/python/pulumi_datadog/cloudflare/integration_account.py index bd194bb5c..6a683be7f 100644 --- a/sdk/python/pulumi_datadog/cloudflare/integration_account.py +++ b/sdk/python/pulumi_datadog/cloudflare/integration_account.py @@ -28,7 +28,7 @@ def __init__(__self__, *, :param pulumi.Input[str] api_key: The API key (or token) for the Cloudflare account. :param pulumi.Input[str] name: The name of the Cloudflare account. :param pulumi.Input[str] email: The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required. - :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ pulumi.set(__self__, "api_key", api_key) pulumi.set(__self__, "name", name) @@ -77,7 +77,7 @@ def email(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ return pulumi.get(self, "resources") @@ -98,7 +98,7 @@ def __init__(__self__, *, :param pulumi.Input[str] api_key: The API key (or token) for the Cloudflare account. :param pulumi.Input[str] email: The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required. :param pulumi.Input[str] name: The name of the Cloudflare account. - :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ if api_key is not None: pulumi.set(__self__, "api_key", api_key) @@ -149,7 +149,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ return pulumi.get(self, "resources") @@ -195,7 +195,7 @@ def __init__(__self__, :param pulumi.Input[str] api_key: The API key (or token) for the Cloudflare account. :param pulumi.Input[str] email: The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required. :param pulumi.Input[str] name: The name of the Cloudflare account. - :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ ... @overload @@ -287,7 +287,7 @@ def get(resource_name: str, :param pulumi.Input[str] api_key: The API key (or token) for the Cloudflare account. :param pulumi.Input[str] email: The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required. :param pulumi.Input[str] name: The name of the Cloudflare account. - :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -327,7 +327,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def resources(self) -> pulumi.Output[Sequence[str]]: """ - An allowlist of resources to pull metrics for. Including, `web`, `dns`, `lb` (load balancer), and `worker`). + An allowlist of resources to pull metrics for. Includes `web`, `dns`, `lb` (load balancer), and `worker`). """ return pulumi.get(self, "resources") diff --git a/sdk/python/pulumi_datadog/dashboard.py b/sdk/python/pulumi_datadog/dashboard.py index 23a835dc3..33a3d4e40 100644 --- a/sdk/python/pulumi_datadog/dashboard.py +++ b/sdk/python/pulumi_datadog/dashboard.py @@ -39,7 +39,7 @@ def __init__(__self__, *, :param pulumi.Input[str] layout_type: The layout type of the dashboard. Valid values are `ordered`, `free`. :param pulumi.Input[str] title: The title of the dashboard. :param pulumi.Input[str] description: The description of the dashboard. - :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. :param pulumi.Input[Sequence[pulumi.Input[str]]] notify_lists: The list of handles for the users to notify when changes are made to this dashboard. :param pulumi.Input[str] reflow_type: The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`. :param pulumi.Input[Sequence[pulumi.Input[str]]] restricted_roles: UUIDs of roles whose associated users are authorized to edit the dashboard. @@ -56,8 +56,8 @@ def __init__(__self__, *, if description is not None: pulumi.set(__self__, "description", description) if is_read_only is not None: - warnings.warn("""Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""", DeprecationWarning) - pulumi.log.warn("""is_read_only is deprecated: Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""") + warnings.warn("""This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""", DeprecationWarning) + pulumi.log.warn("""is_read_only is deprecated: This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""") if is_read_only is not None: pulumi.set(__self__, "is_read_only", is_read_only) if notify_lists is not None: @@ -124,10 +124,10 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="isReadOnly") - @_utilities.deprecated("""Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""") + @_utilities.deprecated("""This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""") def is_read_only(self) -> Optional[pulumi.Input[bool]]: """ - Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. """ return pulumi.get(self, "is_read_only") @@ -253,7 +253,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Dashboard resources. :param pulumi.Input[Sequence[pulumi.Input[int]]] dashboard_lists_removeds: A list of dashboard lists this dashboard should be removed from. Internal only. :param pulumi.Input[str] description: The description of the dashboard. - :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. :param pulumi.Input[str] layout_type: The layout type of the dashboard. Valid values are `ordered`, `free`. :param pulumi.Input[Sequence[pulumi.Input[str]]] notify_lists: The list of handles for the users to notify when changes are made to this dashboard. :param pulumi.Input[str] reflow_type: The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`. @@ -272,8 +272,8 @@ def __init__(__self__, *, if description is not None: pulumi.set(__self__, "description", description) if is_read_only is not None: - warnings.warn("""Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""", DeprecationWarning) - pulumi.log.warn("""is_read_only is deprecated: Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""") + warnings.warn("""This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""", DeprecationWarning) + pulumi.log.warn("""is_read_only is deprecated: This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""") if is_read_only is not None: pulumi.set(__self__, "is_read_only", is_read_only) if layout_type is not None: @@ -332,10 +332,10 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="isReadOnly") - @_utilities.deprecated("""Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""") + @_utilities.deprecated("""This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""") def is_read_only(self) -> Optional[pulumi.Input[bool]]: """ - Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. """ return pulumi.get(self, "is_read_only") @@ -486,6 +486,8 @@ def __init__(__self__, """ Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards. + !> The `is_read_only` field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. + ## Example Usage ```python @@ -1240,7 +1242,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: The description of the dashboard. - :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. :param pulumi.Input[str] layout_type: The layout type of the dashboard. Valid values are `ordered`, `free`. :param pulumi.Input[Sequence[pulumi.Input[str]]] notify_lists: The list of handles for the users to notify when changes are made to this dashboard. :param pulumi.Input[str] reflow_type: The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`. @@ -1261,6 +1263,8 @@ def __init__(__self__, """ Provides a Datadog dashboard resource. This can be used to create and manage Datadog dashboards. + !> The `is_read_only` field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. + ## Example Usage ```python @@ -2100,7 +2104,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[int]]] dashboard_lists_removeds: A list of dashboard lists this dashboard should be removed from. Internal only. :param pulumi.Input[str] description: The description of the dashboard. - :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + :param pulumi.Input[bool] is_read_only: Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. :param pulumi.Input[str] layout_type: The layout type of the dashboard. Valid values are `ordered`, `free`. :param pulumi.Input[Sequence[pulumi.Input[str]]] notify_lists: The list of handles for the users to notify when changes are made to this dashboard. :param pulumi.Input[str] reflow_type: The reflow type of a new dashboard layout. Set this only when layout type is `ordered`. If set to `fixed`, the dashboard expects all widgets to have a layout, and if it's set to `auto`, widgets should not have layouts. Valid values are `auto`, `fixed`. @@ -2155,10 +2159,10 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="isReadOnly") - @_utilities.deprecated("""Prefer using `restricted_roles` to define which roles are required to edit the dashboard.""") + @_utilities.deprecated("""This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard.""") def is_read_only(self) -> pulumi.Output[Optional[bool]]: """ - Whether this dashboard is read-only. **Deprecated.** Prefer using `restricted_roles` to define which roles are required to edit the dashboard. Defaults to `false`. + Whether this dashboard is read-only. **Deprecated.** This field is deprecated and non-functional. Use `restricted_roles` instead to define which roles are required to edit the dashboard. Defaults to `false`. """ return pulumi.get(self, "is_read_only") diff --git a/sdk/python/pulumi_datadog/get_sensitive_data_scanner_standard_pattern.py b/sdk/python/pulumi_datadog/get_sensitive_data_scanner_standard_pattern.py index 60accd7d3..fc70e64bc 100644 --- a/sdk/python/pulumi_datadog/get_sensitive_data_scanner_standard_pattern.py +++ b/sdk/python/pulumi_datadog/get_sensitive_data_scanner_standard_pattern.py @@ -26,7 +26,10 @@ class GetSensitiveDataScannerStandardPatternResult: """ A collection of values returned by getSensitiveDataScannerStandardPattern. """ - def __init__(__self__, filter=None, id=None, included_keywords=None, name=None, pattern=None, tags=None): + def __init__(__self__, description=None, filter=None, id=None, included_keywords=None, name=None, pattern=None, tags=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) if filter and not isinstance(filter, str): raise TypeError("Expected argument 'filter' to be a str") pulumi.set(__self__, "filter", filter) @@ -46,6 +49,14 @@ def __init__(__self__, filter=None, id=None, included_keywords=None, name=None, raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the standard pattern. + """ + return pulumi.get(self, "description") + @property @pulumi.getter def filter(self) -> str: @@ -80,9 +91,10 @@ def name(self) -> str: @property @pulumi.getter + @_utilities.deprecated("""Refer to the description field to understand what the rule does.""") def pattern(self) -> str: """ - Regex that the standard pattern applies. + Regex to match, optionally documented for older standard rules. **Deprecated.** Refer to the description field to understand what the rule does. """ return pulumi.get(self, "pattern") @@ -101,6 +113,7 @@ def __await__(self): if False: yield self return GetSensitiveDataScannerStandardPatternResult( + description=self.description, filter=self.filter, id=self.id, included_keywords=self.included_keywords, @@ -123,6 +136,7 @@ def get_sensitive_data_scanner_standard_pattern(filter: Optional[str] = None, __ret__ = pulumi.runtime.invoke('datadog:index/getSensitiveDataScannerStandardPattern:getSensitiveDataScannerStandardPattern', __args__, opts=opts, typ=GetSensitiveDataScannerStandardPatternResult).value return AwaitableGetSensitiveDataScannerStandardPatternResult( + description=pulumi.get(__ret__, 'description'), filter=pulumi.get(__ret__, 'filter'), id=pulumi.get(__ret__, 'id'), included_keywords=pulumi.get(__ret__, 'included_keywords'), @@ -142,6 +156,7 @@ def get_sensitive_data_scanner_standard_pattern_output(filter: Optional[pulumi.I opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('datadog:index/getSensitiveDataScannerStandardPattern:getSensitiveDataScannerStandardPattern', __args__, opts=opts, typ=GetSensitiveDataScannerStandardPatternResult) return __ret__.apply(lambda __response__: GetSensitiveDataScannerStandardPatternResult( + description=pulumi.get(__response__, 'description'), filter=pulumi.get(__response__, 'filter'), id=pulumi.get(__response__, 'id'), included_keywords=pulumi.get(__response__, 'included_keywords'), diff --git a/sdk/python/pulumi_datadog/monitor.py b/sdk/python/pulumi_datadog/monitor.py index 3df5a9009..dfa5b312f 100644 --- a/sdk/python/pulumi_datadog/monitor.py +++ b/sdk/python/pulumi_datadog/monitor.py @@ -26,6 +26,7 @@ def __init__(__self__, *, query: pulumi.Input[str], type: pulumi.Input[str], enable_logs_sample: Optional[pulumi.Input[bool]] = None, + enable_samples: Optional[pulumi.Input[bool]] = None, escalation_message: Optional[pulumi.Input[str]] = None, evaluation_delay: Optional[pulumi.Input[int]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -63,6 +64,8 @@ def __init__(__self__, *, cannot be changed after a monitor is created. :param pulumi.Input[bool] enable_logs_sample: A boolean indicating whether or not to include a list of log values which triggered the alert. This is only used by log monitors. Defaults to `false`. + :param pulumi.Input[bool] enable_samples: Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + monitors. :param pulumi.Input[str] escalation_message: A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. :param pulumi.Input[int] evaluation_delay: (Only applies to metric alert) Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to `300` (5min), the `timeframe` is set to `last_5m` and the time is 7:00, the monitor will evaluate data @@ -127,6 +130,8 @@ def __init__(__self__, *, pulumi.set(__self__, "type", type) if enable_logs_sample is not None: pulumi.set(__self__, "enable_logs_sample", enable_logs_sample) + if enable_samples is not None: + pulumi.set(__self__, "enable_samples", enable_samples) if escalation_message is not None: pulumi.set(__self__, "escalation_message", escalation_message) if evaluation_delay is not None: @@ -250,6 +255,19 @@ def enable_logs_sample(self) -> Optional[pulumi.Input[bool]]: def enable_logs_sample(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_logs_sample", value) + @property + @pulumi.getter(name="enableSamples") + def enable_samples(self) -> Optional[pulumi.Input[bool]]: + """ + Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + monitors. + """ + return pulumi.get(self, "enable_samples") + + @enable_samples.setter + def enable_samples(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_samples", value) + @property @pulumi.getter(name="escalationMessage") def escalation_message(self) -> Optional[pulumi.Input[str]]: @@ -1242,6 +1260,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, enable_logs_sample: Optional[pulumi.Input[bool]] = None, + enable_samples: Optional[pulumi.Input[bool]] = None, escalation_message: Optional[pulumi.Input[str]] = None, evaluation_delay: Optional[pulumi.Input[int]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -1311,6 +1330,8 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] enable_logs_sample: A boolean indicating whether or not to include a list of log values which triggered the alert. This is only used by log monitors. Defaults to `false`. + :param pulumi.Input[bool] enable_samples: Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline + monitors. :param pulumi.Input[str] escalation_message: A message to include with a re-notification. Supports the `@username` notification allowed elsewhere. :param pulumi.Input[int] evaluation_delay: (Only applies to metric alert) Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to `300` (5min), the `timeframe` is set to `last_5m` and the time is 7:00, the monitor will evaluate data @@ -1428,6 +1449,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, enable_logs_sample: Optional[pulumi.Input[bool]] = None, + enable_samples: Optional[pulumi.Input[bool]] = None, escalation_message: Optional[pulumi.Input[str]] = None, evaluation_delay: Optional[pulumi.Input[int]] = None, force_delete: Optional[pulumi.Input[bool]] = None, @@ -1470,6 +1492,7 @@ def _internal_init(__self__, __props__ = MonitorArgs.__new__(MonitorArgs) __props__.__dict__["enable_logs_sample"] = enable_logs_sample + __props__.__dict__["enable_samples"] = enable_samples __props__.__dict__["escalation_message"] = escalation_message __props__.__dict__["evaluation_delay"] = evaluation_delay __props__.__dict__["force_delete"] = force_delete @@ -1510,7 +1533,6 @@ def _internal_init(__self__, __props__.__dict__["type"] = type __props__.__dict__["validate"] = validate __props__.__dict__["variables"] = variables - __props__.__dict__["enable_samples"] = None super(Monitor, __self__).__init__( 'datadog:index/monitor:Monitor', resource_name, @@ -1680,7 +1702,7 @@ def enable_logs_sample(self) -> pulumi.Output[Optional[bool]]: @property @pulumi.getter(name="enableSamples") - def enable_samples(self) -> pulumi.Output[bool]: + def enable_samples(self) -> pulumi.Output[Optional[bool]]: """ Whether or not a list of samples which triggered the alert is included. This is only used by CI Test and Pipeline monitors. diff --git a/sdk/python/pulumi_datadog/outputs.py b/sdk/python/pulumi_datadog/outputs.py index 1963d773e..d95f10428 100644 --- a/sdk/python/pulumi_datadog/outputs.py +++ b/sdk/python/pulumi_datadog/outputs.py @@ -1082,6 +1082,22 @@ 'SyntheticsTestBrowserStepParamsVariable', 'SyntheticsTestBrowserVariable', 'SyntheticsTestConfigVariable', + 'SyntheticsTestMobileOptionsList', + 'SyntheticsTestMobileOptionsListBinding', + 'SyntheticsTestMobileOptionsListCi', + 'SyntheticsTestMobileOptionsListMobileApplication', + 'SyntheticsTestMobileOptionsListMonitorOptions', + 'SyntheticsTestMobileOptionsListRetry', + 'SyntheticsTestMobileOptionsListScheduling', + 'SyntheticsTestMobileOptionsListSchedulingTimeframe', + 'SyntheticsTestMobileStep', + 'SyntheticsTestMobileStepParams', + 'SyntheticsTestMobileStepParamsElement', + 'SyntheticsTestMobileStepParamsElementRelativePosition', + 'SyntheticsTestMobileStepParamsElementUserLocator', + 'SyntheticsTestMobileStepParamsElementUserLocatorValue', + 'SyntheticsTestMobileStepParamsPosition', + 'SyntheticsTestMobileStepParamsVariable', 'SyntheticsTestOptionsList', 'SyntheticsTestOptionsListCi', 'SyntheticsTestOptionsListMonitorOptions', @@ -79085,6 +79101,8 @@ def __key_warning(key: str): suggest = None if key == "allowFailure": suggest = "allow_failure" + elif key == "exitIfSucceed": + suggest = "exit_if_succeed" elif key == "extractedValues": suggest = "extracted_values" elif key == "isCritical": @@ -79121,6 +79139,7 @@ def __init__(__self__, *, name: str, allow_failure: Optional[bool] = None, assertions: Optional[Sequence['outputs.SyntheticsTestApiStepAssertion']] = None, + exit_if_succeed: Optional[bool] = None, extracted_values: Optional[Sequence['outputs.SyntheticsTestApiStepExtractedValue']] = None, is_critical: Optional[bool] = None, request_basicauth: Optional['outputs.SyntheticsTestApiStepRequestBasicauth'] = None, @@ -79138,6 +79157,7 @@ def __init__(__self__, *, :param str name: The name of the step. :param bool allow_failure: Determines whether or not to continue with test if this step fails. :param Sequence['SyntheticsTestApiStepAssertionArgs'] assertions: Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. + :param bool exit_if_succeed: Determines whether or not to exit the test if the step succeeds. :param Sequence['SyntheticsTestApiStepExtractedValueArgs'] extracted_values: Values to parse and save as variables from the response. :param bool is_critical: Determines whether or not to consider the entire test as failed if this step fails. Can be used only if `allow_failure` is `true`. :param 'SyntheticsTestApiStepRequestBasicauthArgs' request_basicauth: The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. @@ -79156,6 +79176,8 @@ def __init__(__self__, *, pulumi.set(__self__, "allow_failure", allow_failure) if assertions is not None: pulumi.set(__self__, "assertions", assertions) + if exit_if_succeed is not None: + pulumi.set(__self__, "exit_if_succeed", exit_if_succeed) if extracted_values is not None: pulumi.set(__self__, "extracted_values", extracted_values) if is_critical is not None: @@ -79207,6 +79229,14 @@ def assertions(self) -> Optional[Sequence['outputs.SyntheticsTestApiStepAssertio """ return pulumi.get(self, "assertions") + @property + @pulumi.getter(name="exitIfSucceed") + def exit_if_succeed(self) -> Optional[bool]: + """ + Determines whether or not to exit the test if the step succeeds. + """ + return pulumi.get(self, "exit_if_succeed") + @property @pulumi.getter(name="extractedValues") def extracted_values(self) -> Optional[Sequence['outputs.SyntheticsTestApiStepExtractedValue']]: @@ -80429,8 +80459,8 @@ def __init__(__self__, *, count: Optional[int] = None, interval: Optional[int] = None): """ - :param int count: Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. - :param int interval: Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + :param int count: Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + :param int interval: Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ if count is not None: pulumi.set(__self__, "count", count) @@ -80441,7 +80471,7 @@ def __init__(__self__, *, @pulumi.getter def count(self) -> Optional[int]: """ - Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. """ return pulumi.get(self, "count") @@ -80449,7 +80479,7 @@ def count(self) -> Optional[int]: @pulumi.getter def interval(self) -> Optional[int]: """ - Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ return pulumi.get(self, "interval") @@ -81366,6 +81396,1061 @@ def secure(self) -> Optional[bool]: return pulumi.get(self, "secure") +@pulumi.output_type +class SyntheticsTestMobileOptionsList(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deviceIds": + suggest = "device_ids" + elif key == "mobileApplication": + suggest = "mobile_application" + elif key == "tickEvery": + suggest = "tick_every" + elif key == "allowApplicationCrash": + suggest = "allow_application_crash" + elif key == "defaultStepTimeout": + suggest = "default_step_timeout" + elif key == "disableAutoAcceptAlert": + suggest = "disable_auto_accept_alert" + elif key == "minFailureDuration": + suggest = "min_failure_duration" + elif key == "monitorName": + suggest = "monitor_name" + elif key == "monitorOptions": + suggest = "monitor_options" + elif key == "monitorPriority": + suggest = "monitor_priority" + elif key == "noScreenshot": + suggest = "no_screenshot" + elif key == "restrictedRoles": + suggest = "restricted_roles" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileOptionsList. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileOptionsList.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileOptionsList.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + device_ids: Sequence[str], + mobile_application: 'outputs.SyntheticsTestMobileOptionsListMobileApplication', + tick_every: int, + allow_application_crash: Optional[bool] = None, + bindings: Optional[Sequence['outputs.SyntheticsTestMobileOptionsListBinding']] = None, + ci: Optional['outputs.SyntheticsTestMobileOptionsListCi'] = None, + default_step_timeout: Optional[int] = None, + disable_auto_accept_alert: Optional[bool] = None, + min_failure_duration: Optional[int] = None, + monitor_name: Optional[str] = None, + monitor_options: Optional['outputs.SyntheticsTestMobileOptionsListMonitorOptions'] = None, + monitor_priority: Optional[int] = None, + no_screenshot: Optional[bool] = None, + restricted_roles: Optional[Sequence[str]] = None, + retry: Optional['outputs.SyntheticsTestMobileOptionsListRetry'] = None, + scheduling: Optional['outputs.SyntheticsTestMobileOptionsListScheduling'] = None, + verbosity: Optional[int] = None): + """ + :param int tick_every: How often the test should run (in seconds). + :param 'SyntheticsTestMobileOptionsListCiArgs' ci: CI/CD options for a Synthetic test. + :param int min_failure_duration: Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + :param str monitor_name: The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + :param bool no_screenshot: Prevents saving screenshots of the steps. + :param Sequence[str] restricted_roles: A list of role identifiers pulled from the Roles API to restrict read and write access. + :param 'SyntheticsTestMobileOptionsListSchedulingArgs' scheduling: Object containing timeframes and timezone used for advanced scheduling. + """ + pulumi.set(__self__, "device_ids", device_ids) + pulumi.set(__self__, "mobile_application", mobile_application) + pulumi.set(__self__, "tick_every", tick_every) + if allow_application_crash is not None: + pulumi.set(__self__, "allow_application_crash", allow_application_crash) + if bindings is not None: + pulumi.set(__self__, "bindings", bindings) + if ci is not None: + pulumi.set(__self__, "ci", ci) + if default_step_timeout is not None: + pulumi.set(__self__, "default_step_timeout", default_step_timeout) + if disable_auto_accept_alert is not None: + pulumi.set(__self__, "disable_auto_accept_alert", disable_auto_accept_alert) + if min_failure_duration is not None: + pulumi.set(__self__, "min_failure_duration", min_failure_duration) + if monitor_name is not None: + pulumi.set(__self__, "monitor_name", monitor_name) + if monitor_options is not None: + pulumi.set(__self__, "monitor_options", monitor_options) + if monitor_priority is not None: + pulumi.set(__self__, "monitor_priority", monitor_priority) + if no_screenshot is not None: + pulumi.set(__self__, "no_screenshot", no_screenshot) + if restricted_roles is not None: + pulumi.set(__self__, "restricted_roles", restricted_roles) + if retry is not None: + pulumi.set(__self__, "retry", retry) + if scheduling is not None: + pulumi.set(__self__, "scheduling", scheduling) + if verbosity is not None: + pulumi.set(__self__, "verbosity", verbosity) + + @property + @pulumi.getter(name="deviceIds") + def device_ids(self) -> Sequence[str]: + return pulumi.get(self, "device_ids") + + @property + @pulumi.getter(name="mobileApplication") + def mobile_application(self) -> 'outputs.SyntheticsTestMobileOptionsListMobileApplication': + return pulumi.get(self, "mobile_application") + + @property + @pulumi.getter(name="tickEvery") + def tick_every(self) -> int: + """ + How often the test should run (in seconds). + """ + return pulumi.get(self, "tick_every") + + @property + @pulumi.getter(name="allowApplicationCrash") + def allow_application_crash(self) -> Optional[bool]: + return pulumi.get(self, "allow_application_crash") + + @property + @pulumi.getter + def bindings(self) -> Optional[Sequence['outputs.SyntheticsTestMobileOptionsListBinding']]: + return pulumi.get(self, "bindings") + + @property + @pulumi.getter + def ci(self) -> Optional['outputs.SyntheticsTestMobileOptionsListCi']: + """ + CI/CD options for a Synthetic test. + """ + return pulumi.get(self, "ci") + + @property + @pulumi.getter(name="defaultStepTimeout") + def default_step_timeout(self) -> Optional[int]: + return pulumi.get(self, "default_step_timeout") + + @property + @pulumi.getter(name="disableAutoAcceptAlert") + def disable_auto_accept_alert(self) -> Optional[bool]: + return pulumi.get(self, "disable_auto_accept_alert") + + @property + @pulumi.getter(name="minFailureDuration") + def min_failure_duration(self) -> Optional[int]: + """ + Minimum amount of time in failure required to trigger an alert (in seconds). Default is `0`. + """ + return pulumi.get(self, "min_failure_duration") + + @property + @pulumi.getter(name="monitorName") + def monitor_name(self) -> Optional[str]: + """ + The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + """ + return pulumi.get(self, "monitor_name") + + @property + @pulumi.getter(name="monitorOptions") + def monitor_options(self) -> Optional['outputs.SyntheticsTestMobileOptionsListMonitorOptions']: + return pulumi.get(self, "monitor_options") + + @property + @pulumi.getter(name="monitorPriority") + def monitor_priority(self) -> Optional[int]: + return pulumi.get(self, "monitor_priority") + + @property + @pulumi.getter(name="noScreenshot") + def no_screenshot(self) -> Optional[bool]: + """ + Prevents saving screenshots of the steps. + """ + return pulumi.get(self, "no_screenshot") + + @property + @pulumi.getter(name="restrictedRoles") + def restricted_roles(self) -> Optional[Sequence[str]]: + """ + A list of role identifiers pulled from the Roles API to restrict read and write access. + """ + return pulumi.get(self, "restricted_roles") + + @property + @pulumi.getter + def retry(self) -> Optional['outputs.SyntheticsTestMobileOptionsListRetry']: + return pulumi.get(self, "retry") + + @property + @pulumi.getter + def scheduling(self) -> Optional['outputs.SyntheticsTestMobileOptionsListScheduling']: + """ + Object containing timeframes and timezone used for advanced scheduling. + """ + return pulumi.get(self, "scheduling") + + @property + @pulumi.getter + def verbosity(self) -> Optional[int]: + return pulumi.get(self, "verbosity") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListBinding(dict): + def __init__(__self__, *, + principals: Optional[Sequence[str]] = None, + relation: Optional[str] = None): + """ + :param str relation: Valid values are `editor`, `viewer`. + """ + if principals is not None: + pulumi.set(__self__, "principals", principals) + if relation is not None: + pulumi.set(__self__, "relation", relation) + + @property + @pulumi.getter + def principals(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "principals") + + @property + @pulumi.getter + def relation(self) -> Optional[str]: + """ + Valid values are `editor`, `viewer`. + """ + return pulumi.get(self, "relation") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListCi(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "executionRule": + suggest = "execution_rule" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileOptionsListCi. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileOptionsListCi.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileOptionsListCi.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + execution_rule: str): + """ + :param str execution_rule: Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + """ + pulumi.set(__self__, "execution_rule", execution_rule) + + @property + @pulumi.getter(name="executionRule") + def execution_rule(self) -> str: + """ + Execution rule for a Synthetics test. Valid values are `blocking`, `non_blocking`, `skipped`. + """ + return pulumi.get(self, "execution_rule") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListMobileApplication(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "applicationId": + suggest = "application_id" + elif key == "referenceId": + suggest = "reference_id" + elif key == "referenceType": + suggest = "reference_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileOptionsListMobileApplication. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileOptionsListMobileApplication.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileOptionsListMobileApplication.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + application_id: str, + reference_id: str, + reference_type: str): + """ + :param str reference_type: Valid values are `latest`, `version`. + """ + pulumi.set(__self__, "application_id", application_id) + pulumi.set(__self__, "reference_id", reference_id) + pulumi.set(__self__, "reference_type", reference_type) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> str: + return pulumi.get(self, "application_id") + + @property + @pulumi.getter(name="referenceId") + def reference_id(self) -> str: + return pulumi.get(self, "reference_id") + + @property + @pulumi.getter(name="referenceType") + def reference_type(self) -> str: + """ + Valid values are `latest`, `version`. + """ + return pulumi.get(self, "reference_type") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListMonitorOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "escalationMessage": + suggest = "escalation_message" + elif key == "notificationPresetName": + suggest = "notification_preset_name" + elif key == "renotifyInterval": + suggest = "renotify_interval" + elif key == "renotifyOccurrences": + suggest = "renotify_occurrences" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileOptionsListMonitorOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileOptionsListMonitorOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileOptionsListMonitorOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + escalation_message: Optional[str] = None, + notification_preset_name: Optional[str] = None, + renotify_interval: Optional[int] = None, + renotify_occurrences: Optional[int] = None): + """ + :param str notification_preset_name: Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + :param int renotify_interval: Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + """ + if escalation_message is not None: + pulumi.set(__self__, "escalation_message", escalation_message) + if notification_preset_name is not None: + pulumi.set(__self__, "notification_preset_name", notification_preset_name) + if renotify_interval is not None: + pulumi.set(__self__, "renotify_interval", renotify_interval) + if renotify_occurrences is not None: + pulumi.set(__self__, "renotify_occurrences", renotify_occurrences) + + @property + @pulumi.getter(name="escalationMessage") + def escalation_message(self) -> Optional[str]: + return pulumi.get(self, "escalation_message") + + @property + @pulumi.getter(name="notificationPresetName") + def notification_preset_name(self) -> Optional[str]: + """ + Valid values are `show_all`, `hide_all`, `hide_query`, `hide_handles`. + """ + return pulumi.get(self, "notification_preset_name") + + @property + @pulumi.getter(name="renotifyInterval") + def renotify_interval(self) -> Optional[int]: + """ + Specify a renotification frequency in minutes. Values available by default are `0`, `10`, `20`, `30`, `40`, `50`, `60`, `90`, `120`, `180`, `240`, `300`, `360`, `720`, `1440`. Defaults to `0`. + """ + return pulumi.get(self, "renotify_interval") + + @property + @pulumi.getter(name="renotifyOccurrences") + def renotify_occurrences(self) -> Optional[int]: + return pulumi.get(self, "renotify_occurrences") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListRetry(dict): + def __init__(__self__, *, + count: Optional[int] = None, + interval: Optional[int] = None): + """ + :param int count: Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + :param int interval: Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + """ + if count is not None: + pulumi.set(__self__, "count", count) + if interval is not None: + pulumi.set(__self__, "interval", interval) + + @property + @pulumi.getter + def count(self) -> Optional[int]: + """ + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + """ + return pulumi.get(self, "count") + + @property + @pulumi.getter + def interval(self) -> Optional[int]: + """ + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. + """ + return pulumi.get(self, "interval") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListScheduling(dict): + def __init__(__self__, *, + timeframes: Sequence['outputs.SyntheticsTestMobileOptionsListSchedulingTimeframe'], + timezone: str): + """ + :param Sequence['SyntheticsTestMobileOptionsListSchedulingTimeframeArgs'] timeframes: Array containing objects describing the scheduling pattern to apply to each day. + :param str timezone: Timezone in which the timeframe is based. + """ + pulumi.set(__self__, "timeframes", timeframes) + pulumi.set(__self__, "timezone", timezone) + + @property + @pulumi.getter + def timeframes(self) -> Sequence['outputs.SyntheticsTestMobileOptionsListSchedulingTimeframe']: + """ + Array containing objects describing the scheduling pattern to apply to each day. + """ + return pulumi.get(self, "timeframes") + + @property + @pulumi.getter + def timezone(self) -> str: + """ + Timezone in which the timeframe is based. + """ + return pulumi.get(self, "timezone") + + +@pulumi.output_type +class SyntheticsTestMobileOptionsListSchedulingTimeframe(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "from": + suggest = "from_" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileOptionsListSchedulingTimeframe. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileOptionsListSchedulingTimeframe.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileOptionsListSchedulingTimeframe.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day: int, + from_: str, + to: str): + """ + :param int day: Number representing the day of the week + :param str from_: The hour of the day on which scheduling starts. + :param str to: The hour of the day on which scheduling ends. + """ + pulumi.set(__self__, "day", day) + pulumi.set(__self__, "from_", from_) + pulumi.set(__self__, "to", to) + + @property + @pulumi.getter + def day(self) -> int: + """ + Number representing the day of the week + """ + return pulumi.get(self, "day") + + @property + @pulumi.getter(name="from") + def from_(self) -> str: + """ + The hour of the day on which scheduling starts. + """ + return pulumi.get(self, "from_") + + @property + @pulumi.getter + def to(self) -> str: + """ + The hour of the day on which scheduling ends. + """ + return pulumi.get(self, "to") + + +@pulumi.output_type +class SyntheticsTestMobileStep(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowFailure": + suggest = "allow_failure" + elif key == "hasNewStepElement": + suggest = "has_new_step_element" + elif key == "isCritical": + suggest = "is_critical" + elif key == "noScreenshot": + suggest = "no_screenshot" + elif key == "publicId": + suggest = "public_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileStep. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileStep.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileStep.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + params: 'outputs.SyntheticsTestMobileStepParams', + type: str, + allow_failure: Optional[bool] = None, + has_new_step_element: Optional[bool] = None, + is_critical: Optional[bool] = None, + no_screenshot: Optional[bool] = None, + public_id: Optional[str] = None, + timeout: Optional[int] = None): + """ + :param str name: The name of the step. + :param 'SyntheticsTestMobileStepParamsArgs' params: Parameters for the step. + :param str type: The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + :param bool allow_failure: A boolean set to allow this step to fail. + :param bool has_new_step_element: A boolean set to determine if the step has a new step element. + :param bool is_critical: A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + :param bool no_screenshot: A boolean set to not take a screenshot for the step. + :param str public_id: The public ID of the step. + :param int timeout: The time before declaring a step failed. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "params", params) + pulumi.set(__self__, "type", type) + if allow_failure is not None: + pulumi.set(__self__, "allow_failure", allow_failure) + if has_new_step_element is not None: + pulumi.set(__self__, "has_new_step_element", has_new_step_element) + if is_critical is not None: + pulumi.set(__self__, "is_critical", is_critical) + if no_screenshot is not None: + pulumi.set(__self__, "no_screenshot", no_screenshot) + if public_id is not None: + pulumi.set(__self__, "public_id", public_id) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the step. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def params(self) -> 'outputs.SyntheticsTestMobileStepParams': + """ + Parameters for the step. + """ + return pulumi.get(self, "params") + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of the step. Valid values are `assertElementContent`, `assertScreenContains`, `assertScreenLacks`, `doubleTap`, `extractVariable`, `flick`, `openDeeplink`, `playSubTest`, `pressBack`, `restartApplication`, `rotate`, `scroll`, `scrollToElement`, `tap`, `toggleWiFi`, `typeText`, `wait`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="allowFailure") + def allow_failure(self) -> Optional[bool]: + """ + A boolean set to allow this step to fail. + """ + return pulumi.get(self, "allow_failure") + + @property + @pulumi.getter(name="hasNewStepElement") + def has_new_step_element(self) -> Optional[bool]: + """ + A boolean set to determine if the step has a new step element. + """ + return pulumi.get(self, "has_new_step_element") + + @property + @pulumi.getter(name="isCritical") + def is_critical(self) -> Optional[bool]: + """ + A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + """ + return pulumi.get(self, "is_critical") + + @property + @pulumi.getter(name="noScreenshot") + def no_screenshot(self) -> Optional[bool]: + """ + A boolean set to not take a screenshot for the step. + """ + return pulumi.get(self, "no_screenshot") + + @property + @pulumi.getter(name="publicId") + def public_id(self) -> Optional[str]: + """ + The public ID of the step. + """ + return pulumi.get(self, "public_id") + + @property + @pulumi.getter + def timeout(self) -> Optional[int]: + """ + The time before declaring a step failed. + """ + return pulumi.get(self, "timeout") + + +@pulumi.output_type +class SyntheticsTestMobileStepParams(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxScrolls": + suggest = "max_scrolls" + elif key == "subtestPublicId": + suggest = "subtest_public_id" + elif key == "withEnter": + suggest = "with_enter" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileStepParams. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileStepParams.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileStepParams.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + check: Optional[str] = None, + delay: Optional[int] = None, + direction: Optional[str] = None, + element: Optional['outputs.SyntheticsTestMobileStepParamsElement'] = None, + enable: Optional[bool] = None, + max_scrolls: Optional[int] = None, + positions: Optional[Sequence['outputs.SyntheticsTestMobileStepParamsPosition']] = None, + subtest_public_id: Optional[str] = None, + value: Optional[str] = None, + variable: Optional['outputs.SyntheticsTestMobileStepParamsVariable'] = None, + with_enter: Optional[bool] = None, + x: Optional[float] = None, + y: Optional[float] = None): + """ + :param str check: Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + :param int delay: Delay between each key stroke for a "type test" step. + :param str direction: Valid values are `up`, `down`, `left`, `right`. + :param 'SyntheticsTestMobileStepParamsElementArgs' element: Element to use for the step, JSON encoded string. + :param str subtest_public_id: ID of the Synthetics test to use as subtest. + :param str value: Value of the step. + :param 'SyntheticsTestMobileStepParamsVariableArgs' variable: Details of the variable to extract. + :param float x: X coordinates for a "scroll step". + :param float y: Y coordinates for a "scroll step". + """ + if check is not None: + pulumi.set(__self__, "check", check) + if delay is not None: + pulumi.set(__self__, "delay", delay) + if direction is not None: + pulumi.set(__self__, "direction", direction) + if element is not None: + pulumi.set(__self__, "element", element) + if enable is not None: + pulumi.set(__self__, "enable", enable) + if max_scrolls is not None: + pulumi.set(__self__, "max_scrolls", max_scrolls) + if positions is not None: + pulumi.set(__self__, "positions", positions) + if subtest_public_id is not None: + pulumi.set(__self__, "subtest_public_id", subtest_public_id) + if value is not None: + pulumi.set(__self__, "value", value) + if variable is not None: + pulumi.set(__self__, "variable", variable) + if with_enter is not None: + pulumi.set(__self__, "with_enter", with_enter) + if x is not None: + pulumi.set(__self__, "x", x) + if y is not None: + pulumi.set(__self__, "y", y) + + @property + @pulumi.getter + def check(self) -> Optional[str]: + """ + Check type to use for an assertion step. Valid values are `equals`, `notEquals`, `contains`, `notContains`, `startsWith`, `notStartsWith`, `greater`, `lower`, `greaterEquals`, `lowerEquals`, `matchRegex`, `between`, `isEmpty`, `notIsEmpty`. + """ + return pulumi.get(self, "check") + + @property + @pulumi.getter + def delay(self) -> Optional[int]: + """ + Delay between each key stroke for a "type test" step. + """ + return pulumi.get(self, "delay") + + @property + @pulumi.getter + def direction(self) -> Optional[str]: + """ + Valid values are `up`, `down`, `left`, `right`. + """ + return pulumi.get(self, "direction") + + @property + @pulumi.getter + def element(self) -> Optional['outputs.SyntheticsTestMobileStepParamsElement']: + """ + Element to use for the step, JSON encoded string. + """ + return pulumi.get(self, "element") + + @property + @pulumi.getter + def enable(self) -> Optional[bool]: + return pulumi.get(self, "enable") + + @property + @pulumi.getter(name="maxScrolls") + def max_scrolls(self) -> Optional[int]: + return pulumi.get(self, "max_scrolls") + + @property + @pulumi.getter + def positions(self) -> Optional[Sequence['outputs.SyntheticsTestMobileStepParamsPosition']]: + return pulumi.get(self, "positions") + + @property + @pulumi.getter(name="subtestPublicId") + def subtest_public_id(self) -> Optional[str]: + """ + ID of the Synthetics test to use as subtest. + """ + return pulumi.get(self, "subtest_public_id") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + """ + Value of the step. + """ + return pulumi.get(self, "value") + + @property + @pulumi.getter + def variable(self) -> Optional['outputs.SyntheticsTestMobileStepParamsVariable']: + """ + Details of the variable to extract. + """ + return pulumi.get(self, "variable") + + @property + @pulumi.getter(name="withEnter") + def with_enter(self) -> Optional[bool]: + return pulumi.get(self, "with_enter") + + @property + @pulumi.getter + def x(self) -> Optional[float]: + """ + X coordinates for a "scroll step". + """ + return pulumi.get(self, "x") + + @property + @pulumi.getter + def y(self) -> Optional[float]: + """ + Y coordinates for a "scroll step". + """ + return pulumi.get(self, "y") + + +@pulumi.output_type +class SyntheticsTestMobileStepParamsElement(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "contextType": + suggest = "context_type" + elif key == "elementDescription": + suggest = "element_description" + elif key == "multiLocator": + suggest = "multi_locator" + elif key == "relativePosition": + suggest = "relative_position" + elif key == "textContent": + suggest = "text_content" + elif key == "userLocator": + suggest = "user_locator" + elif key == "viewName": + suggest = "view_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileStepParamsElement. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileStepParamsElement.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileStepParamsElement.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + context: Optional[str] = None, + context_type: Optional[str] = None, + element_description: Optional[str] = None, + multi_locator: Optional[Mapping[str, str]] = None, + relative_position: Optional['outputs.SyntheticsTestMobileStepParamsElementRelativePosition'] = None, + text_content: Optional[str] = None, + user_locator: Optional['outputs.SyntheticsTestMobileStepParamsElementUserLocator'] = None, + view_name: Optional[str] = None): + """ + :param str context_type: Valid values are `native`, `web`. + """ + if context is not None: + pulumi.set(__self__, "context", context) + if context_type is not None: + pulumi.set(__self__, "context_type", context_type) + if element_description is not None: + pulumi.set(__self__, "element_description", element_description) + if multi_locator is not None: + pulumi.set(__self__, "multi_locator", multi_locator) + if relative_position is not None: + pulumi.set(__self__, "relative_position", relative_position) + if text_content is not None: + pulumi.set(__self__, "text_content", text_content) + if user_locator is not None: + pulumi.set(__self__, "user_locator", user_locator) + if view_name is not None: + pulumi.set(__self__, "view_name", view_name) + + @property + @pulumi.getter + def context(self) -> Optional[str]: + return pulumi.get(self, "context") + + @property + @pulumi.getter(name="contextType") + def context_type(self) -> Optional[str]: + """ + Valid values are `native`, `web`. + """ + return pulumi.get(self, "context_type") + + @property + @pulumi.getter(name="elementDescription") + def element_description(self) -> Optional[str]: + return pulumi.get(self, "element_description") + + @property + @pulumi.getter(name="multiLocator") + def multi_locator(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "multi_locator") + + @property + @pulumi.getter(name="relativePosition") + def relative_position(self) -> Optional['outputs.SyntheticsTestMobileStepParamsElementRelativePosition']: + return pulumi.get(self, "relative_position") + + @property + @pulumi.getter(name="textContent") + def text_content(self) -> Optional[str]: + return pulumi.get(self, "text_content") + + @property + @pulumi.getter(name="userLocator") + def user_locator(self) -> Optional['outputs.SyntheticsTestMobileStepParamsElementUserLocator']: + return pulumi.get(self, "user_locator") + + @property + @pulumi.getter(name="viewName") + def view_name(self) -> Optional[str]: + return pulumi.get(self, "view_name") + + +@pulumi.output_type +class SyntheticsTestMobileStepParamsElementRelativePosition(dict): + def __init__(__self__, *, + x: Optional[float] = None, + y: Optional[float] = None): + if x is not None: + pulumi.set(__self__, "x", x) + if y is not None: + pulumi.set(__self__, "y", y) + + @property + @pulumi.getter + def x(self) -> Optional[float]: + return pulumi.get(self, "x") + + @property + @pulumi.getter + def y(self) -> Optional[float]: + return pulumi.get(self, "y") + + +@pulumi.output_type +class SyntheticsTestMobileStepParamsElementUserLocator(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failTestOnCannotLocate": + suggest = "fail_test_on_cannot_locate" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SyntheticsTestMobileStepParamsElementUserLocator. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SyntheticsTestMobileStepParamsElementUserLocator.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SyntheticsTestMobileStepParamsElementUserLocator.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fail_test_on_cannot_locate: Optional[bool] = None, + values: Optional[Sequence['outputs.SyntheticsTestMobileStepParamsElementUserLocatorValue']] = None): + if fail_test_on_cannot_locate is not None: + pulumi.set(__self__, "fail_test_on_cannot_locate", fail_test_on_cannot_locate) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="failTestOnCannotLocate") + def fail_test_on_cannot_locate(self) -> Optional[bool]: + return pulumi.get(self, "fail_test_on_cannot_locate") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence['outputs.SyntheticsTestMobileStepParamsElementUserLocatorValue']]: + return pulumi.get(self, "values") + + +@pulumi.output_type +class SyntheticsTestMobileStepParamsElementUserLocatorValue(dict): + def __init__(__self__, *, + type: Optional[str] = None, + value: Optional[str] = None): + """ + :param str type: Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Valid values are `accessibility-id`, `id`, `ios-predicate-string`, `ios-class-chain`, `xpath`. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + return pulumi.get(self, "value") + + +@pulumi.output_type +class SyntheticsTestMobileStepParamsPosition(dict): + def __init__(__self__, *, + x: Optional[float] = None, + y: Optional[float] = None): + if x is not None: + pulumi.set(__self__, "x", x) + if y is not None: + pulumi.set(__self__, "y", y) + + @property + @pulumi.getter + def x(self) -> Optional[float]: + return pulumi.get(self, "x") + + @property + @pulumi.getter + def y(self) -> Optional[float]: + return pulumi.get(self, "y") + + +@pulumi.output_type +class SyntheticsTestMobileStepParamsVariable(dict): + def __init__(__self__, *, + name: str, + example: Optional[str] = None): + """ + :param str name: Name of the extracted variable. + :param str example: Example of the extracted variable. Defaults to `""`. + """ + pulumi.set(__self__, "name", name) + if example is not None: + pulumi.set(__self__, "example", example) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the extracted variable. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def example(self) -> Optional[str]: + """ + Example of the extracted variable. Defaults to `""`. + """ + return pulumi.get(self, "example") + + @pulumi.output_type class SyntheticsTestOptionsList(dict): @staticmethod @@ -81741,8 +82826,8 @@ def __init__(__self__, *, count: Optional[int] = None, interval: Optional[int] = None): """ - :param int count: Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. - :param int interval: Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + :param int count: Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. + :param int interval: Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ if count is not None: pulumi.set(__self__, "count", count) @@ -81753,7 +82838,7 @@ def __init__(__self__, *, @pulumi.getter def count(self) -> Optional[int]: """ - Number of retries needed to consider a location as failed before sending a notification alert. Defaults to `0`. + Number of retries needed to consider a location as failed before sending a notification alert. Maximum value: `5`. Defaults to `0`. """ return pulumi.get(self, "count") @@ -81761,7 +82846,7 @@ def count(self) -> Optional[int]: @pulumi.getter def interval(self) -> Optional[int]: """ - Interval between a failed test and the next retry in milliseconds. Defaults to `300`. + Interval between a failed test and the next retry in milliseconds. Maximum value: `5000`. Defaults to `300`. """ return pulumi.get(self, "interval") diff --git a/sdk/python/pulumi_datadog/synthetics_test.py b/sdk/python/pulumi_datadog/synthetics_test.py index 8b199bcbb..145b66a73 100644 --- a/sdk/python/pulumi_datadog/synthetics_test.py +++ b/sdk/python/pulumi_datadog/synthetics_test.py @@ -29,10 +29,13 @@ def __init__(__self__, *, assertions: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestAssertionArgs']]]] = None, browser_steps: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserStepArgs']]]] = None, browser_variables: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserVariableArgs']]]] = None, + config_initial_application_arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, config_variables: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestConfigVariableArgs']]]] = None, device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_delete_dependencies: Optional[pulumi.Input[bool]] = None, message: Optional[pulumi.Input[str]] = None, + mobile_options_list: Optional[pulumi.Input['SyntheticsTestMobileOptionsListArgs']] = None, + mobile_steps: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]]] = None, options_list: Optional[pulumi.Input['SyntheticsTestOptionsListArgs']] = None, request_basicauth: Optional[pulumi.Input['SyntheticsTestRequestBasicauthArgs']] = None, request_client_certificate: Optional[pulumi.Input['SyntheticsTestRequestClientCertificateArgs']] = None, @@ -56,10 +59,12 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestAssertionArgs']]] assertions: Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserStepArgs']]] browser_steps: Steps for browser tests. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserVariableArgs']]] browser_variables: Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_initial_application_arguments: Initial application arguments for the mobile test. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestConfigVariableArgs']]] config_variables: Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. - :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. :param pulumi.Input[bool] force_delete_dependencies: A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). :param pulumi.Input[str] message: A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. + :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]] mobile_steps: Steps for mobile tests :param pulumi.Input['SyntheticsTestRequestBasicauthArgs'] request_basicauth: The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. :param pulumi.Input['SyntheticsTestRequestClientCertificateArgs'] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. :param pulumi.Input['SyntheticsTestRequestDefinitionArgs'] request_definition: Required if `type = "api"`. The synthetics test request. @@ -85,6 +90,8 @@ def __init__(__self__, *, pulumi.set(__self__, "browser_steps", browser_steps) if browser_variables is not None: pulumi.set(__self__, "browser_variables", browser_variables) + if config_initial_application_arguments is not None: + pulumi.set(__self__, "config_initial_application_arguments", config_initial_application_arguments) if config_variables is not None: pulumi.set(__self__, "config_variables", config_variables) if device_ids is not None: @@ -93,6 +100,10 @@ def __init__(__self__, *, pulumi.set(__self__, "force_delete_dependencies", force_delete_dependencies) if message is not None: pulumi.set(__self__, "message", message) + if mobile_options_list is not None: + pulumi.set(__self__, "mobile_options_list", mobile_options_list) + if mobile_steps is not None: + pulumi.set(__self__, "mobile_steps", mobile_steps) if options_list is not None: pulumi.set(__self__, "options_list", options_list) if request_basicauth is not None: @@ -216,6 +227,18 @@ def browser_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Synt def browser_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserVariableArgs']]]]): pulumi.set(self, "browser_variables", value) + @property + @pulumi.getter(name="configInitialApplicationArguments") + def config_initial_application_arguments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Initial application arguments for the mobile test. + """ + return pulumi.get(self, "config_initial_application_arguments") + + @config_initial_application_arguments.setter + def config_initial_application_arguments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config_initial_application_arguments", value) + @property @pulumi.getter(name="configVariables") def config_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestConfigVariableArgs']]]]: @@ -232,7 +255,7 @@ def config_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S @pulumi.getter(name="deviceIds") def device_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + Required if `type = "browser"`. Array with the different device IDs used to run the test. """ return pulumi.get(self, "device_ids") @@ -264,6 +287,27 @@ def message(self) -> Optional[pulumi.Input[str]]: def message(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "message", value) + @property + @pulumi.getter(name="mobileOptionsList") + def mobile_options_list(self) -> Optional[pulumi.Input['SyntheticsTestMobileOptionsListArgs']]: + return pulumi.get(self, "mobile_options_list") + + @mobile_options_list.setter + def mobile_options_list(self, value: Optional[pulumi.Input['SyntheticsTestMobileOptionsListArgs']]): + pulumi.set(self, "mobile_options_list", value) + + @property + @pulumi.getter(name="mobileSteps") + def mobile_steps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]]]: + """ + Steps for mobile tests + """ + return pulumi.get(self, "mobile_steps") + + @mobile_steps.setter + def mobile_steps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]]]): + pulumi.set(self, "mobile_steps", value) + @property @pulumi.getter(name="optionsList") def options_list(self) -> Optional[pulumi.Input['SyntheticsTestOptionsListArgs']]: @@ -425,11 +469,14 @@ def __init__(__self__, *, assertions: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestAssertionArgs']]]] = None, browser_steps: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserStepArgs']]]] = None, browser_variables: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserVariableArgs']]]] = None, + config_initial_application_arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, config_variables: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestConfigVariableArgs']]]] = None, device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_delete_dependencies: Optional[pulumi.Input[bool]] = None, locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, message: Optional[pulumi.Input[str]] = None, + mobile_options_list: Optional[pulumi.Input['SyntheticsTestMobileOptionsListArgs']] = None, + mobile_steps: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]]] = None, monitor_id: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, options_list: Optional[pulumi.Input['SyntheticsTestOptionsListArgs']] = None, @@ -453,11 +500,13 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestAssertionArgs']]] assertions: Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserStepArgs']]] browser_steps: Steps for browser tests. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserVariableArgs']]] browser_variables: Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_initial_application_arguments: Initial application arguments for the mobile test. :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestConfigVariableArgs']]] config_variables: Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. - :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. :param pulumi.Input[bool] force_delete_dependencies: A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. :param pulumi.Input[str] message: A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. + :param pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]] mobile_steps: Steps for mobile tests :param pulumi.Input[int] monitor_id: ID of the monitor associated with the Datadog synthetics test. :param pulumi.Input[str] name: Name of Datadog synthetics test. :param pulumi.Input['SyntheticsTestRequestBasicauthArgs'] request_basicauth: The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. @@ -483,6 +532,8 @@ def __init__(__self__, *, pulumi.set(__self__, "browser_steps", browser_steps) if browser_variables is not None: pulumi.set(__self__, "browser_variables", browser_variables) + if config_initial_application_arguments is not None: + pulumi.set(__self__, "config_initial_application_arguments", config_initial_application_arguments) if config_variables is not None: pulumi.set(__self__, "config_variables", config_variables) if device_ids is not None: @@ -493,6 +544,10 @@ def __init__(__self__, *, pulumi.set(__self__, "locations", locations) if message is not None: pulumi.set(__self__, "message", message) + if mobile_options_list is not None: + pulumi.set(__self__, "mobile_options_list", mobile_options_list) + if mobile_steps is not None: + pulumi.set(__self__, "mobile_steps", mobile_steps) if monitor_id is not None: pulumi.set(__self__, "monitor_id", monitor_id) if name is not None: @@ -576,6 +631,18 @@ def browser_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Synt def browser_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestBrowserVariableArgs']]]]): pulumi.set(self, "browser_variables", value) + @property + @pulumi.getter(name="configInitialApplicationArguments") + def config_initial_application_arguments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Initial application arguments for the mobile test. + """ + return pulumi.get(self, "config_initial_application_arguments") + + @config_initial_application_arguments.setter + def config_initial_application_arguments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config_initial_application_arguments", value) + @property @pulumi.getter(name="configVariables") def config_variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestConfigVariableArgs']]]]: @@ -592,7 +659,7 @@ def config_variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S @pulumi.getter(name="deviceIds") def device_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + Required if `type = "browser"`. Array with the different device IDs used to run the test. """ return pulumi.get(self, "device_ids") @@ -636,6 +703,27 @@ def message(self) -> Optional[pulumi.Input[str]]: def message(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "message", value) + @property + @pulumi.getter(name="mobileOptionsList") + def mobile_options_list(self) -> Optional[pulumi.Input['SyntheticsTestMobileOptionsListArgs']]: + return pulumi.get(self, "mobile_options_list") + + @mobile_options_list.setter + def mobile_options_list(self, value: Optional[pulumi.Input['SyntheticsTestMobileOptionsListArgs']]): + pulumi.set(self, "mobile_options_list", value) + + @property + @pulumi.getter(name="mobileSteps") + def mobile_steps(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]]]: + """ + Steps for mobile tests + """ + return pulumi.get(self, "mobile_steps") + + @mobile_steps.setter + def mobile_steps(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyntheticsTestMobileStepArgs']]]]): + pulumi.set(self, "mobile_steps", value) + @property @pulumi.getter(name="monitorId") def monitor_id(self) -> Optional[pulumi.Input[int]]: @@ -847,11 +935,14 @@ def __init__(__self__, assertions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestAssertionArgs', 'SyntheticsTestAssertionArgsDict']]]]] = None, browser_steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserStepArgs', 'SyntheticsTestBrowserStepArgsDict']]]]] = None, browser_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserVariableArgs', 'SyntheticsTestBrowserVariableArgsDict']]]]] = None, + config_initial_application_arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, config_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestConfigVariableArgs', 'SyntheticsTestConfigVariableArgsDict']]]]] = None, device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_delete_dependencies: Optional[pulumi.Input[bool]] = None, locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, message: Optional[pulumi.Input[str]] = None, + mobile_options_list: Optional[pulumi.Input[Union['SyntheticsTestMobileOptionsListArgs', 'SyntheticsTestMobileOptionsListArgsDict']]] = None, + mobile_steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestMobileStepArgs', 'SyntheticsTestMobileStepArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, options_list: Optional[pulumi.Input[Union['SyntheticsTestOptionsListArgs', 'SyntheticsTestOptionsListArgsDict']]] = None, request_basicauth: Optional[pulumi.Input[Union['SyntheticsTestRequestBasicauthArgs', 'SyntheticsTestRequestBasicauthArgsDict']]] = None, @@ -1211,6 +1302,148 @@ def __init__(__self__, options_list={ "tick_every": 3600, }) + # Example Usage (Synthetics Mobile test) + # Create a new Datadog Synthetics Mobile test starting on https://www.example.org + test_mobile = datadog.SyntheticsTest("test_mobile", + type="mobile", + name="A Mobile test on example.org", + status="paused", + message="Notify @datadog.user", + tags=[ + "foo:bar", + "baz", + ], + config_variables=[{ + "example": "123", + "name": "VARIABLE_NAME", + "pattern": "{{numeric(3)}}", + "type": "text", + "secure": False, + }], + config_initial_application_arguments={ + "test_process_argument": "test1", + }, + device_ids=["synthetics:mobile:device:apple_iphone_14_plus_ios_16"], + locations=["aws:eu-central-1"], + mobile_options_list={ + "min_failure_duration": 0, + "retry": { + "count": 0, + "interval": 300, + }, + "tick_every": 43200, + "scheduling": { + "timeframes": [ + { + "day": 5, + "from_": "07:00", + "to": "16:00", + }, + { + "day": 7, + "from_": "07:00", + "to": "16:00", + }, + ], + "timezone": "UTC", + }, + "monitor_name": "mobile-test-monitor", + "monitor_options": { + "renotify_interval": 10, + "escalation_message": "test escalation message", + "renotify_occurrences": 3, + "notification_preset_name": "show_all", + }, + "monitor_priority": 5, + "restricted_roles": [ + "role1", + "role2", + ], + "bindings": [{ + "principals": [ + "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091", + "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002", + ], + "relation": "editor", + }], + "ci": { + "execution_rule": "blocking", + }, + "default_step_timeout": 10, + "device_ids": ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"], + "no_screenshot": True, + "allow_application_crash": False, + "disable_auto_accept_alert": True, + "mobile_application": { + "application_id": "5f055d15-0000-aaaa-zzzz-6739f83346aa", + "reference_id": "434d4719-0000-aaaa-zzzz-31082b544718", + "reference_type": "version", + }, + }, + mobile_steps=[ + { + "name": "Tap on StaticText \\"Tap\\"", + "params": { + "element": { + "context": "NATIVE_APP", + "view_name": "StaticText", + "context_type": "native", + "text_content": "Tap", + "multi_locator": {}, + "relative_position": { + "x": 0.07256155303030302, + "y": 0.41522381756756754, + }, + "user_locator": { + "fail_test_on_cannot_locate": False, + "values": [{ + "type": "id", + "value": "some_id", + }], + }, + "element_description": "", + }, + }, + "timeout": 100, + "type": "tap", + "allow_failure": False, + "is_critical": True, + "no_screenshot": False, + "has_new_step_element": False, + }, + { + "name": "Test View \\"Tap\\" content", + "params": { + "check": "contains", + "value": "Tap", + "element": { + "context": "NATIVE_APP", + "view_name": "View", + "context_type": "native", + "text_content": "Tap", + "multi_locator": {}, + "relative_position": { + "x": 0.27660448306074764, + "y": 0.6841517857142857, + }, + "user_locator": { + "fail_test_on_cannot_locate": False, + "values": [{ + "type": "id", + "value": "some_id", + }], + }, + "element_description": "", + }, + }, + "timeout": 100, + "type": "assertElementContent", + "allow_failure": False, + "is_critical": True, + "no_screenshot": False, + "has_new_step_element": False, + }, + ]) # Example Usage (GRPC API behavior check test) # Create a new Datadog GRPC API test calling host example.org on port 443 # targeting service `greeter.Greeter` with the method `SayHello` @@ -1334,11 +1567,13 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestAssertionArgs', 'SyntheticsTestAssertionArgsDict']]]] assertions: Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserStepArgs', 'SyntheticsTestBrowserStepArgsDict']]]] browser_steps: Steps for browser tests. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserVariableArgs', 'SyntheticsTestBrowserVariableArgsDict']]]] browser_variables: Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_initial_application_arguments: Initial application arguments for the mobile test. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestConfigVariableArgs', 'SyntheticsTestConfigVariableArgsDict']]]] config_variables: Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. - :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. :param pulumi.Input[bool] force_delete_dependencies: A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. :param pulumi.Input[str] message: A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. + :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestMobileStepArgs', 'SyntheticsTestMobileStepArgsDict']]]] mobile_steps: Steps for mobile tests :param pulumi.Input[str] name: Name of Datadog synthetics test. :param pulumi.Input[Union['SyntheticsTestRequestBasicauthArgs', 'SyntheticsTestRequestBasicauthArgsDict']] request_basicauth: The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. :param pulumi.Input[Union['SyntheticsTestRequestClientCertificateArgs', 'SyntheticsTestRequestClientCertificateArgsDict']] request_client_certificate: Client certificate to use when performing the test request. Exactly one nested block is allowed with the structure below. @@ -1703,6 +1938,148 @@ def __init__(__self__, options_list={ "tick_every": 3600, }) + # Example Usage (Synthetics Mobile test) + # Create a new Datadog Synthetics Mobile test starting on https://www.example.org + test_mobile = datadog.SyntheticsTest("test_mobile", + type="mobile", + name="A Mobile test on example.org", + status="paused", + message="Notify @datadog.user", + tags=[ + "foo:bar", + "baz", + ], + config_variables=[{ + "example": "123", + "name": "VARIABLE_NAME", + "pattern": "{{numeric(3)}}", + "type": "text", + "secure": False, + }], + config_initial_application_arguments={ + "test_process_argument": "test1", + }, + device_ids=["synthetics:mobile:device:apple_iphone_14_plus_ios_16"], + locations=["aws:eu-central-1"], + mobile_options_list={ + "min_failure_duration": 0, + "retry": { + "count": 0, + "interval": 300, + }, + "tick_every": 43200, + "scheduling": { + "timeframes": [ + { + "day": 5, + "from_": "07:00", + "to": "16:00", + }, + { + "day": 7, + "from_": "07:00", + "to": "16:00", + }, + ], + "timezone": "UTC", + }, + "monitor_name": "mobile-test-monitor", + "monitor_options": { + "renotify_interval": 10, + "escalation_message": "test escalation message", + "renotify_occurrences": 3, + "notification_preset_name": "show_all", + }, + "monitor_priority": 5, + "restricted_roles": [ + "role1", + "role2", + ], + "bindings": [{ + "principals": [ + "org:8dee7c38-0000-aaaa-zzzz-8b5a08d3b091", + "team:3a0cdd74-0000-aaaa-zzzz-da7ad0900002", + ], + "relation": "editor", + }], + "ci": { + "execution_rule": "blocking", + }, + "default_step_timeout": 10, + "device_ids": ["synthetics:mobile:device:apple_iphone_14_plus_ios_16"], + "no_screenshot": True, + "allow_application_crash": False, + "disable_auto_accept_alert": True, + "mobile_application": { + "application_id": "5f055d15-0000-aaaa-zzzz-6739f83346aa", + "reference_id": "434d4719-0000-aaaa-zzzz-31082b544718", + "reference_type": "version", + }, + }, + mobile_steps=[ + { + "name": "Tap on StaticText \\"Tap\\"", + "params": { + "element": { + "context": "NATIVE_APP", + "view_name": "StaticText", + "context_type": "native", + "text_content": "Tap", + "multi_locator": {}, + "relative_position": { + "x": 0.07256155303030302, + "y": 0.41522381756756754, + }, + "user_locator": { + "fail_test_on_cannot_locate": False, + "values": [{ + "type": "id", + "value": "some_id", + }], + }, + "element_description": "", + }, + }, + "timeout": 100, + "type": "tap", + "allow_failure": False, + "is_critical": True, + "no_screenshot": False, + "has_new_step_element": False, + }, + { + "name": "Test View \\"Tap\\" content", + "params": { + "check": "contains", + "value": "Tap", + "element": { + "context": "NATIVE_APP", + "view_name": "View", + "context_type": "native", + "text_content": "Tap", + "multi_locator": {}, + "relative_position": { + "x": 0.27660448306074764, + "y": 0.6841517857142857, + }, + "user_locator": { + "fail_test_on_cannot_locate": False, + "values": [{ + "type": "id", + "value": "some_id", + }], + }, + "element_description": "", + }, + }, + "timeout": 100, + "type": "assertElementContent", + "allow_failure": False, + "is_critical": True, + "no_screenshot": False, + "has_new_step_element": False, + }, + ]) # Example Usage (GRPC API behavior check test) # Create a new Datadog GRPC API test calling host example.org on port 443 # targeting service `greeter.Greeter` with the method `SayHello` @@ -1839,11 +2216,14 @@ def _internal_init(__self__, assertions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestAssertionArgs', 'SyntheticsTestAssertionArgsDict']]]]] = None, browser_steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserStepArgs', 'SyntheticsTestBrowserStepArgsDict']]]]] = None, browser_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserVariableArgs', 'SyntheticsTestBrowserVariableArgsDict']]]]] = None, + config_initial_application_arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, config_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestConfigVariableArgs', 'SyntheticsTestConfigVariableArgsDict']]]]] = None, device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_delete_dependencies: Optional[pulumi.Input[bool]] = None, locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, message: Optional[pulumi.Input[str]] = None, + mobile_options_list: Optional[pulumi.Input[Union['SyntheticsTestMobileOptionsListArgs', 'SyntheticsTestMobileOptionsListArgsDict']]] = None, + mobile_steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestMobileStepArgs', 'SyntheticsTestMobileStepArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, options_list: Optional[pulumi.Input[Union['SyntheticsTestOptionsListArgs', 'SyntheticsTestOptionsListArgsDict']]] = None, request_basicauth: Optional[pulumi.Input[Union['SyntheticsTestRequestBasicauthArgs', 'SyntheticsTestRequestBasicauthArgsDict']]] = None, @@ -1873,6 +2253,7 @@ def _internal_init(__self__, __props__.__dict__["assertions"] = assertions __props__.__dict__["browser_steps"] = browser_steps __props__.__dict__["browser_variables"] = browser_variables + __props__.__dict__["config_initial_application_arguments"] = config_initial_application_arguments __props__.__dict__["config_variables"] = config_variables __props__.__dict__["device_ids"] = device_ids __props__.__dict__["force_delete_dependencies"] = force_delete_dependencies @@ -1880,6 +2261,8 @@ def _internal_init(__self__, raise TypeError("Missing required property 'locations'") __props__.__dict__["locations"] = locations __props__.__dict__["message"] = message + __props__.__dict__["mobile_options_list"] = mobile_options_list + __props__.__dict__["mobile_steps"] = mobile_steps if name is None and not opts.urn: raise TypeError("Missing required property 'name'") __props__.__dict__["name"] = name @@ -1917,11 +2300,14 @@ def get(resource_name: str, assertions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestAssertionArgs', 'SyntheticsTestAssertionArgsDict']]]]] = None, browser_steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserStepArgs', 'SyntheticsTestBrowserStepArgsDict']]]]] = None, browser_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserVariableArgs', 'SyntheticsTestBrowserVariableArgsDict']]]]] = None, + config_initial_application_arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, config_variables: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestConfigVariableArgs', 'SyntheticsTestConfigVariableArgsDict']]]]] = None, device_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, force_delete_dependencies: Optional[pulumi.Input[bool]] = None, locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, message: Optional[pulumi.Input[str]] = None, + mobile_options_list: Optional[pulumi.Input[Union['SyntheticsTestMobileOptionsListArgs', 'SyntheticsTestMobileOptionsListArgsDict']]] = None, + mobile_steps: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestMobileStepArgs', 'SyntheticsTestMobileStepArgsDict']]]]] = None, monitor_id: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, options_list: Optional[pulumi.Input[Union['SyntheticsTestOptionsListArgs', 'SyntheticsTestOptionsListArgsDict']]] = None, @@ -1950,11 +2336,13 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestAssertionArgs', 'SyntheticsTestAssertionArgsDict']]]] assertions: Assertions used for the test. Multiple `assertion` blocks are allowed with the structure below. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserStepArgs', 'SyntheticsTestBrowserStepArgsDict']]]] browser_steps: Steps for browser tests. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestBrowserVariableArgs', 'SyntheticsTestBrowserVariableArgsDict']]]] browser_variables: Variables used for a browser test steps. Multiple `variable` blocks are allowed with the structure below. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_initial_application_arguments: Initial application arguments for the mobile test. :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestConfigVariableArgs', 'SyntheticsTestConfigVariableArgsDict']]]] config_variables: Variables used for the test configuration. Multiple `config_variable` blocks are allowed with the structure below. - :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] device_ids: Required if `type = "browser"`. Array with the different device IDs used to run the test. :param pulumi.Input[bool] force_delete_dependencies: A boolean indicating whether this synthetics test can be deleted even if it's referenced by other resources (for example, SLOs and composite monitors). :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: Array of locations used to run the test. Refer to the Datadog Synthetics location data source to retrieve the list of locations. :param pulumi.Input[str] message: A message to include with notifications for this synthetics test. Email notifications can be sent to specific users by using the same `@username` notation as events. Defaults to `""`. + :param pulumi.Input[Sequence[pulumi.Input[Union['SyntheticsTestMobileStepArgs', 'SyntheticsTestMobileStepArgsDict']]]] mobile_steps: Steps for mobile tests :param pulumi.Input[int] monitor_id: ID of the monitor associated with the Datadog synthetics test. :param pulumi.Input[str] name: Name of Datadog synthetics test. :param pulumi.Input[Union['SyntheticsTestRequestBasicauthArgs', 'SyntheticsTestRequestBasicauthArgsDict']] request_basicauth: The HTTP basic authentication credentials. Exactly one nested block is allowed with the structure below. @@ -1980,11 +2368,14 @@ def get(resource_name: str, __props__.__dict__["assertions"] = assertions __props__.__dict__["browser_steps"] = browser_steps __props__.__dict__["browser_variables"] = browser_variables + __props__.__dict__["config_initial_application_arguments"] = config_initial_application_arguments __props__.__dict__["config_variables"] = config_variables __props__.__dict__["device_ids"] = device_ids __props__.__dict__["force_delete_dependencies"] = force_delete_dependencies __props__.__dict__["locations"] = locations __props__.__dict__["message"] = message + __props__.__dict__["mobile_options_list"] = mobile_options_list + __props__.__dict__["mobile_steps"] = mobile_steps __props__.__dict__["monitor_id"] = monitor_id __props__.__dict__["name"] = name __props__.__dict__["options_list"] = options_list @@ -2036,6 +2427,14 @@ def browser_variables(self) -> pulumi.Output[Optional[Sequence['outputs.Syntheti """ return pulumi.get(self, "browser_variables") + @property + @pulumi.getter(name="configInitialApplicationArguments") + def config_initial_application_arguments(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Initial application arguments for the mobile test. + """ + return pulumi.get(self, "config_initial_application_arguments") + @property @pulumi.getter(name="configVariables") def config_variables(self) -> pulumi.Output[Optional[Sequence['outputs.SyntheticsTestConfigVariable']]]: @@ -2048,7 +2447,7 @@ def config_variables(self) -> pulumi.Output[Optional[Sequence['outputs.Synthetic @pulumi.getter(name="deviceIds") def device_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - Required if `type = "browser"`. Array with the different device IDs used to run the test. Valid values are `laptop_large`, `tablet`, `mobile_small`, `chrome.laptop_large`, `chrome.tablet`, `chrome.mobile_small`, `firefox.laptop_large`, `firefox.tablet`, `firefox.mobile_small`, `edge.laptop_large`, `edge.tablet`, `edge.mobile_small`. + Required if `type = "browser"`. Array with the different device IDs used to run the test. """ return pulumi.get(self, "device_ids") @@ -2076,6 +2475,19 @@ def message(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "message") + @property + @pulumi.getter(name="mobileOptionsList") + def mobile_options_list(self) -> pulumi.Output[Optional['outputs.SyntheticsTestMobileOptionsList']]: + return pulumi.get(self, "mobile_options_list") + + @property + @pulumi.getter(name="mobileSteps") + def mobile_steps(self) -> pulumi.Output[Optional[Sequence['outputs.SyntheticsTestMobileStep']]]: + """ + Steps for mobile tests + """ + return pulumi.get(self, "mobile_steps") + @property @pulumi.getter(name="monitorId") def monitor_id(self) -> pulumi.Output[int]: