From 3ee7fd8ca50701889e666f4012ae27e511d56207 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Wed, 11 Sep 2024 10:05:57 +0100 Subject: [PATCH] Automated SDK generation @ aws-cloudformation-user-guide 19dc52cd3f2007d6d268b65b739ffb5ebf8c1e76 (#1718) *Automated PR* --- .docs.version | 2 +- .../aws-amplify-app.json | 14 + ...licationsignals-servicelevelobjective.json | 78 +- .../aws-databrew-ruleset.json | 2 +- .../aws-ec2-dhcpoptions.json | 3 +- .../aws-ec2-vpcpeeringconnection.json | 1 + .../aws-ecs-service.json | 917 ++-- .../aws-ecs-taskdefinition.json | 77 +- aws-cloudformation-schema/aws-eks-addon.json | 3 +- .../aws-eks-cluster.json | 1 + .../aws-eks-fargateprofile.json | 3 +- .../aws-eks-podidentityassociation.json | 2 +- .../aws-elasticloadbalancingv2-listener.json | 29 +- ...aws-elasticloadbalancingv2-truststore.json | 3 +- ...balaccelerator-crossaccountattachment.json | 4 +- .../aws-mediaconnect-flow.json | 19 +- .../aws-medialive-channelplacementgroup.json | 107 + ...aws-medialive-cloudwatchalarmtemplate.json | 162 + ...edialive-cloudwatchalarmtemplategroup.json | 87 + .../aws-medialive-cluster.json | 153 + ...aws-medialive-eventbridgeruletemplate.json | 134 + ...edialive-eventbridgeruletemplategroup.json | 87 + .../aws-medialive-network.json | 127 + .../aws-medialive-sdisource.json | 102 + .../aws-medialive-signalmap.json | 281 ++ .../aws-networkmanager-connectattachment.json | 3 +- .../aws-networkmanager-connectpeer.json | 3 +- .../aws-networkmanager-corenetwork.json | 3 +- .../aws-networkmanager-device.json | 3 +- .../aws-networkmanager-globalnetwork.json | 3 +- .../aws-networkmanager-link.json | 3 +- .../aws-networkmanager-site.json | 3 +- ...etworkmanager-sitetositevpnattachment.json | 3 +- ...-networkmanager-transitgatewaypeering.json | 3 +- ...er-transitgatewayroutetableattachment.json | 3 +- .../aws-networkmanager-vpcattachment.json | 3 +- .../aws-paymentcryptography-key.json | 9 +- .../aws-pcaconnectorscep-challenge.json | 75 + .../aws-pcaconnectorscep-connector.json | 132 + .../aws-quicksight-analysis.json | 16 + .../aws-quicksight-template.json | 16 + .../aws-rds-dbcluster.json | 9 +- .../aws-rds-dbclusterparametergroup.json | 8 + .../aws-rds-dbinstance.json | 11 +- .../aws-rds-dbparametergroup.json | 8 + .../aws-rds-eventsubscription.json | 8 + .../aws-rds-optiongroup.json | 8 + .../aws-refactorspaces-route.json | 9 +- .../aws-route53resolver-resolverrule.json | 194 +- .../aws-sagemaker-cluster.json | 307 ++ .../aws-sagemaker-domain.json | 58 +- .../aws-sagemaker-space.json | 27 + .../aws-sagemaker-userprofile.json | 58 +- .../aws-sns-subscription.json | 70 +- .../aws-vpclattice-accesslogsubscription.json | 5 +- .../aws-vpclattice-listener.json | 3 +- .../aws-vpclattice-rule.json | 7 +- .../aws-vpclattice-service.json | 5 +- .../aws-vpclattice-servicenetwork.json | 7 +- ...tice-servicenetworkserviceassociation.json | 5 +- ...clattice-servicenetworkvpcassociation.json | 5 +- .../aws-vpclattice-targetgroup.json | 3 +- .../pulumi-gen-aws-native/supported-types.txt | 13 + .../pulumi-resource-aws-native/metadata.json | 2178 ++++++++- .../pulumi-resource-aws-native/schema.json | 4004 +++++++++++++++-- reports/missedAutonaming.json | 96 +- sdk/dotnet/Amplify/App.cs | 16 + sdk/dotnet/Amplify/Enums.cs | 37 + sdk/dotnet/Amplify/GetApp.cs | 9 + .../Amplify/Inputs/AppCacheConfigArgs.cs | 30 + sdk/dotnet/Amplify/Outputs/AppCacheConfig.cs | 31 + sdk/dotnet/ApplicationSignals/Enums.cs | 95 + .../GetServiceLevelObjective.cs | 16 +- ...bjectiveMonitoredRequestCountMetricArgs.cs | 47 + ...erviceLevelObjectiveRequestBasedSliArgs.cs | 41 + ...LevelObjectiveRequestBasedSliMetricArgs.cs | 71 + ...velObjectiveMonitoredRequestCountMetric.cs | 38 + .../ServiceLevelObjectiveRequestBasedSli.cs | 45 + ...viceLevelObjectiveRequestBasedSliMetric.cs | 65 + .../ServiceLevelObjective.cs | 30 +- .../Inputs/WorkGroupAclConfigurationArgs.cs | 2 +- .../Outputs/WorkGroupAclConfiguration.cs | 2 +- sdk/dotnet/CloudFormation/GetStack.cs | 8 +- sdk/dotnet/CloudFormation/Stack.cs | 12 +- sdk/dotnet/CodeBuild/Enums.cs | 4 + sdk/dotnet/CodeBuild/Fleet.cs | 16 + sdk/dotnet/CodeBuild/GetFleet.cs | 8 + sdk/dotnet/Cognito/GetUserPool.cs | 20 +- sdk/dotnet/Cognito/GetUserPoolClient.cs | 4 +- .../GetUserPoolRiskConfigurationAttachment.cs | 10 +- .../UserPoolAdminCreateUserConfigArgs.cs | 8 +- ...serPoolClientAnalyticsConfigurationArgs.cs | 6 +- .../UserPoolClientTokenValidityUnitsArgs.cs | 6 +- .../Inputs/UserPoolLambdaConfigArgs.cs | 24 +- .../Inputs/UserPoolPasswordPolicyArgs.cs | 8 +- .../Cognito/Inputs/UserPoolPoliciesArgs.cs | 2 +- ...sourceServerResourceServerScopeTypeArgs.cs | 4 +- ...AttachmentAccountTakeoverActionTypeArgs.cs | 12 +- ...ttachmentAccountTakeoverActionsTypeArgs.cs | 6 +- ...ccountTakeoverRiskConfigurationTypeArgs.cs | 4 +- ...ntCompromisedCredentialsActionsTypeArgs.cs | 2 +- ...sedCredentialsRiskConfigurationTypeArgs.cs | 4 +- ...onAttachmentNotifyConfigurationTypeArgs.cs | 10 +- ...figurationAttachmentNotifyEmailTypeArgs.cs | 6 +- ...hmentRiskExceptionConfigurationTypeArgs.cs | 4 +- .../UserPoolStringAttributeConstraintsArgs.cs | 2 +- .../UserPoolUsernameConfigurationArgs.cs | 4 +- ...UserPoolVerificationMessageTemplateArgs.cs | 4 +- .../Outputs/UserPoolAdminCreateUserConfig.cs | 8 +- .../UserPoolClientAnalyticsConfiguration.cs | 6 +- .../UserPoolClientTokenValidityUnits.cs | 6 +- .../Cognito/Outputs/UserPoolLambdaConfig.cs | 24 +- .../Cognito/Outputs/UserPoolPasswordPolicy.cs | 8 +- .../Cognito/Outputs/UserPoolPolicies.cs | 2 +- ...olResourceServerResourceServerScopeType.cs | 4 +- ...tionAttachmentAccountTakeoverActionType.cs | 12 +- ...ionAttachmentAccountTakeoverActionsType.cs | 6 +- ...entAccountTakeoverRiskConfigurationType.cs | 4 +- ...chmentCompromisedCredentialsActionsType.cs | 2 +- ...romisedCredentialsRiskConfigurationType.cs | 4 +- ...rationAttachmentNotifyConfigurationType.cs | 10 +- ...kConfigurationAttachmentNotifyEmailType.cs | 6 +- ...ttachmentRiskExceptionConfigurationType.cs | 4 +- .../UserPoolStringAttributeConstraints.cs | 2 +- .../Outputs/UserPoolUsernameConfiguration.cs | 4 +- .../UserPoolVerificationMessageTemplate.cs | 4 +- sdk/dotnet/Cognito/UserPool.cs | 40 +- sdk/dotnet/Cognito/UserPoolClient.cs | 8 +- .../UserPoolRiskConfigurationAttachment.cs | 16 +- sdk/dotnet/DataBrew/GetRuleset.cs | 11 +- sdk/dotnet/DataBrew/Ruleset.cs | 9 +- sdk/dotnet/Ecs/Enums.cs | 1 + sdk/dotnet/Ecs/GetService.cs | 9 +- .../Inputs/ServiceAwsVpcConfigurationArgs.cs | 6 +- .../Inputs/ServiceConnectConfigurationArgs.cs | 6 +- ...rviceConnectTlsCertificateAuthorityArgs.cs | 2 +- .../ServiceConnectTlsConfigurationArgs.cs | 2 +- .../ServiceDeploymentConfigurationArgs.cs | 12 +- .../Ecs/Inputs/ServiceLogConfigurationArgs.cs | 12 +- .../Inputs/ServiceNetworkConfigurationArgs.cs | 2 +- .../Inputs/ServicePlacementConstraintArgs.cs | 3 +- .../Inputs/ServicePlacementStrategyArgs.cs | 4 +- sdk/dotnet/Ecs/Inputs/ServiceRegistryArgs.cs | 4 +- .../TaskDefinitionContainerDefinitionArgs.cs | 52 +- ...DefinitionDockerVolumeConfigurationArgs.cs | 4 +- ...askDefinitionFSxAuthorizationConfigArgs.cs | 8 +- .../Inputs/TaskDefinitionHealthCheckArgs.cs | 2 +- .../TaskDefinitionKernelCapabilitiesArgs.cs | 4 +- .../TaskDefinitionLinuxParametersArgs.cs | 2 +- .../Inputs/TaskDefinitionRestartPolicyArgs.cs | 5 +- .../Inputs/TaskDefinitionSystemControlArgs.cs | 2 +- .../Ecs/Outputs/ServiceAwsVpcConfiguration.cs | 6 +- .../Outputs/ServiceConnectConfiguration.cs | 6 +- .../ServiceConnectTlsCertificateAuthority.cs | 2 +- .../Outputs/ServiceConnectTlsConfiguration.cs | 2 +- .../Outputs/ServiceDeploymentConfiguration.cs | 12 +- .../Ecs/Outputs/ServiceLogConfiguration.cs | 12 +- .../Outputs/ServiceNetworkConfiguration.cs | 2 +- .../Ecs/Outputs/ServicePlacementConstraint.cs | 3 +- .../Ecs/Outputs/ServicePlacementStrategy.cs | 4 +- sdk/dotnet/Ecs/Outputs/ServiceRegistry.cs | 4 +- .../TaskDefinitionContainerDefinition.cs | 52 +- ...TaskDefinitionDockerVolumeConfiguration.cs | 4 +- .../TaskDefinitionFSxAuthorizationConfig.cs | 8 +- .../Ecs/Outputs/TaskDefinitionHealthCheck.cs | 2 +- .../TaskDefinitionKernelCapabilities.cs | 4 +- .../Outputs/TaskDefinitionLinuxParameters.cs | 2 +- .../Outputs/TaskDefinitionRestartPolicy.cs | 5 +- .../Outputs/TaskDefinitionSystemControl.cs | 2 +- sdk/dotnet/Ecs/Service.cs | 6 +- .../ElasticLoadBalancingV2/GetListener.cs | 4 + .../Inputs/ListenerAttributeArgs.cs | 26 + sdk/dotnet/ElasticLoadBalancingV2/Listener.cs | 11 + .../Outputs/ListenerAttribute.cs | 29 + sdk/dotnet/GameLift/Fleet.cs | 4 +- .../Inputs/FleetLocationConfigurationArgs.cs | 2 +- .../Outputs/FleetLocationConfiguration.cs | 2 +- .../CrossAccountAttachmentResourceArgs.cs | 12 +- .../Outputs/CrossAccountAttachmentResource.cs | 13 +- sdk/dotnet/MediaConnect/Enums.cs | 31 + sdk/dotnet/MediaConnect/Flow.cs | 16 +- sdk/dotnet/MediaConnect/GetFlow.cs | 9 +- .../Inputs/FlowSourceMonitoringConfigArgs.cs | 29 + .../Outputs/FlowSourceMonitoringConfig.cs | 30 + sdk/dotnet/MediaLive/ChannelPlacementGroup.cs | 153 + .../MediaLive/CloudWatchAlarmTemplate.cs | 230 + .../MediaLive/CloudWatchAlarmTemplateGroup.cs | 135 + sdk/dotnet/MediaLive/Cluster.cs | 148 + sdk/dotnet/MediaLive/Enums.cs | 487 ++ .../MediaLive/EventBridgeRuleTemplate.cs | 179 + .../MediaLive/EventBridgeRuleTemplateGroup.cs | 135 + .../MediaLive/GetChannelPlacementGroup.cs | 123 + .../MediaLive/GetCloudWatchAlarmTemplate.cs | 157 + .../GetCloudWatchAlarmTemplateGroup.cs | 98 + sdk/dotnet/MediaLive/GetCluster.cs | 108 + .../MediaLive/GetEventBridgeRuleTemplate.cs | 132 + .../GetEventBridgeRuleTemplateGroup.cs | 98 + sdk/dotnet/MediaLive/GetNetwork.cs | 118 + sdk/dotnet/MediaLive/GetSdiSource.cs | 112 + sdk/dotnet/MediaLive/GetSignalMap.cs | 152 + .../Inputs/ClusterInterfaceMappingArgs.cs | 35 + .../Inputs/ClusterNetworkSettingsArgs.cs | 41 + .../EventBridgeRuleTemplateTargetArgs.cs | 29 + .../MediaLive/Inputs/NetworkIpPoolArgs.cs | 29 + .../MediaLive/Inputs/NetworkRouteArgs.cs | 32 + sdk/dotnet/MediaLive/Network.cs | 155 + .../Outputs/ClusterInterfaceMapping.cs | 38 + .../Outputs/ClusterNetworkSettings.cs | 38 + .../Outputs/EventBridgeRuleTemplateTarget.cs | 30 + sdk/dotnet/MediaLive/Outputs/NetworkIpPool.cs | 30 + sdk/dotnet/MediaLive/Outputs/NetworkRoute.cs | 35 + .../Outputs/SignalMapMediaResource.cs | 39 + .../Outputs/SignalMapMediaResourceNeighbor.cs | 38 + .../Outputs/SignalMapMonitorDeployment.cs | 42 + .../SignalMapSuccessfulMonitorDeployment.cs | 35 + sdk/dotnet/MediaLive/SdiSource.cs | 131 + sdk/dotnet/MediaLive/SignalMap.cs | 210 + sdk/dotnet/PaymentCryptography/Enums.cs | 2 + sdk/dotnet/PcaConnectorScep/Challenge.cs | 92 + sdk/dotnet/PcaConnectorScep/Connector.cs | 108 + sdk/dotnet/PcaConnectorScep/Enums.cs | 37 + sdk/dotnet/PcaConnectorScep/GetChallenge.cs | 67 + sdk/dotnet/PcaConnectorScep/GetConnector.cs | 79 + .../ConnectorMobileDeviceManagementArgs.cs | 20 + .../ConnectorMobileDeviceManagement.cs | 21 + .../Outputs/ConnectorOpenIdConfiguration.cs | 33 + sdk/dotnet/PcaConnectorScep/README.md | 1 + sdk/dotnet/QBusiness/Application.cs | 4 +- sdk/dotnet/QBusiness/GetApplication.cs | 2 +- sdk/dotnet/QuickSight/Enums.cs | 56 + .../Inputs/AnalysisDefinitionArgs.cs | 3 + .../AnalysisQueryExecutionOptionsArgs.cs | 23 + .../TemplateQueryExecutionOptionsArgs.cs | 23 + .../Inputs/TemplateVersionDefinitionArgs.cs | 3 + .../QuickSight/Outputs/AnalysisDefinition.cs | 4 + .../Outputs/AnalysisQueryExecutionOptions.cs | 24 + .../Outputs/TemplateQueryExecutionOptions.cs | 24 + .../Outputs/TemplateVersionDefinition.cs | 4 + sdk/dotnet/SageMaker/Cluster.cs | 173 + sdk/dotnet/SageMaker/Enums.cs | 162 + sdk/dotnet/SageMaker/GetCluster.cs | 111 + .../Inputs/ClusterInstanceGroupArgs.cs | 69 + .../ClusterInstanceStorageConfigArgs.cs | 23 + .../Inputs/ClusterLifeCycleConfigArgs.cs | 35 + .../Inputs/ClusterOrchestratorArgs.cs | 26 + .../ClusterOrchestratorEksConfigArgs.cs | 29 + .../SageMaker/Inputs/ClusterVpcConfigArgs.cs | 47 + .../DomainAppLifecycleManagementArgs.cs | 23 + .../Inputs/DomainCodeEditorAppSettingsArgs.cs | 3 + .../Inputs/DomainIdleSettingsArgs.cs | 32 + .../Inputs/DomainJupyterLabAppSettingsArgs.cs | 3 + .../Inputs/SpaceAppLifecycleManagementArgs.cs | 23 + .../Inputs/SpaceCodeEditorAppSettingsArgs.cs | 3 + .../SageMaker/Inputs/SpaceIdleSettingsArgs.cs | 26 + .../Inputs/SpaceJupyterLabAppSettingsArgs.cs | 3 + .../UserProfileAppLifecycleManagementArgs.cs | 23 + .../UserProfileCodeEditorAppSettingsArgs.cs | 3 + .../Inputs/UserProfileIdleSettingsArgs.cs | 32 + .../UserProfileJupyterLabAppSettingsArgs.cs | 3 + .../SageMaker/Outputs/ClusterInstanceGroup.cs | 69 + .../Outputs/ClusterInstanceStorageConfig.cs | 24 + .../Outputs/ClusterLifeCycleConfig.cs | 38 + .../SageMaker/Outputs/ClusterOrchestrator.cs | 27 + .../Outputs/ClusterOrchestratorEksConfig.cs | 30 + .../SageMaker/Outputs/ClusterVpcConfig.cs | 38 + .../Outputs/DomainAppLifecycleManagement.cs | 24 + .../Outputs/DomainCodeEditorAppSettings.cs | 4 + .../SageMaker/Outputs/DomainIdleSettings.cs | 37 + .../Outputs/DomainJupyterLabAppSettings.cs | 4 + .../Outputs/SpaceAppLifecycleManagement.cs | 24 + .../Outputs/SpaceCodeEditorAppSettings.cs | 7 +- .../SageMaker/Outputs/SpaceIdleSettings.cs | 27 + .../Outputs/SpaceJupyterLabAppSettings.cs | 4 + .../UserProfileAppLifecycleManagement.cs | 24 + .../UserProfileCodeEditorAppSettings.cs | 4 + .../Outputs/UserProfileIdleSettings.cs | 37 + .../UserProfileJupyterLabAppSettings.cs | 4 + sdk/dotnet/Sns/GetSubscription.cs | 129 + sdk/dotnet/Sns/Subscription.cs | 228 + sdk/dotnet/Sns/Topic.cs | 130 + sdk/go/aws/amplify/app.go | 19 + sdk/go/aws/amplify/getApp.go | 11 + sdk/go/aws/amplify/pulumiEnums.go | 176 + sdk/go/aws/amplify/pulumiTypes.go | 157 + .../getServiceLevelObjective.go | 22 +- sdk/go/aws/applicationsignals/pulumiEnums.go | 437 ++ sdk/go/aws/applicationsignals/pulumiTypes.go | 707 +++ .../serviceLevelObjective.go | 42 +- sdk/go/aws/athena/pulumiTypes.go | 8 +- sdk/go/aws/cloudformation/getStack.go | 16 +- sdk/go/aws/cloudformation/pulumiTypes.go | 2 +- sdk/go/aws/cloudformation/stack.go | 24 +- sdk/go/aws/codebuild/fleet.go | 32 + sdk/go/aws/codebuild/getFleet.go | 16 + sdk/go/aws/codebuild/pulumiEnums.go | 4 + sdk/go/aws/cognito/getUserPool.go | 40 +- sdk/go/aws/cognito/getUserPoolClient.go | 8 +- .../getUserPoolRiskConfigurationAttachment.go | 16 +- sdk/go/aws/cognito/pulumiTypes.go | 460 +- sdk/go/aws/cognito/userPool.go | 80 +- sdk/go/aws/cognito/userPoolClient.go | 16 +- .../userPoolRiskConfigurationAttachment.go | 32 +- sdk/go/aws/databrew/getRuleset.go | 12 - sdk/go/aws/databrew/ruleset.go | 11 +- sdk/go/aws/ecs/getService.go | 6 +- sdk/go/aws/ecs/pulumiEnums.go | 1 + sdk/go/aws/ecs/pulumiTypes.go | 437 +- sdk/go/aws/ecs/service.go | 8 +- .../aws/elasticloadbalancingv2/getListener.go | 7 +- sdk/go/aws/elasticloadbalancingv2/listener.go | 13 +- .../aws/elasticloadbalancingv2/pulumiTypes.go | 104 + sdk/go/aws/gamelift/fleet.go | 8 +- sdk/go/aws/gamelift/pulumiTypes.go | 6 +- sdk/go/aws/globalaccelerator/pulumiTypes.go | 23 +- sdk/go/aws/mediaconnect/flow.go | 11 + sdk/go/aws/mediaconnect/getFlow.go | 7 + sdk/go/aws/mediaconnect/pulumiEnums.go | 170 + sdk/go/aws/mediaconnect/pulumiTypes.go | 144 + sdk/go/aws/medialive/channelPlacementGroup.go | 181 + .../aws/medialive/cloudWatchAlarmTemplate.go | 303 ++ .../medialive/cloudWatchAlarmTemplateGroup.go | 173 + sdk/go/aws/medialive/cluster.go | 185 + .../aws/medialive/eventBridgeRuleTemplate.go | 217 + .../medialive/eventBridgeRuleTemplateGroup.go | 173 + .../aws/medialive/getChannelPlacementGroup.go | 123 + .../medialive/getCloudWatchAlarmTemplate.go | 180 + .../getCloudWatchAlarmTemplateGroup.go | 109 + sdk/go/aws/medialive/getCluster.go | 117 + .../medialive/getEventBridgeRuleTemplate.go | 139 + .../getEventBridgeRuleTemplateGroup.go | 109 + sdk/go/aws/medialive/getNetwork.go | 126 + sdk/go/aws/medialive/getSdiSource.go | 122 + sdk/go/aws/medialive/getSignalMap.go | 175 + sdk/go/aws/medialive/init.go | 18 + sdk/go/aws/medialive/network.go | 181 + sdk/go/aws/medialive/pulumiEnums.go | 2217 ++++++++- sdk/go/aws/medialive/pulumiTypes.go | 900 ++++ sdk/go/aws/medialive/sdiSource.go | 173 + sdk/go/aws/medialive/signalMap.go | 264 ++ sdk/go/aws/paymentcryptography/pulumiEnums.go | 20 +- sdk/go/aws/paymentcryptography/pulumiTypes.go | 2 +- sdk/go/aws/pcaconnectorscep/challenge.go | 133 + sdk/go/aws/pcaconnectorscep/connector.go | 156 + sdk/go/aws/pcaconnectorscep/getChallenge.go | 79 + sdk/go/aws/pcaconnectorscep/getConnector.go | 94 + sdk/go/aws/pcaconnectorscep/init.go | 46 + sdk/go/aws/pcaconnectorscep/pulumiEnums.go | 106 + sdk/go/aws/pcaconnectorscep/pulumiTypes.go | 224 + sdk/go/aws/qbusiness/application.go | 8 +- sdk/go/aws/qbusiness/getApplication.go | 4 +- sdk/go/aws/quicksight/pulumiEnums.go | 338 ++ sdk/go/aws/quicksight/pulumiTypes.go | 293 +- sdk/go/aws/quicksight/pulumiTypes1.go | 272 +- sdk/go/aws/quicksight/pulumiTypes2.go | 594 ++- sdk/go/aws/quicksight/pulumiTypes3.go | 341 ++ sdk/go/aws/sagemaker/cluster.go | 207 + sdk/go/aws/sagemaker/getCluster.go | 119 + sdk/go/aws/sagemaker/init.go | 2 + sdk/go/aws/sagemaker/pulumiEnums.go | 881 +++- sdk/go/aws/sagemaker/pulumiTypes.go | 1784 ++++++++ sdk/go/aws/sns/getSubscription.go | 143 + sdk/go/aws/sns/init.go | 2 + sdk/go/aws/sns/subscription.go | 279 ++ sdk/go/aws/sns/topic.go | 156 + sdk/nodejs/amplify/app.ts | 14 + sdk/nodejs/amplify/getApp.ts | 6 + .../getServiceLevelObjective.ts | 10 +- .../serviceLevelObjective.ts | 29 +- sdk/nodejs/cloudformation/getStack.ts | 8 +- sdk/nodejs/cloudformation/stack.ts | 12 +- sdk/nodejs/codebuild/fleet.ts | 16 + sdk/nodejs/codebuild/getFleet.ts | 8 + sdk/nodejs/cognito/getUserPool.ts | 20 +- sdk/nodejs/cognito/getUserPoolClient.ts | 4 +- .../getUserPoolRiskConfigurationAttachment.ts | 10 +- sdk/nodejs/cognito/userPool.ts | 40 +- sdk/nodejs/cognito/userPoolClient.ts | 8 +- .../userPoolRiskConfigurationAttachment.ts | 16 +- sdk/nodejs/databrew/getRuleset.ts | 6 - sdk/nodejs/databrew/ruleset.ts | 6 +- sdk/nodejs/ecs/getService.ts | 9 +- sdk/nodejs/ecs/service.ts | 6 +- .../elasticloadbalancingv2/getListener.ts | 1 + sdk/nodejs/elasticloadbalancingv2/listener.ts | 4 + sdk/nodejs/gamelift/fleet.ts | 4 +- sdk/nodejs/index.ts | 2 + sdk/nodejs/mediaconnect/flow.ts | 14 +- sdk/nodejs/mediaconnect/getFlow.ts | 6 +- sdk/nodejs/medialive/channelPlacementGroup.ts | 126 + .../medialive/cloudWatchAlarmTemplate.ts | 219 + .../medialive/cloudWatchAlarmTemplateGroup.ts | 113 + sdk/nodejs/medialive/cluster.ts | 124 + .../medialive/eventBridgeRuleTemplate.ts | 155 + .../medialive/eventBridgeRuleTemplateGroup.ts | 113 + .../medialive/getChannelPlacementGroup.ts | 76 + .../medialive/getCloudWatchAlarmTemplate.ts | 83 + .../getCloudWatchAlarmTemplateGroup.ts | 54 + sdk/nodejs/medialive/getCluster.ts | 64 + .../medialive/getEventBridgeRuleTemplate.ts | 79 + .../getEventBridgeRuleTemplateGroup.ts | 54 + sdk/nodejs/medialive/getNetwork.ts | 71 + sdk/nodejs/medialive/getSdiSource.ts | 65 + sdk/nodejs/medialive/getSignalMap.ts | 75 + sdk/nodejs/medialive/index.ts | 108 + sdk/nodejs/medialive/network.ts | 127 + sdk/nodejs/medialive/sdiSource.ts | 115 + sdk/nodejs/medialive/signalMap.ts | 177 + sdk/nodejs/pcaconnectorscep/challenge.ts | 76 + sdk/nodejs/pcaconnectorscep/connector.ts | 92 + sdk/nodejs/pcaconnectorscep/getChallenge.ts | 35 + sdk/nodejs/pcaconnectorscep/getConnector.ts | 41 + sdk/nodejs/pcaconnectorscep/index.ts | 45 + sdk/nodejs/qbusiness/application.ts | 4 +- sdk/nodejs/qbusiness/getApplication.ts | 2 +- sdk/nodejs/sagemaker/cluster.ts | 140 + sdk/nodejs/sagemaker/getCluster.ts | 67 + sdk/nodejs/sagemaker/index.ts | 12 + sdk/nodejs/sns/getSubscription.ts | 79 + sdk/nodejs/sns/index.ts | 12 + sdk/nodejs/sns/subscription.ts | 200 + sdk/nodejs/sns/topic.ts | 90 + sdk/nodejs/tsconfig.json | 28 + sdk/nodejs/types/enums/amplify/index.ts | 16 + .../types/enums/applicationsignals/index.ts | 32 + sdk/nodejs/types/enums/codebuild/index.ts | 4 + sdk/nodejs/types/enums/ecs/index.ts | 1 + sdk/nodejs/types/enums/index.ts | 2 + sdk/nodejs/types/enums/mediaconnect/index.ts | 10 + sdk/nodejs/types/enums/medialive/index.ts | 193 + .../types/enums/paymentcryptography/index.ts | 2 + .../types/enums/pcaconnectorscep/index.ts | 10 + sdk/nodejs/types/enums/quicksight/index.ts | 14 + sdk/nodejs/types/enums/sagemaker/index.ts | 57 + sdk/nodejs/types/input.ts | 540 ++- sdk/nodejs/types/output.ts | 597 ++- sdk/python/pulumi_aws_native/__init__.py | 25 +- .../pulumi_aws_native/amplify/_enums.py | 15 + .../pulumi_aws_native/amplify/_inputs.py | 32 + sdk/python/pulumi_aws_native/amplify/app.py | 37 + .../pulumi_aws_native/amplify/get_app.py | 17 +- .../pulumi_aws_native/amplify/outputs.py | 28 + .../applicationsignals/_enums.py | 29 + .../applicationsignals/_inputs.py | 198 + .../get_service_level_objective.py | 30 +- .../applicationsignals/outputs.py | 232 + .../service_level_objective.py | 80 +- .../pulumi_aws_native/athena/_inputs.py | 4 +- .../pulumi_aws_native/athena/outputs.py | 4 +- .../cloudformation/get_stack.py | 8 +- .../pulumi_aws_native/cloudformation/stack.py | 20 +- .../pulumi_aws_native/codebuild/_enums.py | 4 + .../pulumi_aws_native/codebuild/fleet.py | 48 +- .../pulumi_aws_native/codebuild/get_fleet.py | 8 + .../pulumi_aws_native/cognito/_inputs.py | 232 +- .../cognito/get_user_pool.py | 20 +- .../cognito/get_user_pool_client.py | 4 +- ...user_pool_risk_configuration_attachment.py | 10 +- .../pulumi_aws_native/cognito/outputs.py | 232 +- .../pulumi_aws_native/cognito/user_pool.py | 80 +- .../cognito/user_pool_client.py | 16 +- ...user_pool_risk_configuration_attachment.py | 32 +- .../pulumi_aws_native/databrew/get_ruleset.py | 22 +- .../pulumi_aws_native/databrew/ruleset.py | 18 +- sdk/python/pulumi_aws_native/ecs/_enums.py | 1 + sdk/python/pulumi_aws_native/ecs/_inputs.py | 226 +- .../pulumi_aws_native/ecs/get_service.py | 9 +- sdk/python/pulumi_aws_native/ecs/outputs.py | 260 +- sdk/python/pulumi_aws_native/ecs/service.py | 12 +- .../elasticloadbalancingv2/_inputs.py | 30 + .../elasticloadbalancingv2/get_listener.py | 12 +- .../elasticloadbalancingv2/listener.py | 21 + .../elasticloadbalancingv2/outputs.py | 22 + .../pulumi_aws_native/gamelift/_inputs.py | 4 +- .../pulumi_aws_native/gamelift/fleet.py | 8 +- .../pulumi_aws_native/gamelift/outputs.py | 4 +- .../globalaccelerator/_inputs.py | 29 +- .../globalaccelerator/outputs.py | 23 +- .../pulumi_aws_native/mediaconnect/_enums.py | 9 + .../pulumi_aws_native/mediaconnect/_inputs.py | 24 + .../pulumi_aws_native/mediaconnect/flow.py | 37 +- .../mediaconnect/get_flow.py | 17 +- .../pulumi_aws_native/mediaconnect/outputs.py | 40 + .../pulumi_aws_native/medialive/__init__.py | 18 + .../pulumi_aws_native/medialive/_enums.py | 179 + .../pulumi_aws_native/medialive/_inputs.py | 171 + .../medialive/channel_placement_group.py | 248 + .../medialive/cloud_watch_alarm_template.py | 490 ++ .../cloud_watch_alarm_template_group.py | 218 + .../pulumi_aws_native/medialive/cluster.py | 263 ++ .../medialive/event_bridge_rule_template.py | 315 ++ .../event_bridge_rule_template_group.py | 218 + .../medialive/get_channel_placement_group.py | 152 + .../get_cloud_watch_alarm_template.py | 252 ++ .../get_cloud_watch_alarm_template_group.py | 126 + .../medialive/get_cluster.py | 145 + .../get_event_bridge_rule_template.py | 186 + .../get_event_bridge_rule_template_group.py | 126 + .../medialive/get_network.py | 161 + .../medialive/get_sdi_source.py | 154 + .../medialive/get_signal_map.py | 254 ++ .../pulumi_aws_native/medialive/network.py | 249 + .../pulumi_aws_native/medialive/outputs.py | 373 ++ .../pulumi_aws_native/medialive/sdi_source.py | 231 + .../pulumi_aws_native/medialive/signal_map.py | 391 ++ .../paymentcryptography/_enums.py | 2 + .../pcaconnectorscep/__init__.py | 14 + .../pcaconnectorscep/_enums.py | 14 + .../pcaconnectorscep/_inputs.py | 22 + .../pcaconnectorscep/challenge.py | 142 + .../pcaconnectorscep/connector.py | 187 + .../pcaconnectorscep/get_challenge.py | 71 + .../pcaconnectorscep/get_connector.py | 103 + .../pcaconnectorscep/outputs.py | 52 + .../qbusiness/application.py | 8 +- .../qbusiness/get_application.py | 2 +- .../pulumi_aws_native/quicksight/_enums.py | 12 + .../pulumi_aws_native/quicksight/_inputs.py | 60 + .../pulumi_aws_native/quicksight/outputs.py | 82 + .../pulumi_aws_native/sagemaker/__init__.py | 2 + .../pulumi_aws_native/sagemaker/_enums.py | 52 + .../pulumi_aws_native/sagemaker/_inputs.py | 514 +++ .../pulumi_aws_native/sagemaker/cluster.py | 296 ++ .../sagemaker/get_cluster.py | 148 + .../pulumi_aws_native/sagemaker/outputs.py | 624 ++- sdk/python/pulumi_aws_native/sns/__init__.py | 2 + .../pulumi_aws_native/sns/get_subscription.py | 169 + .../pulumi_aws_native/sns/subscription.py | 455 ++ sdk/python/pulumi_aws_native/sns/topic.py | 168 + 528 files changed, 44109 insertions(+), 3907 deletions(-) create mode 100644 aws-cloudformation-schema/aws-medialive-channelplacementgroup.json create mode 100644 aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplate.json create mode 100644 aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplategroup.json create mode 100644 aws-cloudformation-schema/aws-medialive-cluster.json create mode 100644 aws-cloudformation-schema/aws-medialive-eventbridgeruletemplate.json create mode 100644 aws-cloudformation-schema/aws-medialive-eventbridgeruletemplategroup.json create mode 100644 aws-cloudformation-schema/aws-medialive-network.json create mode 100644 aws-cloudformation-schema/aws-medialive-sdisource.json create mode 100644 aws-cloudformation-schema/aws-medialive-signalmap.json create mode 100644 aws-cloudformation-schema/aws-pcaconnectorscep-challenge.json create mode 100644 aws-cloudformation-schema/aws-pcaconnectorscep-connector.json create mode 100644 aws-cloudformation-schema/aws-sagemaker-cluster.json create mode 100644 sdk/dotnet/Amplify/Inputs/AppCacheConfigArgs.cs create mode 100644 sdk/dotnet/Amplify/Outputs/AppCacheConfig.cs create mode 100644 sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveMonitoredRequestCountMetricArgs.cs create mode 100644 sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliArgs.cs create mode 100644 sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliMetricArgs.cs create mode 100644 sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveMonitoredRequestCountMetric.cs create mode 100644 sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSli.cs create mode 100644 sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSliMetric.cs create mode 100644 sdk/dotnet/ElasticLoadBalancingV2/Inputs/ListenerAttributeArgs.cs create mode 100644 sdk/dotnet/ElasticLoadBalancingV2/Outputs/ListenerAttribute.cs create mode 100644 sdk/dotnet/MediaConnect/Inputs/FlowSourceMonitoringConfigArgs.cs create mode 100644 sdk/dotnet/MediaConnect/Outputs/FlowSourceMonitoringConfig.cs create mode 100644 sdk/dotnet/MediaLive/ChannelPlacementGroup.cs create mode 100644 sdk/dotnet/MediaLive/CloudWatchAlarmTemplate.cs create mode 100644 sdk/dotnet/MediaLive/CloudWatchAlarmTemplateGroup.cs create mode 100644 sdk/dotnet/MediaLive/Cluster.cs create mode 100644 sdk/dotnet/MediaLive/EventBridgeRuleTemplate.cs create mode 100644 sdk/dotnet/MediaLive/EventBridgeRuleTemplateGroup.cs create mode 100644 sdk/dotnet/MediaLive/GetChannelPlacementGroup.cs create mode 100644 sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplate.cs create mode 100644 sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplateGroup.cs create mode 100644 sdk/dotnet/MediaLive/GetCluster.cs create mode 100644 sdk/dotnet/MediaLive/GetEventBridgeRuleTemplate.cs create mode 100644 sdk/dotnet/MediaLive/GetEventBridgeRuleTemplateGroup.cs create mode 100644 sdk/dotnet/MediaLive/GetNetwork.cs create mode 100644 sdk/dotnet/MediaLive/GetSdiSource.cs create mode 100644 sdk/dotnet/MediaLive/GetSignalMap.cs create mode 100644 sdk/dotnet/MediaLive/Inputs/ClusterInterfaceMappingArgs.cs create mode 100644 sdk/dotnet/MediaLive/Inputs/ClusterNetworkSettingsArgs.cs create mode 100644 sdk/dotnet/MediaLive/Inputs/EventBridgeRuleTemplateTargetArgs.cs create mode 100644 sdk/dotnet/MediaLive/Inputs/NetworkIpPoolArgs.cs create mode 100644 sdk/dotnet/MediaLive/Inputs/NetworkRouteArgs.cs create mode 100644 sdk/dotnet/MediaLive/Network.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/ClusterInterfaceMapping.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/ClusterNetworkSettings.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/EventBridgeRuleTemplateTarget.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/NetworkIpPool.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/NetworkRoute.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/SignalMapMediaResource.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/SignalMapMediaResourceNeighbor.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/SignalMapMonitorDeployment.cs create mode 100644 sdk/dotnet/MediaLive/Outputs/SignalMapSuccessfulMonitorDeployment.cs create mode 100644 sdk/dotnet/MediaLive/SdiSource.cs create mode 100644 sdk/dotnet/MediaLive/SignalMap.cs create mode 100644 sdk/dotnet/PcaConnectorScep/Challenge.cs create mode 100644 sdk/dotnet/PcaConnectorScep/Connector.cs create mode 100644 sdk/dotnet/PcaConnectorScep/Enums.cs create mode 100644 sdk/dotnet/PcaConnectorScep/GetChallenge.cs create mode 100644 sdk/dotnet/PcaConnectorScep/GetConnector.cs create mode 100644 sdk/dotnet/PcaConnectorScep/Inputs/ConnectorMobileDeviceManagementArgs.cs create mode 100644 sdk/dotnet/PcaConnectorScep/Outputs/ConnectorMobileDeviceManagement.cs create mode 100644 sdk/dotnet/PcaConnectorScep/Outputs/ConnectorOpenIdConfiguration.cs create mode 100644 sdk/dotnet/PcaConnectorScep/README.md create mode 100644 sdk/dotnet/QuickSight/Inputs/AnalysisQueryExecutionOptionsArgs.cs create mode 100644 sdk/dotnet/QuickSight/Inputs/TemplateQueryExecutionOptionsArgs.cs create mode 100644 sdk/dotnet/QuickSight/Outputs/AnalysisQueryExecutionOptions.cs create mode 100644 sdk/dotnet/QuickSight/Outputs/TemplateQueryExecutionOptions.cs create mode 100644 sdk/dotnet/SageMaker/Cluster.cs create mode 100644 sdk/dotnet/SageMaker/GetCluster.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/ClusterInstanceStorageConfigArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/ClusterLifeCycleConfigArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorEksConfigArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/ClusterVpcConfigArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/DomainAppLifecycleManagementArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/DomainIdleSettingsArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/SpaceAppLifecycleManagementArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/SpaceIdleSettingsArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/UserProfileAppLifecycleManagementArgs.cs create mode 100644 sdk/dotnet/SageMaker/Inputs/UserProfileIdleSettingsArgs.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/ClusterInstanceStorageConfig.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/ClusterLifeCycleConfig.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/ClusterOrchestrator.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/ClusterOrchestratorEksConfig.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/ClusterVpcConfig.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/DomainAppLifecycleManagement.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/DomainIdleSettings.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/SpaceAppLifecycleManagement.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/SpaceIdleSettings.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/UserProfileAppLifecycleManagement.cs create mode 100644 sdk/dotnet/SageMaker/Outputs/UserProfileIdleSettings.cs create mode 100644 sdk/dotnet/Sns/GetSubscription.cs create mode 100644 sdk/dotnet/Sns/Subscription.cs create mode 100644 sdk/go/aws/medialive/channelPlacementGroup.go create mode 100644 sdk/go/aws/medialive/cloudWatchAlarmTemplate.go create mode 100644 sdk/go/aws/medialive/cloudWatchAlarmTemplateGroup.go create mode 100644 sdk/go/aws/medialive/cluster.go create mode 100644 sdk/go/aws/medialive/eventBridgeRuleTemplate.go create mode 100644 sdk/go/aws/medialive/eventBridgeRuleTemplateGroup.go create mode 100644 sdk/go/aws/medialive/getChannelPlacementGroup.go create mode 100644 sdk/go/aws/medialive/getCloudWatchAlarmTemplate.go create mode 100644 sdk/go/aws/medialive/getCloudWatchAlarmTemplateGroup.go create mode 100644 sdk/go/aws/medialive/getCluster.go create mode 100644 sdk/go/aws/medialive/getEventBridgeRuleTemplate.go create mode 100644 sdk/go/aws/medialive/getEventBridgeRuleTemplateGroup.go create mode 100644 sdk/go/aws/medialive/getNetwork.go create mode 100644 sdk/go/aws/medialive/getSdiSource.go create mode 100644 sdk/go/aws/medialive/getSignalMap.go create mode 100644 sdk/go/aws/medialive/network.go create mode 100644 sdk/go/aws/medialive/sdiSource.go create mode 100644 sdk/go/aws/medialive/signalMap.go create mode 100644 sdk/go/aws/pcaconnectorscep/challenge.go create mode 100644 sdk/go/aws/pcaconnectorscep/connector.go create mode 100644 sdk/go/aws/pcaconnectorscep/getChallenge.go create mode 100644 sdk/go/aws/pcaconnectorscep/getConnector.go create mode 100644 sdk/go/aws/pcaconnectorscep/init.go create mode 100644 sdk/go/aws/pcaconnectorscep/pulumiEnums.go create mode 100644 sdk/go/aws/pcaconnectorscep/pulumiTypes.go create mode 100644 sdk/go/aws/sagemaker/cluster.go create mode 100644 sdk/go/aws/sagemaker/getCluster.go create mode 100644 sdk/go/aws/sns/getSubscription.go create mode 100644 sdk/go/aws/sns/subscription.go create mode 100644 sdk/nodejs/medialive/channelPlacementGroup.ts create mode 100644 sdk/nodejs/medialive/cloudWatchAlarmTemplate.ts create mode 100644 sdk/nodejs/medialive/cloudWatchAlarmTemplateGroup.ts create mode 100644 sdk/nodejs/medialive/cluster.ts create mode 100644 sdk/nodejs/medialive/eventBridgeRuleTemplate.ts create mode 100644 sdk/nodejs/medialive/eventBridgeRuleTemplateGroup.ts create mode 100644 sdk/nodejs/medialive/getChannelPlacementGroup.ts create mode 100644 sdk/nodejs/medialive/getCloudWatchAlarmTemplate.ts create mode 100644 sdk/nodejs/medialive/getCloudWatchAlarmTemplateGroup.ts create mode 100644 sdk/nodejs/medialive/getCluster.ts create mode 100644 sdk/nodejs/medialive/getEventBridgeRuleTemplate.ts create mode 100644 sdk/nodejs/medialive/getEventBridgeRuleTemplateGroup.ts create mode 100644 sdk/nodejs/medialive/getNetwork.ts create mode 100644 sdk/nodejs/medialive/getSdiSource.ts create mode 100644 sdk/nodejs/medialive/getSignalMap.ts create mode 100644 sdk/nodejs/medialive/network.ts create mode 100644 sdk/nodejs/medialive/sdiSource.ts create mode 100644 sdk/nodejs/medialive/signalMap.ts create mode 100644 sdk/nodejs/pcaconnectorscep/challenge.ts create mode 100644 sdk/nodejs/pcaconnectorscep/connector.ts create mode 100644 sdk/nodejs/pcaconnectorscep/getChallenge.ts create mode 100644 sdk/nodejs/pcaconnectorscep/getConnector.ts create mode 100644 sdk/nodejs/pcaconnectorscep/index.ts create mode 100644 sdk/nodejs/sagemaker/cluster.ts create mode 100644 sdk/nodejs/sagemaker/getCluster.ts create mode 100644 sdk/nodejs/sns/getSubscription.ts create mode 100644 sdk/nodejs/sns/subscription.ts create mode 100644 sdk/nodejs/types/enums/pcaconnectorscep/index.ts create mode 100644 sdk/python/pulumi_aws_native/medialive/channel_placement_group.py create mode 100644 sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template.py create mode 100644 sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template_group.py create mode 100644 sdk/python/pulumi_aws_native/medialive/cluster.py create mode 100644 sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template.py create mode 100644 sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template_group.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_channel_placement_group.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template_group.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_cluster.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template_group.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_network.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_sdi_source.py create mode 100644 sdk/python/pulumi_aws_native/medialive/get_signal_map.py create mode 100644 sdk/python/pulumi_aws_native/medialive/network.py create mode 100644 sdk/python/pulumi_aws_native/medialive/sdi_source.py create mode 100644 sdk/python/pulumi_aws_native/medialive/signal_map.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/__init__.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/_enums.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/_inputs.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/challenge.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/connector.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/get_challenge.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/get_connector.py create mode 100644 sdk/python/pulumi_aws_native/pcaconnectorscep/outputs.py create mode 100644 sdk/python/pulumi_aws_native/sagemaker/cluster.py create mode 100644 sdk/python/pulumi_aws_native/sagemaker/get_cluster.py create mode 100644 sdk/python/pulumi_aws_native/sns/get_subscription.py create mode 100644 sdk/python/pulumi_aws_native/sns/subscription.py diff --git a/.docs.version b/.docs.version index c6ee73cb4c..a35b2cdbac 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -45ec17445a2f8340a6a9d38eafcc27cf4948330d +9ea4e5e5a2d391006847df2e27449ac4f2ff8fdb diff --git a/aws-cloudformation-schema/aws-amplify-app.json b/aws-cloudformation-schema/aws-amplify-app.json index 2474a42145..6d6ee156c3 100644 --- a/aws-cloudformation-schema/aws-amplify-app.json +++ b/aws-cloudformation-schema/aws-amplify-app.json @@ -1,6 +1,7 @@ { "typeName" : "AWS::Amplify::App", "description" : "The AWS::Amplify::App resource creates Apps in the Amplify Console. An App is a collection of branches.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-amplify", "additionalProperties" : false, "properties" : { "AccessToken" : { @@ -37,6 +38,9 @@ "maxLength" : 25000, "pattern" : "(?s).+" }, + "CacheConfig" : { + "$ref" : "#/definitions/CacheConfig" + }, "CustomHeaders" : { "type" : "string", "minLength" : 0, @@ -179,6 +183,16 @@ } } }, + "CacheConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Type" : { + "type" : "string", + "enum" : [ "AMPLIFY_MANAGED", "AMPLIFY_MANAGED_NO_COOKIES" ] + } + } + }, "CustomRule" : { "type" : "object", "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-applicationsignals-servicelevelobjective.json b/aws-cloudformation-schema/aws-applicationsignals-servicelevelobjective.json index e430536137..c89aadab8f 100644 --- a/aws-cloudformation-schema/aws-applicationsignals-servicelevelobjective.json +++ b/aws-cloudformation-schema/aws-applicationsignals-servicelevelobjective.json @@ -34,6 +34,14 @@ "Sli" : { "$ref" : "#/definitions/Sli" }, + "RequestBasedSli" : { + "$ref" : "#/definitions/RequestBasedSli" + }, + "EvaluationType" : { + "description" : "Displays whether this is a period-based SLO or a request-based SLO.", + "type" : "string", + "enum" : [ "PeriodBased", "RequestBased" ] + }, "Goal" : { "$ref" : "#/definitions/Goal" }, @@ -41,8 +49,8 @@ "$ref" : "#/definitions/Tags" } }, - "required" : [ "Name", "Sli" ], - "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/LastUpdatedTime" ], + "required" : [ "Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedTime", "/properties/LastUpdatedTime", "/properties/EvaluationType" ], "primaryIdentifier" : [ "/properties/Arn" ], "createOnlyProperties" : [ "/properties/Name" ], "definitions" : { @@ -66,6 +74,26 @@ }, "required" : [ "SliMetric", "MetricThreshold", "ComparisonOperator" ] }, + "RequestBasedSli" : { + "description" : "This structure contains information about the performance metric that a request-based SLO monitors.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RequestBasedSliMetric" : { + "$ref" : "#/definitions/RequestBasedSliMetric" + }, + "MetricThreshold" : { + "description" : "The value that the SLI metric is compared to.", + "type" : "number" + }, + "ComparisonOperator" : { + "description" : "The arithmetic operation used when comparing the specified metric to the threshold.", + "type" : "string", + "enum" : [ "GreaterThanOrEqualTo", "LessThanOrEqualTo", "LessThan", "GreaterThan" ] + } + }, + "required" : [ "RequestBasedSliMetric" ] + }, "Goal" : { "description" : "A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.", "type" : "object", @@ -120,6 +148,49 @@ } } }, + "RequestBasedSliMetric" : { + "description" : "This structure contains the information about the metric that is used for a request-based SLO.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "KeyAttributes" : { + "$ref" : "#/definitions/KeyAttributes" + }, + "OperationName" : { + "description" : "If the SLO monitors a specific operation of the service, this field displays that operation name.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MetricType" : { + "description" : "If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.", + "type" : "string", + "enum" : [ "LATENCY", "AVAILABILITY" ] + }, + "TotalRequestCountMetric" : { + "description" : "This structure defines the metric that is used as the \"total requests\" number for a request-based SLO. The number observed for this metric is divided by the number of \"good requests\" or \"bad requests\" that is observed for the metric defined in `MonitoredRequestCountMetric`.", + "$ref" : "#/definitions/MetricDataQueries" + }, + "MonitoredRequestCountMetric" : { + "$ref" : "#/definitions/MonitoredRequestCountMetric" + } + } + }, + "MonitoredRequestCountMetric" : { + "description" : "This structure defines the metric that is used as the \"good request\" or \"bad request\" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "GoodCountMetric" : { + "description" : "If you want to count \"good requests\" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as \"good requests\" in this structure.", + "$ref" : "#/definitions/MetricDataQueries" + }, + "BadCountMetric" : { + "description" : "If you want to count \"bad requests\" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as \"bad requests\" in this structure.", + "$ref" : "#/definitions/MetricDataQueries" + } + } + }, "KeyAttributes" : { "description" : "This is a string-to-string map that contains information about the type of object that this SLO is related to.", "patternProperties" : { @@ -339,6 +410,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "application-signals:ListTagsForResource", "application-signals:TagResource", "application-signals:UntagResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-databrew-ruleset.json b/aws-cloudformation-schema/aws-databrew-ruleset.json index 7f9f432e6f..b215cc3525 100644 --- a/aws-cloudformation-schema/aws-databrew-ruleset.json +++ b/aws-cloudformation-schema/aws-databrew-ruleset.json @@ -184,7 +184,7 @@ "additionalProperties" : false, "required" : [ "Name", "TargetArn", "Rules" ], "primaryIdentifier" : [ "/properties/Name" ], - "createOnlyProperties" : [ "/properties/Name", "/properties/TargetArn" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/TargetArn", "/properties/Tags" ], "handlers" : { "create" : { "permissions" : [ "databrew:CreateRuleset", "databrew:TagResource", "databrew:UntagResource", "iam:PassRole" ] diff --git a/aws-cloudformation-schema/aws-ec2-dhcpoptions.json b/aws-cloudformation-schema/aws-ec2-dhcpoptions.json index 0255e9a257..2488f01bd8 100644 --- a/aws-cloudformation-schema/aws-ec2-dhcpoptions.json +++ b/aws-cloudformation-schema/aws-ec2-dhcpoptions.json @@ -76,7 +76,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "ec2:CreateTags", "ec2:DeleteTags" ] }, "createOnlyProperties" : [ "/properties/NetbiosNameServers", "/properties/NetbiosNodeType", "/properties/NtpServers", "/properties/DomainName", "/properties/DomainNameServers", "/properties/Ipv6AddressPreferredLeaseTime" ], "readOnlyProperties" : [ "/properties/DhcpOptionsId" ], diff --git a/aws-cloudformation-schema/aws-ec2-vpcpeeringconnection.json b/aws-cloudformation-schema/aws-ec2-vpcpeeringconnection.json index 1d0c0431f1..4c7ee60ba5 100644 --- a/aws-cloudformation-schema/aws-ec2-vpcpeeringconnection.json +++ b/aws-cloudformation-schema/aws-ec2-vpcpeeringconnection.json @@ -1,5 +1,6 @@ { "tagging" : { + "permissions" : [ "ec2:CreateTags", "ec2:DeleteTags" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, diff --git a/aws-cloudformation-schema/aws-ecs-service.json b/aws-cloudformation-schema/aws-ecs-service.json index 97ea625a6c..3e53b1adc4 100644 --- a/aws-cloudformation-schema/aws-ecs-service.json +++ b/aws-cloudformation-schema/aws-ecs-service.json @@ -1,647 +1,650 @@ { + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, + "handlers" : { + "read" : { + "permissions" : [ "ecs:DescribeServices" ] + }, + "create" : { + "permissions" : [ "ecs:CreateService", "ecs:DescribeServices", "iam:PassRole", "ecs:TagResource" ], + "timeoutInMinutes" : 180 + }, + "update" : { + "permissions" : [ "ecs:DescribeServices", "ecs:ListTagsForResource", "ecs:TagResource", "ecs:UntagResource", "ecs:UpdateService" ], + "timeoutInMinutes" : 180 + }, + "list" : { + "permissions" : [ "ecs:DescribeServices", "ecs:ListClusters", "ecs:ListServices" ] + }, + "delete" : { + "permissions" : [ "ecs:DeleteService", "ecs:DescribeServices" ], + "timeoutInMinutes" : 30 + } + }, "typeName" : "AWS::ECS::Service", - "description" : "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", + "readOnlyProperties" : [ "/properties/ServiceArn", "/properties/Name" ], + "description" : "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", + "writeOnlyProperties" : [ "/properties/ServiceConnectConfiguration", "/properties/VolumeConfigurations" ], + "createOnlyProperties" : [ "/properties/Cluster", "/properties/DeploymentController", "/properties/LaunchType", "/properties/Role", "/properties/SchedulingStrategy", "/properties/ServiceName" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/ServiceArn", "/properties/Cluster" ], "definitions" : { - "AwsVpcConfiguration" : { + "CapacityProviderStrategyItem" : { + "description" : "The details of a capacity provider strategy. A capacity provider strategy can be set when using the ``RunTask`` or ``CreateService`` APIs or as the default capacity provider strategy for a cluster with the ``CreateCluster`` API.\n Only capacity providers that are already associated with a cluster and have an ``ACTIVE`` or ``UPDATING`` status can be used in a capacity provider strategy. The ``PutClusterCapacityProviders`` API is used to associate a capacity provider with a cluster.\n If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the ``CreateCapacityProvider`` API operation.\n To use an FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.", + "additionalProperties" : false, "type" : "object", "properties" : { - "AssignPublicIp" : { - "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ], - "description" : "Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``." + "CapacityProvider" : { + "description" : "The short name of the capacity provider.", + "type" : "string" }, - "SecurityGroups" : { - "type" : "array", - "items" : { - "type" : "string" - }, - "description" : "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``.\n All specified security groups must be from the same VPC." + "Base" : { + "description" : "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of ``0`` is used.", + "type" : "integer" }, - "Subnets" : { - "type" : "array", - "items" : { - "type" : "string" - }, - "description" : "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``.\n All specified subnets must be from the same VPC." + "Weight" : { + "description" : "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The ``weight`` value is taken into consideration after the ``base`` value, if defined, is satisfied.\n If no ``weight`` value is specified, the default value of ``0`` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of ``0`` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of ``0``, any ``RunTask`` or ``CreateService`` actions using the capacity provider strategy will fail.\n An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of ``1``, then when the ``base`` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of ``1`` for *capacityProviderA* and a weight of ``4`` for *capacityProviderB*, then for every one task that's run using *capacityProviderA*, four tasks would use *capacityProviderB*.", + "type" : "integer" } - }, - "additionalProperties" : false, - "description" : "An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=[\"subnet-12344321\"],securityGroups=[\"sg-12344321\"]}``" + } }, - "CapacityProviderStrategyItem" : { + "TimeoutConfiguration" : { + "description" : "An object that represents the timeout configurations for Service Connect.\n If ``idleTimeout`` is set to a time that is less than ``perRequestTimeout``, the connection will close when the ``idleTimeout`` is reached and not the ``perRequestTimeout``.", + "additionalProperties" : false, "type" : "object", "properties" : { - "Base" : { - "type" : "integer", - "description" : "The *base* value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a *base* defined. If no value is specified, the default value of ``0`` is used." - }, - "CapacityProvider" : { - "type" : "string", - "description" : "The short name of the capacity provider." + "PerRequestTimeoutSeconds" : { + "description" : "The amount of time waiting for the upstream to respond with a complete response per request. A value of ``0`` can be set to disable ``perRequestTimeout``. ``perRequestTimeout`` can only be set if Service Connect ``appProtocol`` isn't ``TCP``. Only ``idleTimeout`` is allowed for ``TCP`` ``appProtocol``.", + "type" : "integer" }, - "Weight" : { - "type" : "integer", - "description" : "The *weight* value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The ``weight`` value is taken into consideration after the ``base`` value, if defined, is satisfied.\n If no ``weight`` value is specified, the default value of ``0`` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of ``0`` can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of ``0``, any ``RunTask`` or ``CreateService`` actions using the capacity provider strategy will fail.\n An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of ``1``, then when the ``base`` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of ``1`` for *capacityProviderA* and a weight of ``4`` for *capacityProviderB*, then for every one task that's run using *capacityProviderA*, four tasks would use *capacityProviderB*." + "IdleTimeoutSeconds" : { + "description" : "The amount of time in seconds a connection will stay active while idle. A value of ``0`` can be set to disable ``idleTimeout``.\n The ``idleTimeout`` default for ``HTTP``/``HTTP2``/``GRPC`` is 5 minutes.\n The ``idleTimeout`` default for ``TCP`` is 1 hour.", + "type" : "integer" } - }, - "additionalProperties" : false, - "description" : "The details of a capacity provider strategy. A capacity provider strategy can be set when using the ``RunTask`` or ``CreateService`` APIs or as the default capacity provider strategy for a cluster with the ``CreateCluster`` API.\n Only capacity providers that are already associated with a cluster and have an ``ACTIVE`` or ``UPDATING`` status can be used in a capacity provider strategy. The ``PutClusterCapacityProviders`` API is used to associate a capacity provider with a cluster.\n If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the ``CreateCapacityProvider`` API operation.\n To use an FARGATElong capacity provider, specify either the ``FARGATE`` or ``FARGATE_SPOT`` capacity providers. The FARGATElong capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy." + } }, "DeploymentAlarms" : { + "description" : "One of the methods which provide a way for you to quickly identify when a deployment has failed, and then to optionally roll back the failure to the last working deployment.\n When the alarms are generated, Amazon ECS sets the service deployment to failed. Set the rollback parameter to have Amazon ECS to roll back your service to the last completed deployment after a failure.\n You can only use the ``DeploymentAlarms`` method to detect failures when the ``DeploymentController`` is set to ``ECS`` (rolling update).\n For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties" : false, "type" : "object", "properties" : { "AlarmNames" : { + "description" : "One or more CloudWatch alarm names. Use a \",\" to separate the alarms.", "type" : "array", "items" : { "type" : "string" - }, - "description" : "One or more CloudWatch alarm names. Use a \",\" to separate the alarms." - }, - "Rollback" : { - "type" : "boolean", - "description" : "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully." + } }, "Enable" : { - "type" : "boolean", - "description" : "Determines whether to use the CloudWatch alarm option in the service deployment process." + "description" : "Determines whether to use the CloudWatch alarm option in the service deployment process.", + "type" : "boolean" + }, + "Rollback" : { + "description" : "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", + "type" : "boolean" } }, - "required" : [ "AlarmNames", "Rollback", "Enable" ], - "additionalProperties" : false, - "description" : "One of the methods which provide a way for you to quickly identify when a deployment has failed, and then to optionally roll back the failure to the last working deployment.\n When the alarms are generated, Amazon ECS sets the service deployment to failed. Set the rollback parameter to have Amazon ECS to roll back your service to the last completed deployment after a failure.\n You can only use the ``DeploymentAlarms`` method to detect failures when the ``DeploymentController`` is set to ``ECS`` (rolling update).\n For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*." + "required" : [ "AlarmNames", "Rollback", "Enable" ] }, - "DeploymentCircuitBreaker" : { + "ServiceConnectTlsCertificateAuthority" : { + "description" : "The certificate root authority that secures your service.", + "additionalProperties" : false, "type" : "object", "properties" : { - "Enable" : { - "type" : "boolean", - "description" : "Determines whether to use the deployment circuit breaker logic for the service." - }, - "Rollback" : { - "type" : "boolean", - "description" : "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully." + "AwsPcaAuthorityArn" : { + "description" : "The ARN of the AWS Private Certificate Authority certificate.", + "type" : "string" } - }, - "required" : [ "Enable", "Rollback" ], - "additionalProperties" : false, - "description" : "The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type.\n The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If it is turned on, a service deployment will transition to a failed state and stop launching new tasks. You can also configure Amazon ECS to roll back your service to the last completed deployment after a failure. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about API failure reasons, see [API failure reasons](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html) in the *Amazon Elastic Container Service Developer Guide*." + } }, - "DeploymentConfiguration" : { + "LoadBalancer" : { + "description" : "The ``LoadBalancer`` property specifies details on a load balancer that is used with a service.\n If the service is using the ``CODE_DEPLOY`` deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an ACDlong deployment group, you specify two target groups (referred to as a ``targetGroupPair``). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.\n Services with tasks that use the ``awsvpc`` network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ``ip`` as the target type, not ``instance``. Tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance.", + "additionalProperties" : false, "type" : "object", "properties" : { - "DeploymentCircuitBreaker" : { - "$ref" : "#/definitions/DeploymentCircuitBreaker", - "description" : "The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type.\n The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*" + "TargetGroupArn" : { + "description" : "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.\n A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. \n For services using the ``ECS`` deployment controller, you can specify one or multiple target groups. For more information, see [Registering multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) in the *Amazon Elastic Container Service Developer Guide*.\n For services using the ``CODE_DEPLOY`` deployment controller, you're required to define two target groups for the load balancer. For more information, see [Blue/green deployment with CodeDeploy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) in the *Amazon Elastic Container Service Developer Guide*.\n If your service's task definition uses the ``awsvpc`` network mode, you must choose ``ip`` as the target type, not ``instance``. Do this when creating your target groups because tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.", + "type" : "string" }, - "MaximumPercent" : { - "type" : "integer", - "description" : "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service." + "LoadBalancerName" : { + "description" : "The name of the load balancer to associate with the Amazon ECS service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.", + "type" : "string" }, - "MinimumHealthyPercent" : { - "type" : "integer", - "description" : "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service." + "ContainerName" : { + "description" : "The name of the container (as it appears in a container definition) to associate with the load balancer.\n You need to specify the container name when configuring the target group for an Amazon ECS load balancer.", + "type" : "string" }, - "Alarms" : { - "$ref" : "#/definitions/DeploymentAlarms", - "description" : "Information about the CloudWatch alarms." + "ContainerPort" : { + "description" : "The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping.", + "type" : "integer" } - }, - "additionalProperties" : false, - "description" : "The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + } }, - "DeploymentController" : { + "PlacementStrategy" : { + "description" : "The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties" : false, "type" : "object", "properties" : { + "Field" : { + "description" : "The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used.", + "type" : "string" + }, "Type" : { + "description" : "The type of placement strategy. The ``random`` placement strategy randomly places tasks on available candidates. The ``spread`` placement strategy spreads placement across available candidates evenly based on the ``field`` parameter. The ``binpack`` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the ``field`` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.", "type" : "string", - "enum" : [ "CODE_DEPLOY", "ECS", "EXTERNAL" ], - "description" : "The deployment controller type to use. There are three deployment controller types available:\n + ECS The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration. + CODE_DEPLOY The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by , which allows you to verify a new deployment of a service before sending production traffic to it. + EXTERNAL The external (EXTERNAL) deployment type enables you to use any third-party deployment controller for full control over the deployment process for an Amazon ECS service." + "enum" : [ "binpack", "random", "spread" ] } }, - "additionalProperties" : false, - "description" : "The deployment controller to use for the service. For more information, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) in the *Amazon Elastic Container Service Developer Guide*." + "required" : [ "Type" ] }, - "EBSTagSpecification" : { + "ServiceConnectConfiguration" : { + "description" : "The Service Connect configuration of your Amazon ECS service. The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties" : false, "type" : "object", - "required" : [ "ResourceType" ], "properties" : { - "ResourceType" : { - "type" : "string", - "description" : "The type of volume resource." - }, - "Tags" : { + "Services" : { + "description" : "The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service. \n This field is not required for a \"client\" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.\n An object selects a port from the task definition, assigns a name for the CMAPlong service, and a list of aliases (endpoints) and ports for client applications to refer to this service.", "type" : "array", "items" : { - "$ref" : "#/definitions/Tag" - }, - "description" : "The tags applied to this Amazon EBS volume. ``AmazonECSCreated`` and ``AmazonECSManaged`` are reserved tags that can't be used." + "$ref" : "#/definitions/ServiceConnectService" + } }, - "PropagateTags" : { - "type" : "string", - "enum" : [ "SERVICE", "TASK_DEFINITION" ], - "description" : "Determines whether to propagate the tags from the task definition to 
the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in 
``ServiceVolumeConfiguration``. If no value is specified, the tags aren't 
propagated." + "Enabled" : { + "description" : "Specifies whether to use Service Connect with this service.", + "type" : "boolean" + }, + "LogConfiguration" : { + "description" : "The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", + "$ref" : "#/definitions/LogConfiguration" + }, + "Namespace" : { + "description" : "The namespace name or full Amazon Resource Name (ARN) of the CMAPlong namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about CMAPlong, see [Working with Services](https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html) in the *Developer Guide*.", + "type" : "string" } }, - "description" : "The tag specifications of an Amazon EBS volume." + "required" : [ "Enabled" ] }, - "LoadBalancer" : { + "ServiceConnectTlsConfiguration" : { + "description" : "The key that encrypts and decrypts your resources for Service Connect TLS.", + "additionalProperties" : false, "type" : "object", "properties" : { - "ContainerName" : { - "type" : "string", - "description" : "The name of the container (as it appears in a container definition) to associate with the load balancer.\n You need to specify the container name when configuring the target group for an Amazon ECS load balancer." - }, - "ContainerPort" : { - "type" : "integer", - "description" : "The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping." + "IssuerCertificateAuthority" : { + "description" : "The signer certificate authority.", + "$ref" : "#/definitions/ServiceConnectTlsCertificateAuthority" }, - "LoadBalancerName" : { - "type" : "string", - "description" : "The name of the load balancer to associate with the Amazon ECS service or task set.\n If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted." + "KmsKey" : { + "description" : "The AWS Key Management Service key.", + "type" : "string" }, - "TargetGroupArn" : { - "type" : "string", - "description" : "The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.\n A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. \n For services using the ``ECS`` deployment controller, you can specify one or multiple target groups. For more information, see [Registering multiple target groups with a service](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) in the *Amazon Elastic Container Service Developer Guide*.\n For services using the ``CODE_DEPLOY`` deployment controller, you're required to define two target groups for the load balancer. For more information, see [Blue/green deployment with CodeDeploy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) in the *Amazon Elastic Container Service Developer Guide*.\n If your service's task definition uses the ``awsvpc`` network mode, you must choose ``ip`` as the target type, not ``instance``. Do this when creating your target groups because tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type." + "RoleArn" : { + "description" : "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.", + "type" : "string" } }, + "required" : [ "IssuerCertificateAuthority" ] + }, + "DeploymentController" : { + "description" : "The deployment controller to use for the service. For more information, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) in the *Amazon Elastic Container Service Developer Guide*.", "additionalProperties" : false, - "description" : "The ``LoadBalancer`` property specifies details on a load balancer that is used with a service.\n If the service is using the ``CODE_DEPLOY`` deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When you are creating an ACDlong deployment group, you specify two target groups (referred to as a ``targetGroupPair``). Each target group binds to a separate task set in the deployment. The load balancer can also have up to two listeners, a required listener for production traffic and an optional listener that allows you to test new revisions of the service before routing production traffic to it.\n Services with tasks that use the ``awsvpc`` network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ``ip`` as the target type, not ``instance``. Tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance." + "type" : "object", + "properties" : { + "Type" : { + "description" : "The deployment controller type to use. There are three deployment controller types available:\n + ECS The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration. + CODE_DEPLOY The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by , which allows you to verify a new deployment of a service before sending production traffic to it. + EXTERNAL The external (EXTERNAL) deployment type enables you to use any third-party deployment controller for full control over the deployment process for an Amazon ECS service.", + "type" : "string", + "enum" : [ "CODE_DEPLOY", "ECS", "EXTERNAL" ] + } + } }, "LogConfiguration" : { + "description" : "The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", + "additionalProperties" : false, "type" : "object", "properties" : { - "LogDriver" : { - "type" : "string", - "description" : "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software." + "SecretOptions" : { + "description" : "The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Secret" + } }, "Options" : { - "type" : "object", "patternProperties" : { ".{1,}" : { "type" : "string" } }, + "description" : "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", "additionalProperties" : false, - "description" : "The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" + "type" : "object" }, - "SecretOptions" : { - "type" : "array", - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/Secret" - }, - "description" : "The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*." + "LogDriver" : { + "description" : "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software.", + "type" : "string" } - }, - "additionalProperties" : false, - "description" : "The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/).\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to." + } }, - "NetworkConfiguration" : { - "type" : "object", - "properties" : { - "AwsvpcConfiguration" : { - "$ref" : "#/definitions/AwsVpcConfiguration", - "description" : "The VPC subnets and security groups that are associated with a task.\n All specified subnets and security groups must be from the same VPC." - } - }, + "Secret" : { + "description" : "An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:\n + To inject sensitive data into your containers as environment variables, use the ``secrets`` container definition parameter.\n + To reference sensitive information in the log configuration of a container, use the ``secretOptions`` container definition parameter.\n \n For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*.", "additionalProperties" : false, - "description" : "The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service." - }, - "PlacementConstraint" : { "type" : "object", + "required" : [ "Name", "ValueFrom" ], "properties" : { - "Expression" : { - "type" : "string", - "description" : "A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is ``distinctInstance``. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*." + "ValueFrom" : { + "description" : "The secret to expose to the container. The supported values are either the full ARN of the ASMlong secret or the full ARN of the parameter in the SSM Parameter Store.\n For information about the require IAMlong permissions, see [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html#secrets-iam) (for Secrets Manager) or [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-parameters.html) (for Systems Manager Parameter store) in the *Amazon Elastic Container Service Developer Guide*.\n If the SSM Parameter Store parameter exists in the same Region as the task you're launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.", + "type" : "string" }, - "Type" : { - "type" : "string", - "enum" : [ "distinctInstance", "memberOf" ], - "description" : "The type of constraint. Use ``distinctInstance`` to ensure that each task in a particular group is running on a different container instance. Use ``memberOf`` to restrict the selection to a group of valid candidates." + "Name" : { + "description" : "The name of the secret.", + "type" : "string" } - }, - "required" : [ "Type" ], - "additionalProperties" : false, - "description" : "The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*." + } }, - "PlacementStrategy" : { + "AwsVpcConfiguration" : { + "description" : "An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=[\"subnet-12344321\"],securityGroups=[\"sg-12344321\"]}``.", + "additionalProperties" : false, "type" : "object", "properties" : { - "Field" : { - "type" : "string", - "description" : "The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used." + "SecurityGroups" : { + "description" : "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``.\n All specified security groups must be from the same VPC.", + "type" : "array", + "items" : { + "type" : "string" + } }, - "Type" : { + "Subnets" : { + "description" : "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``.\n All specified subnets must be from the same VPC.", + "type" : "array", + "items" : { + "type" : "string" + } + }, + "AssignPublicIp" : { + "description" : "Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``.", "type" : "string", - "enum" : [ "binpack", "random", "spread" ], - "description" : "The type of placement strategy. The ``random`` placement strategy randomly places tasks on available candidates. The ``spread`` placement strategy spreads placement across available candidates evenly based on the ``field`` parameter. The ``binpack`` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the ``field`` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task." + "enum" : [ "DISABLED", "ENABLED" ] } - }, - "required" : [ "Type" ], - "additionalProperties" : false, - "description" : "The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*." + } }, - "Secret" : { + "PlacementConstraint" : { + "description" : "An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you're using the Fargate launch type, task placement constraints aren't supported.", + "additionalProperties" : false, "type" : "object", - "required" : [ "Name", "ValueFrom" ], "properties" : { - "Name" : { + "Type" : { + "description" : "The type of constraint. Use ``distinctInstance`` to ensure that each task in a particular group is running on a different container instance. Use ``memberOf`` to restrict the selection to a group of valid candidates.", "type" : "string", - "description" : "The name of the secret." + "enum" : [ "distinctInstance", "memberOf" ] }, - "ValueFrom" : { - "type" : "string", - "description" : "The secret to expose to the container. The supported values are either the full ARN of the ASMlong secret or the full ARN of the parameter in the SSM Parameter Store.\n For information about the require IAMlong permissions, see [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html#secrets-iam) (for Secrets Manager) or [Required IAM permissions for Amazon ECS secrets](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-parameters.html) (for Systems Manager Parameter store) in the *Amazon Elastic Container Service Developer Guide*.\n If the SSM Parameter Store parameter exists in the same Region as the task you're launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified." + "Expression" : { + "description" : "A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is ``distinctInstance``. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type" : "string" } }, - "additionalProperties" : false, - "description" : "An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:\n + To inject sensitive data into your containers as environment variables, use the ``secrets`` container definition parameter.\n + To reference sensitive information in the log configuration of a container, use the ``secretOptions`` container definition parameter.\n \n For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*." + "required" : [ "Type" ] }, - "ServiceConnectClientAlias" : { - "type" : "object", - "properties" : { - "Port" : { - "type" : "integer", - "description" : "The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.\n To avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*." - }, - "DnsName" : { - "type" : "string", - "description" : "The ``dnsName`` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen.\n If this parameter isn't specified, the default value of ``discoveryName.namespace`` is used. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.\n To avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are ``database``, ``db``, or the lowercase name of a database, such as ``mysql`` or ``redis``. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*." - } - }, - "required" : [ "Port" ], + "ServiceManagedEBSVolumeConfiguration" : { + "description" : "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters.", "additionalProperties" : false, - "description" : "Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks (\"clients\") can use to connect to this service.\n Each name and port mapping must be unique within the namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*." - }, - "ServiceConnectConfiguration" : { "type" : "object", + "required" : [ "RoleArn" ], "properties" : { - "Enabled" : { - "type" : "boolean", - "description" : "Specifies whether to use Service Connect with this service." + "SnapshotId" : { + "description" : "The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot ID or a volume size. This parameter maps 1:1 with the ``SnapshotId`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", + "type" : "string" }, - "Namespace" : { - "type" : "string", - "description" : "The namespace name or full Amazon Resource Name (ARN) of the CMAPlong namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about CMAPlong, see [Working with Services](https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html) in the *Developer Guide*." + "VolumeType" : { + "description" : "The volume type. This parameter maps 1:1 with the ``VolumeType`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) in the *Amazon EC2 User Guide*.\n The following are the supported volume types.\n + General Purpose SSD: ``gp2``|``gp3`` \n + Provisioned IOPS SSD: ``io1``|``io2`` \n + Throughput Optimized HDD: ``st1`` \n + Cold HDD: ``sc1`` \n + Magnetic: ``standard`` \n The magnetic volume type is not supported on Fargate.", + "type" : "string" }, - "Services" : { + "KmsKeyId" : { + "description" : "The Amazon Resource Name (ARN) identifier of the AWS Key Management Service key to use for Amazon EBS encryption. When encryption is turned on and no AWS Key Management Service key is specified, the default AWS managed key for Amazon EBS volumes is used. This parameter maps 1:1 with the ``KmsKeyId`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n AWS authenticates the AWS Key Management Service key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid, the action can appear to complete, but eventually fails.", + "type" : "string" + }, + "TagSpecifications" : { + "description" : "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", "type" : "array", "items" : { - "$ref" : "#/definitions/ServiceConnectService" - }, - "description" : "The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service. \n This field is not required for a \"client\" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means.\n An object selects a port from the task definition, assigns a name for the CMAPlong service, and a list of aliases (endpoints) and ports for client applications to refer to this service." + "$ref" : "#/definitions/EBSTagSpecification" + } }, - "LogConfiguration" : { - "$ref" : "#/definitions/LogConfiguration", - "description" : "The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/).\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to." - } - }, - "required" : [ "Enabled" ], - "additionalProperties" : false, - "description" : "The Service Connect configuration of your Amazon ECS service. The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*." - }, - "ServiceConnectService" : { - "type" : "object", - "properties" : { - "PortName" : { - "type" : "string", - "description" : "The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service." + "FilesystemType" : { + "description" : "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are
 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default.", + "type" : "string" }, - "DiscoveryName" : { - "type" : "string", - "description" : "The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``." + "Encrypted" : { + "description" : "Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", + "type" : "boolean" }, - "ClientAliases" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/ServiceConnectClientAlias" - }, - "description" : "The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.\n Each alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS tasks (\"clients\") can use to connect to this service.\n Each name and port mapping must be unique within the namespace.\n For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``." + "Throughput" : { + "description" : "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n This parameter is only supported for the ``gp3`` volume type.", + "type" : "integer" }, - "IngressPortOverride" : { - "type" : "integer", - "description" : "The port number for the Service Connect proxy to listen on.\n Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.\n In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy." + "Iops" : { + "description" : "The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n The following are the supported values for each volume type.\n + ``gp3``: 3,000 - 16,000 IOPS\n + ``io1``: 100 - 64,000 IOPS\n + ``io2``: 100 - 256,000 IOPS\n \n This parameter is required for ``io1`` and ``io2`` volume types. The default for ``gp3`` volumes is ``3,000 IOPS``. This parameter is not supported for ``st1``, ``sc1``, or ``standard`` volume types.\n This parameter maps 1:1 with the ``Iops`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.", + "type" : "integer" }, - "Tls" : { - "$ref" : "#/definitions/ServiceConnectTlsConfiguration", - "description" : "A reference to an object that represents a Transport Layer Security (TLS) configuration." + "SizeInGiB" : { + "description" : "The size of the volume in GiB. You must specify either a volume size or a snapshot ID. If you specify a snapshot ID, the snapshot size is used for the volume size by default. You can optionally specify a volume size greater than or equal to the snapshot size. This parameter maps 1:1 with the ``Size`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n The following are the supported volume size values for each volume type.\n + ``gp2`` and ``gp3``: 1-16,384\n + ``io1`` and ``io2``: 4-16,384\n + ``st1`` and ``sc1``: 125-16,384\n + ``standard``: 1-1,024", + "type" : "integer" }, - "Timeout" : { - "$ref" : "#/definitions/TimeoutConfiguration", - "description" : "A reference to an object that represents the configured timeouts for Service Connect." + "RoleArn" : { + "description" : "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed ``AmazonECSInfrastructureRolePolicyForVolumes`` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide*.", + "type" : "string" } - }, - "required" : [ "PortName" ], - "additionalProperties" : false, - "description" : "The Service Connect service object configuration. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*." + } }, - "ServiceConnectTlsConfiguration" : { + "ServiceConnectClientAlias" : { + "description" : "Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks (\"clients\") can use to connect to this service.\n Each name and port mapping must be unique within the namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties" : false, "type" : "object", "properties" : { - "IssuerCertificateAuthority" : { - "$ref" : "#/definitions/ServiceConnectTlsCertificateAuthority", - "description" : "The signer certificate authority." - }, - "KmsKey" : { - "type" : "string", - "description" : "The AWS Key Management Service key." + "DnsName" : { + "description" : "The ``dnsName`` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen.\n If this parameter isn't specified, the default value of ``discoveryName.namespace`` is used. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.\n To avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are ``database``, ``db``, or the lowercase name of a database, such as ``mysql`` or ``redis``. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type" : "string" }, - "RoleArn" : { - "type" : "string", - "description" : "The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS." + "Port" : { + "description" : "The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.\n To avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type" : "integer" } }, - "required" : [ "IssuerCertificateAuthority" ], - "additionalProperties" : false, - "description" : "An object that represents the configuration for Service Connect TLS." + "required" : [ "Port" ] }, - "ServiceConnectTlsCertificateAuthority" : { + "ServiceVolumeConfiguration" : { + "description" : "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.", + "additionalProperties" : false, "type" : "object", + "required" : [ "Name" ], "properties" : { - "AwsPcaAuthorityArn" : { - "type" : "string", - "description" : "The ARN of the AWS Private Certificate Authority certificate." + "ManagedEBSVolume" : { + "description" : "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are created.", + "$ref" : "#/definitions/ServiceManagedEBSVolumeConfiguration" + }, + "Name" : { + "description" : "The name of the volume. This value must match the volume name from the ``Volume`` object in the task definition.", + "type" : "string" } - }, + } + }, + "NetworkConfiguration" : { + "description" : "The network configuration for a task or service.", "additionalProperties" : false, - "description" : "An object that represents the AWS Private Certificate Authority certificate." + "type" : "object", + "properties" : { + "AwsvpcConfiguration" : { + "description" : "The VPC subnets and security groups that are associated with a task.\n All specified subnets and security groups must be from the same VPC.", + "$ref" : "#/definitions/AwsVpcConfiguration" + } + } }, - "ServiceManagedEBSVolumeConfiguration" : { + "ServiceRegistry" : { + "description" : "The details for the service registry.\n Each service may be associated with one service registry. Multiple service registries for each service are not supported.\n When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration.", + "additionalProperties" : false, "type" : "object", - "required" : [ "RoleArn" ], "properties" : { - "Encrypted" : { - "type" : "boolean", - "description" : "Indicates whether the volume should be encrypted. If no value is specified, encryption is turned on by default. This parameter maps 1:1 with the ``Encrypted`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*." - }, - "KmsKeyId" : { - "type" : "string", - "description" : "The Amazon Resource Name (ARN) identifier of the AWS Key Management Service key to use for Amazon EBS encryption. When encryption is turned on and no AWS Key Management Service key is specified, the default AWS managed key for Amazon EBS volumes is used. This parameter maps 1:1 with the ``KmsKeyId`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n AWS authenticates the AWS Key Management Service key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid, the action can appear to complete, but eventually fails." - }, - "VolumeType" : { - "type" : "string", - "description" : "The volume type. This parameter maps 1:1 with the ``VolumeType`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) in the *Amazon EC2 User Guide*.\n The following are the supported volume types.\n + General Purpose SSD: ``gp2``|``gp3`` \n + Provisioned IOPS SSD: ``io1``|``io2`` \n + Throughput Optimized HDD: ``st1`` \n + Cold HDD: ``sc1`` \n + Magnetic: ``standard`` \n The magnetic volume type is not supported on Fargate." - }, - "SizeInGiB" : { - "type" : "integer", - "description" : "The size of the volume in GiB. You must specify either a volume size or a snapshot ID. If you specify a snapshot ID, the snapshot size is used for the volume size by default. You can optionally specify a volume size greater than or equal to the snapshot size. This parameter maps 1:1 with the ``Size`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n The following are the supported volume size values for each volume type.\n + ``gp2`` and ``gp3``: 1-16,384\n + ``io1`` and ``io2``: 4-16,384\n + ``st1`` and ``sc1``: 125-16,384\n + ``standard``: 1-1,024" - }, - "SnapshotId" : { - "type" : "string", - "description" : "The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot ID or a volume size. This parameter maps 1:1 with the ``SnapshotId`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*." - }, - "Iops" : { - "type" : "integer", - "description" : "The number of I/O operations per second (IOPS). For ``gp3``, ``io1``, and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.\n The following are the supported values for each volume type.\n + ``gp3``: 3,000 - 16,000 IOPS\n + ``io1``: 100 - 64,000 IOPS\n + ``io2``: 100 - 256,000 IOPS\n \n This parameter is required for ``io1`` and ``io2`` volume types. The default for ``gp3`` volumes is ``3,000 IOPS``. This parameter is not supported for ``st1``, ``sc1``, or ``standard`` volume types.\n This parameter maps 1:1 with the ``Iops`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*." + "ContainerName" : { + "description" : "The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition that your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both.", + "type" : "string" }, - "Throughput" : { - "type" : "integer", - "description" : "The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*.\n This parameter is only supported for the ``gp3`` volume type." + "Port" : { + "description" : "The port value used if your service discovery service specified an SRV record. This field might be used if both the ``awsvpc`` network mode and SRV records are used.", + "type" : "integer" }, - "TagSpecifications" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/EBSTagSpecification" - }, - "description" : "The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the [CreateVolume API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html) in the *Amazon EC2 API Reference*." + "ContainerPort" : { + "description" : "The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both.", + "type" : "integer" }, - "RoleArn" : { - "type" : "string", - "description" : "The ARN of the IAM role to associate with this volume. This is the Amazon ECS infrastructure IAM role that is used to manage your AWS infrastructure. We recommend using the Amazon ECS-managed ``AmazonECSInfrastructureRolePolicyForVolumes`` IAM policy with this role. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the *Amazon ECS Developer Guide*." + "RegistryArn" : { + "description" : "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html).", + "type" : "string" + } + } + }, + "Tag" : { + "description" : "The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.\n The following basic restrictions apply to tags:\n + Maximum number of tags per resource - 50\n + For each resource, each tag key must be unique, and each tag key can have only one value.\n + Maximum key length - 128 Unicode characters in UTF-8\n + Maximum value length - 256 Unicode characters in UTF-8\n + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.\n + Tag keys and values are case-sensitive.\n + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Value" : { + "description" : "The optional part of a key-value pair that make up a tag. A ``value`` acts as a descriptor within a tag category (key).", + "type" : "string" }, - "FilesystemType" : { - "type" : "string", - "description" : "The Linux filesystem type for the volume. For volumes created from a snapshot, you must specify the same filesystem type that the volume was using when the snapshot was created. If there is a filesystem type mismatch, the task will fail to start.\n The available filesystem types are
 ``ext3``, ``ext4``, and ``xfs``. If no value is specified, the ``xfs`` filesystem type is used by default." + "Key" : { + "description" : "One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values.", + "type" : "string" } - }, - "description" : "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service.\n Many of these parameters map 1:1 with the Amazon EBS ``CreateVolume`` API request parameters." + } }, - "TimeoutConfiguration" : { + "DeploymentCircuitBreaker" : { + "description" : "The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type.\n The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If it is turned on, a service deployment will transition to a failed state and stop launching new tasks. You can also configure Amazon ECS to roll back your service to the last completed deployment after a failure. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about API failure reasons, see [API failure reasons](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties" : false, "type" : "object", "properties" : { - "IdleTimeoutSeconds" : { - "type" : "integer", - "description" : "The amount of time in seconds a connection will stay active while idle. A value of ``0`` can be set to disable ``idleTimeout``.\n The ``idleTimeout`` default for ``HTTP``/``HTTP2``/``GRPC`` is 5 minutes.\n The ``idleTimeout`` default for ``TCP`` is 1 hour." + "Enable" : { + "description" : "Determines whether to use the deployment circuit breaker logic for the service.", + "type" : "boolean" }, - "PerRequestTimeoutSeconds" : { - "type" : "integer", - "description" : "The amount of time waiting for the upstream to respond with a complete response per request. A value of ``0`` can be set to disable ``perRequestTimeout``. ``perRequestTimeout`` can only be set if Service Connect ``appProtocol`` isn't ``TCP``. Only ``idleTimeout`` is allowed for ``TCP`` ``appProtocol``." + "Rollback" : { + "description" : "Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.", + "type" : "boolean" } }, - "additionalProperties" : false, - "description" : "An object that represents the timeout configurations for Service Connect.\n If ``idleTimeout`` is set to a time that is less than ``perRequestTimeout``, the connection will close when the ``idleTimeout`` is reached and not the ``perRequestTimeout``." + "required" : [ "Enable", "Rollback" ] }, - "ServiceRegistry" : { + "DeploymentConfiguration" : { + "description" : "Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.", + "additionalProperties" : false, "type" : "object", "properties" : { - "ContainerName" : { - "type" : "string", - "description" : "The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition that your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both." + "Alarms" : { + "description" : "Information about the CloudWatch alarms.", + "$ref" : "#/definitions/DeploymentAlarms" }, - "ContainerPort" : { - "type" : "integer", - "description" : "The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both." + "DeploymentCircuitBreaker" : { + "description" : "The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type.\n The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide*", + "$ref" : "#/definitions/DeploymentCircuitBreaker" }, - "Port" : { - "type" : "integer", - "description" : "The port value used if your service discovery service specified an SRV record. This field might be used if both the ``awsvpc`` network mode and SRV records are used." + "MaximumPercent" : { + "description" : "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.", + "type" : "integer" }, - "RegistryArn" : { - "type" : "string", - "description" : "The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see [CreateService](https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html)." + "MinimumHealthyPercent" : { + "description" : "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.", + "type" : "integer" } - }, - "additionalProperties" : false, - "description" : "The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*." + } }, - "Tag" : { + "EBSTagSpecification" : { + "description" : "The tag specifications of an Amazon EBS volume.", + "additionalProperties" : false, "type" : "object", + "required" : [ "ResourceType" ], "properties" : { - "Key" : { + "PropagateTags" : { + "description" : "Determines whether to propagate the tags from the task definition to 
the Amazon EBS volume. Tags can only propagate to a ``SERVICE`` specified in 
``ServiceVolumeConfiguration``. If no value is specified, the tags aren't 
propagated.", "type" : "string", - "description" : "One part of a key-value pair that make up a tag. A ``key`` is a general label that acts like a category for more specific tag values." + "enum" : [ "SERVICE", "TASK_DEFINITION" ] }, - "Value" : { - "type" : "string", - "description" : "The optional part of a key-value pair that make up a tag. A ``value`` acts as a descriptor within a tag category (key)." + "ResourceType" : { + "description" : "The type of volume resource.", + "type" : "string" + }, + "Tags" : { + "description" : "The tags applied to this Amazon EBS volume. ``AmazonECSCreated`` and ``AmazonECSManaged`` are reserved tags that can't be used.", + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } } - }, - "additionalProperties" : false, - "description" : "The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value. You define them.\n The following basic restrictions apply to tags:\n + Maximum number of tags per resource - 50\n + For each resource, each tag key must be unique, and each tag key can have only one value.\n + Maximum key length - 128 Unicode characters in UTF-8\n + Maximum value length - 256 Unicode characters in UTF-8\n + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.\n + Tag keys and values are case-sensitive.\n + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit." + } }, - "ServiceVolumeConfiguration" : { + "ServiceConnectService" : { + "description" : "The Service Connect service object configuration. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "additionalProperties" : false, "type" : "object", - "required" : [ "Name" ], "properties" : { - "Name" : { - "type" : "string", - "description" : "The name of the volume. This value must match the volume name from the ``Volume`` object in the task definition." + "Timeout" : { + "description" : "A reference to an object that represents the configured timeouts for Service Connect.", + "$ref" : "#/definitions/TimeoutConfiguration" }, - "ManagedEBSVolume" : { - "$ref" : "#/definitions/ServiceManagedEBSVolumeConfiguration", - "description" : "The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. These settings are used to create each Amazon EBS volume, with one volume created for each task in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are created." + "IngressPortOverride" : { + "description" : "The port number for the Service Connect proxy to listen on.\n Use the value of this field to bypass the proxy for traffic on the port number specified in the named ``portMapping`` in the task definition of this application, and then use it in your VPC security groups to allow traffic into the proxy for this Amazon ECS service.\n In ``awsvpc`` mode and Fargate, the default value is the container port number. The container port number is in the ``portMapping`` in the task definition. In bridge mode, the default value is the ephemeral port of the Service Connect proxy.", + "type" : "integer" + }, + "ClientAliases" : { + "description" : "The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1.\n Each alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS tasks (\"clients\") can use to connect to this service.\n Each name and port mapping must be unique within the namespace.\n For each ``ServiceConnectService``, you must provide at least one ``clientAlias`` with one ``port``.", + "type" : "array", + "items" : { + "$ref" : "#/definitions/ServiceConnectClientAlias" + } + }, + "Tls" : { + "description" : "A reference to an object that represents a Transport Layer Security (TLS) configuration.", + "$ref" : "#/definitions/ServiceConnectTlsConfiguration" + }, + "DiscoveryName" : { + "description" : "The ``discoveryName`` is the name of the new CMAP service that Amazon ECS creates for this Amazon ECS service. This must be unique within the CMAP namespace. The name can contain up to 64 characters. The name can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.\n If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace``.", + "type" : "string" + }, + "PortName" : { + "description" : "The ``portName`` must match the name of one of the ``portMappings`` from all the containers in the task definition of this Amazon ECS service.", + "type" : "string" } }, - "description" : "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume." + "required" : [ "PortName" ] } }, "properties" : { - "ServiceArn" : { - "type" : "string", - "description" : "" - }, - "CapacityProviderStrategy" : { - "type" : "array", - "items" : { - "$ref" : "#/definitions/CapacityProviderStrategyItem" - }, - "description" : "The capacity provider strategy to use for the service.\n If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used.\n A capacity provider strategy may contain a maximum of 6 capacity providers." + "PlatformVersion" : { + "default" : "LATEST", + "description" : "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*.", + "type" : "string" }, - "Cluster" : { + "PropagateTags" : { + "description" : "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``.", "type" : "string", - "description" : "The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed." - }, - "DeploymentConfiguration" : { - "$ref" : "#/definitions/DeploymentConfiguration", - "description" : "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks." + "enum" : [ "SERVICE", "TASK_DEFINITION" ] }, - "DeploymentController" : { - "$ref" : "#/definitions/DeploymentController", - "description" : "The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used." - }, - "DesiredCount" : { - "type" : "integer", - "description" : "The number of instantiations of the specified task definition to place and keep running in your service.\n For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required.\n For existing services, if a desired count is not specified, it is omitted from the operation." - }, - "EnableECSManagedTags" : { - "type" : "boolean", - "description" : "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide*.\n When you use Amazon ECS managed tags, you need to set the ``propagateTags`` request parameter." - }, - "EnableExecuteCommand" : { - "type" : "boolean", - "description" : "Determines whether the execute command functionality is turned on for the service. If ``true``, the execute command functionality is turned on for all containers in tasks as part of the service." - }, - "HealthCheckGracePeriodSeconds" : { - "type" : "integer", - "description" : "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used.\n If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see [Health check](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html).\n If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up." - }, - "LaunchType" : { - "type" : "string", - "enum" : [ "EC2", "FARGATE", "EXTERNAL" ], - "description" : "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*." + "ServiceArn" : { + "description" : "", + "type" : "string" }, - "LoadBalancers" : { + "PlacementStrategies" : { + "description" : "The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.", "type" : "array", "items" : { - "$ref" : "#/definitions/LoadBalancer" - }, - "description" : "A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide*." - }, - "Name" : { - "type" : "string", - "description" : "" - }, - "NetworkConfiguration" : { - "$ref" : "#/definitions/NetworkConfiguration", - "description" : "The network configuration for the service. This parameter is required for task definitions that use the ``awsvpc`` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*." + "$ref" : "#/definitions/PlacementStrategy" + } }, - "PlacementConstraints" : { + "ServiceRegistries" : { + "description" : "The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html).\n Each service may be associated with one service registry. Multiple service registries for each service isn't supported.", "type" : "array", "items" : { - "$ref" : "#/definitions/PlacementConstraint" - }, - "description" : "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime." + "$ref" : "#/definitions/ServiceRegistry" + } }, - "PlacementStrategies" : { + "VolumeConfigurations" : { + "description" : "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.", "type" : "array", "items" : { - "$ref" : "#/definitions/PlacementStrategy" - }, - "description" : "The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service." + "$ref" : "#/definitions/ServiceVolumeConfiguration" + } }, - "PlatformVersion" : { - "type" : "string", - "default" : "LATEST", - "description" : "The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*." + "CapacityProviderStrategy" : { + "description" : "The capacity provider strategy to use for the service.\n If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used.\n A capacity provider strategy may contain a maximum of 6 capacity providers.", + "type" : "array", + "items" : { + "$ref" : "#/definitions/CapacityProviderStrategyItem" + } }, - "PropagateTags" : { + "LaunchType" : { + "description" : "The launch type on which to run your service. For more information, see [Amazon ECS Launch Types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the *Amazon Elastic Container Service Developer Guide*.", "type" : "string", - "enum" : [ "SERVICE", "TASK_DEFINITION" ], - "description" : "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``." + "enum" : [ "EC2", "FARGATE", "EXTERNAL" ] }, - "Role" : { - "type" : "string", - "description" : "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter.\n If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the ``awsvpc`` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n If your specified role has a path other than ``/``, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name ``bar`` has a path of ``/foo/`` then you would specify ``/foo/bar`` as the role name. For more information, see [Friendly names and paths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) in the *IAM User Guide*." + "Name" : { + "description" : "", + "type" : "string" }, "SchedulingStrategy" : { + "description" : "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n There are two service scheduler strategies available:\n + ``REPLICA``-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types.\n + ``DAEMON``-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n Tasks using the Fargate launch type or the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types don't support the ``DAEMON`` scheduling strategy.", "type" : "string", - "enum" : [ "DAEMON", "REPLICA" ], - "description" : "The scheduling strategy to use for the service. For more information, see [Services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).\n There are two service scheduler strategies available:\n + ``REPLICA``-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service uses the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types.\n + ``DAEMON``-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that don't meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.\n Tasks using the Fargate launch type or the ``CODE_DEPLOY`` or ``EXTERNAL`` deployment controller types don't support the ``DAEMON`` scheduling strategy." - }, - "ServiceConnectConfiguration" : { - "$ref" : "#/definitions/ServiceConnectConfiguration", - "description" : "The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*." + "enum" : [ "DAEMON", "REPLICA" ] }, - "ServiceName" : { - "type" : "string", - "description" : "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.\n The stack update fails if you change any properties that require replacement and the ``ServiceName`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceName`` must be unique in the cluster." + "NetworkConfiguration" : { + "description" : "The network configuration for the service. This parameter is required for task definitions that use the ``awsvpc`` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the *Amazon Elastic Container Service Developer Guide*.", + "$ref" : "#/definitions/NetworkConfiguration" }, - "ServiceRegistries" : { + "Tags" : { + "description" : "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n The following basic restrictions apply to tags:\n + Maximum number of tags per resource - 50\n + For each resource, each tag key must be unique, and each tag key can have only one value.\n + Maximum key length - 128 Unicode characters in UTF-8\n + Maximum value length - 256 Unicode characters in UTF-8\n + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.\n + Tag keys and values are case-sensitive.\n + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.", "type" : "array", "items" : { - "$ref" : "#/definitions/ServiceRegistry" - }, - "description" : "The details of the service discovery registry to associate with this service. For more information, see [Service discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html).\n Each service may be associated with one service registry. Multiple service registries for each service isn't supported." + "$ref" : "#/definitions/Tag" + } }, - "Tags" : { + "HealthCheckGracePeriodSeconds" : { + "description" : "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used.\n If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see [Health check](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html).\n If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.", + "type" : "integer" + }, + "EnableECSManagedTags" : { + "description" : "Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the *Amazon Elastic Container Service Developer Guide*.\n When you use Amazon ECS managed tags, you need to set the ``propagateTags`` request parameter.", + "type" : "boolean" + }, + "EnableExecuteCommand" : { + "description" : "Determines whether the execute command functionality is turned on for the service. If ``true``, the execute command functionality is turned on for all containers in tasks as part of the service.", + "type" : "boolean" + }, + "PlacementConstraints" : { + "description" : "An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.", "type" : "array", "items" : { - "$ref" : "#/definitions/Tag" - }, - "description" : "The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.\n The following basic restrictions apply to tags:\n + Maximum number of tags per resource - 50\n + For each resource, each tag key must be unique, and each tag key can have only one value.\n + Maximum key length - 128 Unicode characters in UTF-8\n + Maximum value length - 256 Unicode characters in UTF-8\n + If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.\n + Tag keys and values are case-sensitive.\n + Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit." + "$ref" : "#/definitions/PlacementConstraint" + } }, - "TaskDefinition" : { - "type" : "string", - "description" : "The ``family`` and ``revision`` (``family:revision``) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used.\n A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers.\n For more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html)." + "Cluster" : { + "description" : "The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.", + "type" : "string" }, - "VolumeConfigurations" : { + "LoadBalancers" : { + "description" : "A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see [Service Load Balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the *Amazon Elastic Container Service Developer Guide*.", "type" : "array", "items" : { - "$ref" : "#/definitions/ServiceVolumeConfiguration" - }, - "description" : "The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume." - } - }, - "primaryIdentifier" : [ "/properties/ServiceArn", "/properties/Cluster" ], - "handlers" : { - "create" : { - "permissions" : [ "ecs:CreateService", "ecs:DescribeServices", "iam:PassRole", "ecs:TagResource" ], - "timeoutInMinutes" : 180 + "$ref" : "#/definitions/LoadBalancer" + } }, - "read" : { - "permissions" : [ "ecs:DescribeServices" ] + "ServiceConnectConfiguration" : { + "description" : "The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace.\n Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*.", + "$ref" : "#/definitions/ServiceConnectConfiguration" }, - "update" : { - "permissions" : [ "ecs:DescribeServices", "ecs:ListTagsForResource", "ecs:TagResource", "ecs:UntagResource", "ecs:UpdateService" ], - "timeoutInMinutes" : 180 + "DesiredCount" : { + "description" : "The number of instantiations of the specified task definition to place and keep running in your service.\n For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required.\n For existing services, if a desired count is not specified, it is omitted from the operation.", + "type" : "integer" }, - "delete" : { - "permissions" : [ "ecs:DeleteService", "ecs:DescribeServices" ], - "timeoutInMinutes" : 30 + "DeploymentController" : { + "description" : "The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used.", + "$ref" : "#/definitions/DeploymentController" }, - "list" : { - "permissions" : [ "ecs:DescribeServices", "ecs:ListClusters", "ecs:ListServices" ] + "Role" : { + "description" : "The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter.\n If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the ``awsvpc`` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide*.\n If your specified role has a path other than ``/``, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name ``bar`` has a path of ``/foo/`` then you would specify ``/foo/bar`` as the role name. For more information, see [Friendly names and paths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) in the *IAM User Guide*.", + "type" : "string" + }, + "TaskDefinition" : { + "description" : "The ``family`` and ``revision`` (``family:revision``) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used.\n A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers.\n For more information about deployment types, see [Amazon ECS deployment types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html).", + "type" : "string" + }, + "ServiceName" : { + "description" : "The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.\n The stack update fails if you change any properties that require replacement and the ``ServiceName`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceName`` must be unique in the cluster.", + "type" : "string" + }, + "DeploymentConfiguration" : { + "description" : "Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "$ref" : "#/definitions/DeploymentConfiguration" } - }, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" - }, - "readOnlyProperties" : [ "/properties/ServiceArn", "/properties/Name" ], - "createOnlyProperties" : [ "/properties/Cluster", "/properties/DeploymentController", "/properties/LaunchType", "/properties/Role", "/properties/SchedulingStrategy", "/properties/ServiceName" ], - "writeOnlyProperties" : [ "/properties/ServiceConnectConfiguration", "/properties/VolumeConfigurations" ], - "additionalProperties" : false + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ecs-taskdefinition.json b/aws-cloudformation-schema/aws-ecs-taskdefinition.json index f443c47332..fda5812b53 100644 --- a/aws-cloudformation-schema/aws-ecs-taskdefinition.json +++ b/aws-cloudformation-schema/aws-ecs-taskdefinition.json @@ -70,7 +70,7 @@ "type" : "object", "properties" : { "Command" : { - "description" : "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command", + "description" : "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command", "insertionOrder" : true, "type" : "array", "items" : { @@ -117,7 +117,7 @@ "required" : [ "Name", "Image" ], "properties" : { "User" : { - "description" : "The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run.\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers.", + "description" : "The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run.\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers.", "type" : "string" }, "Secrets" : { @@ -133,11 +133,11 @@ "type" : "integer" }, "Privileged" : { - "description" : "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run\n This parameter is not supported for Windows containers or tasks run on FARGATElong.", + "description" : "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run\n This parameter is not supported for Windows containers or tasks run on FARGATElong.", "type" : "boolean" }, "HealthCheck" : { - "description" : "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run.", + "description" : "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run.", "$ref" : "#/definitions/HealthCheck" }, "StartTimeout" : { @@ -146,7 +146,7 @@ }, "VolumesFrom" : { "uniqueItems" : true, - "description" : "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run.", + "description" : "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.", "insertionOrder" : false, "type" : "array", "items" : { @@ -154,11 +154,11 @@ } }, "Cpu" : { - "description" : "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.", + "description" : "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU.", "type" : "integer" }, "EntryPoint" : { - "description" : "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run.", + "description" : "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.", "insertionOrder" : true, "type" : "array", "items" : { @@ -166,7 +166,7 @@ } }, "DnsServers" : { - "description" : "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers.", + "description" : "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers.", "insertionOrder" : false, "type" : "array", "items" : { @@ -174,11 +174,11 @@ } }, "ReadonlyRootFilesystem" : { - "description" : "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run.\n This parameter is not supported for Windows containers.", + "description" : "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run.\n This parameter is not supported for Windows containers.", "type" : "boolean" }, "Image" : { - "description" : "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run.\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``).", + "description" : "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run.\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``).", "type" : "string" }, "Essential" : { @@ -206,7 +206,7 @@ } }, "Name" : { - "description" : "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run.", + "description" : "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.", "type" : "string" }, "FirelensConfiguration" : { @@ -214,7 +214,7 @@ "$ref" : "#/definitions/FirelensConfiguration" }, "DockerSecurityOptions" : { - "description" : "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"", + "description" : "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"", "insertionOrder" : false, "type" : "array", "items" : { @@ -222,7 +222,7 @@ } }, "SystemControls" : { - "description" : "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", + "description" : "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.", "insertionOrder" : false, "type" : "array", "items" : { @@ -230,11 +230,11 @@ } }, "Interactive" : { - "description" : "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run.", + "description" : "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run.", "type" : "boolean" }, "DnsSearchDomains" : { - "description" : "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run.\n This parameter is not supported for Windows containers.", + "description" : "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run.\n This parameter is not supported for Windows containers.", "insertionOrder" : false, "type" : "array", "items" : { @@ -262,11 +262,11 @@ "type" : "integer" }, "WorkingDirectory" : { - "description" : "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run.", + "description" : "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run.", "type" : "string" }, "MemoryReservation" : { - "description" : "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run.\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.", + "description" : "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run.\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.", "type" : "integer" }, "RepositoryCredentials" : { @@ -274,7 +274,7 @@ "$ref" : "#/definitions/RepositoryCredentials" }, "ExtraHosts" : { - "description" : "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.", + "description" : "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.", "insertionOrder" : false, "type" : "array", "items" : { @@ -282,7 +282,7 @@ } }, "Hostname" : { - "description" : "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", + "description" : "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.", "type" : "string" }, "LinuxParameters" : { @@ -290,20 +290,20 @@ "$ref" : "#/definitions/LinuxParameters" }, "RestartPolicy" : { - "description" : "", + "description" : "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*.", "$ref" : "#/definitions/RestartPolicy" }, "DisableNetworking" : { - "description" : "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command.\n This parameter is not supported for Windows containers.", + "description" : "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command.\n This parameter is not supported for Windows containers.", "type" : "boolean" }, "PseudoTerminal" : { - "description" : "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run.", + "description" : "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.", "type" : "boolean" }, "MountPoints" : { "uniqueItems" : true, - "description" : "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.", + "description" : "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives.", "insertionOrder" : true, "type" : "array", "items" : { @@ -324,7 +324,7 @@ "type" : "string" } }, - "description" : "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", + "description" : "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``", "additionalProperties" : false, "type" : "object" }, @@ -338,7 +338,7 @@ } }, "Command" : { - "description" : "The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array.", + "description" : "The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array.", "insertionOrder" : true, "type" : "array", "items" : { @@ -347,7 +347,7 @@ }, "Environment" : { "uniqueItems" : true, - "description" : "The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run.\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.", + "description" : "The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run.\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.", "insertionOrder" : false, "type" : "array", "items" : { @@ -356,7 +356,7 @@ }, "Links" : { "uniqueItems" : true, - "description" : "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run.\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.", + "description" : "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run.\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.", "insertionOrder" : false, "type" : "array", "items" : { @@ -366,7 +366,7 @@ } }, "SystemControl" : { - "description" : "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", + "description" : "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", "additionalProperties" : false, "type" : "object", "properties" : { @@ -404,7 +404,7 @@ "type" : "boolean" }, "Driver" : { - "description" : "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create.", + "description" : "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create.", "type" : "string" }, "Labels" : { @@ -413,7 +413,7 @@ "type" : "string" } }, - "description" : "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create.", + "description" : "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create.", "additionalProperties" : false, "type" : "object" } @@ -491,7 +491,7 @@ "type" : "object", "properties" : { "Add" : { - "description" : "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run.\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", + "description" : "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run.\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", "insertionOrder" : false, "type" : "array", "items" : { @@ -499,7 +499,7 @@ } }, "Drop" : { - "description" : "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", + "description" : "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``", "insertionOrder" : false, "type" : "array", "items" : { @@ -597,17 +597,17 @@ } }, "FSxAuthorizationConfig" : { - "description" : "", + "description" : "The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*.\n For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.", "additionalProperties" : false, "type" : "object", "required" : [ "CredentialsParameter", "Domain" ], "properties" : { "CredentialsParameter" : { - "description" : "", + "description" : "The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials.", "type" : "string" }, "Domain" : { - "description" : "", + "description" : "A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2.", "type" : "string" } } @@ -717,7 +717,7 @@ "type" : "integer" }, "Devices" : { - "description" : "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", + "description" : "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.", "insertionOrder" : false, "type" : "array", "items" : { @@ -755,11 +755,12 @@ } }, "RestartPolicy" : { - "description" : "", + "description" : "You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*.", "additionalProperties" : false, "type" : "object", "properties" : { "IgnoredExitCodes" : { + "description" : "A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes.", "insertionOrder" : false, "type" : "array", "items" : { @@ -767,9 +768,11 @@ } }, "RestartAttemptPeriod" : { + "description" : "A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted.", "type" : "integer" }, "Enabled" : { + "description" : "Specifies whether a restart policy is enabled for the container.", "type" : "boolean" } } diff --git a/aws-cloudformation-schema/aws-eks-addon.json b/aws-cloudformation-schema/aws-eks-addon.json index 4f5b92fc4c..15ad59d208 100644 --- a/aws-cloudformation-schema/aws-eks-addon.json +++ b/aws-cloudformation-schema/aws-eks-addon.json @@ -105,7 +105,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "eks:TagResource", "eks:UntagResource" ] }, "additionalProperties" : false, "required" : [ "ClusterName", "AddonName" ], diff --git a/aws-cloudformation-schema/aws-eks-cluster.json b/aws-cloudformation-schema/aws-eks-cluster.json index 171f43a1b9..2ba74ca34a 100644 --- a/aws-cloudformation-schema/aws-eks-cluster.json +++ b/aws-cloudformation-schema/aws-eks-cluster.json @@ -1,5 +1,6 @@ { "tagging" : { + "permissions" : [ "eks:TagResource", "eks:UntagResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, diff --git a/aws-cloudformation-schema/aws-eks-fargateprofile.json b/aws-cloudformation-schema/aws-eks-fargateprofile.json index 014dbee2a9..d65c7ffa96 100644 --- a/aws-cloudformation-schema/aws-eks-fargateprofile.json +++ b/aws-cloudformation-schema/aws-eks-fargateprofile.json @@ -107,7 +107,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "eks:TagResource", "eks:UntagResource" ] }, "additionalProperties" : false, "required" : [ "ClusterName", "PodExecutionRoleArn", "Selectors" ], diff --git a/aws-cloudformation-schema/aws-eks-podidentityassociation.json b/aws-cloudformation-schema/aws-eks-podidentityassociation.json index 5722ff95b0..91c0df9c59 100644 --- a/aws-cloudformation-schema/aws-eks-podidentityassociation.json +++ b/aws-cloudformation-schema/aws-eks-podidentityassociation.json @@ -67,7 +67,7 @@ "tagUpdatable" : true, "cloudFormationSystemTags" : true, "tagProperty" : "/properties/Tags", - "permissions" : [ "eks:TagResource", "sqs:UntagResource" ] + "permissions" : [ "eks:TagResource", "eks:UntagResource" ] }, "additionalProperties" : false, "required" : [ "ClusterName", "RoleArn", "Namespace", "ServiceAccount" ], diff --git a/aws-cloudformation-schema/aws-elasticloadbalancingv2-listener.json b/aws-cloudformation-schema/aws-elasticloadbalancingv2-listener.json index 04ba235e2a..b1425e1679 100644 --- a/aws-cloudformation-schema/aws-elasticloadbalancingv2-listener.json +++ b/aws-cloudformation-schema/aws-elasticloadbalancingv2-listener.json @@ -14,13 +14,13 @@ "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-elasticloadbalancingv2.git", "handlers" : { "read" : { - "permissions" : [ "elasticloadbalancing:DescribeListeners" ] + "permissions" : [ "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeListenerAttributes" ] }, "create" : { - "permissions" : [ "elasticloadbalancing:CreateListener", "elasticloadbalancing:DescribeListeners", "cognito-idp:DescribeUserPoolClient" ] + "permissions" : [ "elasticloadbalancing:CreateListener", "elasticloadbalancing:DescribeListeners", "cognito-idp:DescribeUserPoolClient", "elasticloadbalancing:ModifyListenerAttributes" ] }, "update" : { - "permissions" : [ "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeListeners", "cognito-idp:DescribeUserPoolClient" ] + "permissions" : [ "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeListeners", "cognito-idp:DescribeUserPoolClient", "elasticloadbalancing:ModifyListenerAttributes" ] }, "list" : { "permissions" : [ "elasticloadbalancing:DescribeListeners" ], @@ -264,6 +264,19 @@ } } }, + "ListenerAttribute" : { + "description" : "", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Value" : { + "type" : "string" + }, + "Key" : { + "type" : "string" + } + } + }, "ForwardConfig" : { "description" : "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.", "additionalProperties" : false, @@ -376,6 +389,16 @@ "description" : "The mutual authentication configuration information.", "$ref" : "#/definitions/MutualAuthentication" }, + "ListenerAttributes" : { + "arrayType" : "AttributeList", + "uniqueItems" : true, + "description" : "", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ListenerAttribute" + } + }, "AlpnPolicy" : { "description" : "[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.", "type" : "array", diff --git a/aws-cloudformation-schema/aws-elasticloadbalancingv2-truststore.json b/aws-cloudformation-schema/aws-elasticloadbalancingv2-truststore.json index 3f9cbd6d6f..33ccfe45c2 100644 --- a/aws-cloudformation-schema/aws-elasticloadbalancingv2-truststore.json +++ b/aws-cloudformation-schema/aws-elasticloadbalancingv2-truststore.json @@ -67,7 +67,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "elasticloadbalancing:AddTags", "elasticloadbalancing:DescribeTags", "elasticloadbalancing:RemoveTags" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-globalaccelerator-crossaccountattachment.json b/aws-cloudformation-schema/aws-globalaccelerator-crossaccountattachment.json index ca1bf4b3cd..74b0911b11 100644 --- a/aws-cloudformation-schema/aws-globalaccelerator-crossaccountattachment.json +++ b/aws-cloudformation-schema/aws-globalaccelerator-crossaccountattachment.json @@ -30,11 +30,13 @@ "EndpointId" : { "type" : "string" }, + "Cidr" : { + "type" : "string" + }, "Region" : { "type" : "string" } }, - "required" : [ "EndpointId" ], "additionalProperties" : false } }, diff --git a/aws-cloudformation-schema/aws-mediaconnect-flow.json b/aws-cloudformation-schema/aws-mediaconnect-flow.json index be26e11242..4e7317d738 100644 --- a/aws-cloudformation-schema/aws-mediaconnect-flow.json +++ b/aws-cloudformation-schema/aws-mediaconnect-flow.json @@ -46,8 +46,12 @@ } }, "Maintenance" : { - "description" : "The maintenance settings you want to use for the flow. ", + "description" : "The maintenance settings you want to use for the flow.", "$ref" : "#/definitions/Maintenance" + }, + "SourceMonitoringConfig" : { + "description" : "The source monitoring config of the flow.", + "$ref" : "#/definitions/SourceMonitoringConfig" } }, "definitions" : { @@ -459,6 +463,19 @@ }, "additionalProperties" : false, "required" : [ "Name" ] + }, + "SourceMonitoringConfig" : { + "type" : "object", + "description" : "The settings for source monitoring.", + "properties" : { + "ThumbnailState" : { + "type" : "string", + "description" : "The state of thumbnail monitoring.", + "enum" : [ "ENABLED", "DISABLED" ] + } + }, + "additionalProperties" : false, + "required" : [ "ThumbnailState" ] } }, "required" : [ "Name", "Source" ], diff --git a/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json b/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json new file mode 100644 index 0000000000..0b9fd400e3 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-channelplacementgroup.json @@ -0,0 +1,107 @@ +{ + "typeName" : "AWS::MediaLive::ChannelPlacementGroup", + "description" : "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-medialive.git", + "properties" : { + "Arn" : { + "type" : "string", + "description" : "The ARN of the channel placement group." + }, + "Channels" : { + "type" : "array", + "insertionOrder" : false, + "description" : "List of channel IDs added to the channel placement group.", + "items" : { + "type" : "string" + } + }, + "ClusterId" : { + "type" : "string", + "description" : "The ID of the cluster the node is on." + }, + "Id" : { + "type" : "string", + "description" : "Unique internal identifier." + }, + "Name" : { + "type" : "string", + "description" : "The name of the channel placement group." + }, + "Nodes" : { + "type" : "array", + "insertionOrder" : false, + "description" : "List of nodes added to the channel placement group", + "items" : { + "type" : "string" + } + }, + "State" : { + "$ref" : "#/definitions/ChannelPlacementGroupState" + }, + "Tags" : { + "description" : "A collection of key-value pairs.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tags" + } + } + }, + "definitions" : { + "ChannelPlacementGroupState" : { + "type" : "string", + "description" : "The current state of the ChannelPlacementGroupState", + "enum" : [ "UNASSIGNED", "ASSIGNING", "ASSIGNED", "DELETING", "DELETED", "UNASSIGNING" ] + }, + "Tags" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "createOnlyProperties" : [ "/properties/ClusterId" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/Channels", "/properties/Id", "/properties/State" ], + "primaryIdentifier" : [ "/properties/Id", "/properties/ClusterId" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:DescribeChannelPlacementGroup" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteChannelPlacementGroup", "medialive:DescribeChannelPlacementGroup" ] + }, + "list" : { + "permissions" : [ "medialive:ListChannelPlacementGroups" ], + "handlerSchema" : { + "properties" : { + "ClusterId" : { + "$ref" : "resource-schema.json#/properties/ClusterId" + } + }, + "required" : [ "ClusterId" ] + } + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplate.json b/aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplate.json new file mode 100644 index 0000000000..b565628061 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplate.json @@ -0,0 +1,162 @@ +{ + "typeName" : "AWS::MediaLive::CloudWatchAlarmTemplate", + "description" : "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type", + "definitions" : { + "CloudWatchAlarmTemplateComparisonOperator" : { + "type" : "string", + "description" : "The comparison operator used to compare the specified statistic and the threshold.", + "enum" : [ "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold" ] + }, + "CloudWatchAlarmTemplateStatistic" : { + "type" : "string", + "description" : "The statistic to apply to the alarm's metric data.", + "enum" : [ "SampleCount", "Average", "Sum", "Minimum", "Maximum" ] + }, + "CloudWatchAlarmTemplateTargetResourceType" : { + "type" : "string", + "description" : "The resource type this template should dynamically generate cloudwatch metric alarms for.", + "enum" : [ "CLOUDFRONT_DISTRIBUTION", "MEDIALIVE_MULTIPLEX", "MEDIALIVE_CHANNEL", "MEDIALIVE_INPUT_DEVICE", "MEDIAPACKAGE_CHANNEL", "MEDIAPACKAGE_ORIGIN_ENDPOINT", "MEDIACONNECT_FLOW", "S3_BUCKET" ] + }, + "CloudWatchAlarmTemplateTreatMissingData" : { + "type" : "string", + "description" : "Specifies how missing data points are treated when evaluating the alarm's condition.", + "enum" : [ "notBreaching", "breaching", "ignore", "missing" ] + }, + "TagMap" : { + "type" : "object", + "description" : "Represents the tags associated with a resource.", + "patternProperties" : { + ".+" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "pattern" : "^arn:.+:medialive:.+:cloudwatch-alarm-template:.+$", + "description" : "A cloudwatch alarm template's ARN (Amazon Resource Name)" + }, + "ComparisonOperator" : { + "$ref" : "#/definitions/CloudWatchAlarmTemplateComparisonOperator" + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "DatapointsToAlarm" : { + "type" : "number", + "default" : 0, + "minimum" : 1, + "description" : "The number of datapoints within the evaluation period that must be breaching to trigger the alarm." + }, + "Description" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "description" : "A resource's optional description." + }, + "EvaluationPeriods" : { + "type" : "number", + "default" : 0, + "minimum" : 1, + "description" : "The number of periods over which data is compared to the specified threshold." + }, + "GroupId" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "GroupIdentifier" : { + "type" : "string", + "pattern" : "^[^\\s]+$", + "description" : "A cloudwatch alarm template group's identifier. Can be either be its id or current name." + }, + "Id" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-`" + }, + "Identifier" : { + "type" : "string" + }, + "MetricName" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 0, + "description" : "The name of the metric associated with the alarm. Must be compatible with targetResourceType." + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[^\\s]+$", + "description" : "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "Period" : { + "type" : "number", + "default" : 0, + "maximum" : 86400, + "minimum" : 10, + "description" : "The period, in seconds, over which the specified statistic is applied." + }, + "Statistic" : { + "$ref" : "#/definitions/CloudWatchAlarmTemplateStatistic" + }, + "Tags" : { + "$ref" : "#/definitions/TagMap" + }, + "TargetResourceType" : { + "$ref" : "#/definitions/CloudWatchAlarmTemplateTargetResourceType" + }, + "Threshold" : { + "type" : "number", + "default" : 0, + "description" : "The threshold value to compare with the specified statistic." + }, + "TreatMissingData" : { + "$ref" : "#/definitions/CloudWatchAlarmTemplateTreatMissingData" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "required" : [ "ComparisonOperator", "EvaluationPeriods", "GroupIdentifier", "MetricName", "Name", "Period", "Statistic", "TargetResourceType", "Threshold", "TreatMissingData" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedAt", "/properties/Id", "/properties/GroupId", "/properties/Identifier", "/properties/ModifiedAt" ], + "writeOnlyProperties" : [ "/properties/GroupIdentifier" ], + "createOnlyProperties" : [ "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/Identifier" ], + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateCloudWatchAlarmTemplate", "medialive:GetCloudWatchAlarmTemplate", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:GetCloudWatchAlarmTemplate" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateCloudWatchAlarmTemplate", "medialive:GetCloudWatchAlarmTemplate", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteCloudWatchAlarmTemplate" ] + }, + "list" : { + "permissions" : [ "medialive:ListCloudWatchAlarmTemplates" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplategroup.json b/aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplategroup.json new file mode 100644 index 0000000000..c2afd00fc0 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-cloudwatchalarmtemplategroup.json @@ -0,0 +1,87 @@ +{ + "typeName" : "AWS::MediaLive::CloudWatchAlarmTemplateGroup", + "description" : "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type", + "definitions" : { + "TagMap" : { + "type" : "object", + "description" : "Represents the tags associated with a resource.", + "patternProperties" : { + ".+" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "pattern" : "^arn:.+:medialive:.+:cloudwatch-alarm-template-group:.+$", + "description" : "A cloudwatch alarm template group's ARN (Amazon Resource Name)" + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Description" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "description" : "A resource's optional description." + }, + "Id" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "Identifier" : { + "type" : "string" + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[^\\s]+$", + "description" : "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "Tags" : { + "$ref" : "#/definitions/TagMap" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "required" : [ "Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedAt", "/properties/Id", "/properties/Identifier", "/properties/ModifiedAt" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/Identifier" ], + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateCloudWatchAlarmTemplateGroup", "medialive:GetCloudWatchAlarmTemplateGroup", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:GetCloudWatchAlarmTemplateGroup" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateCloudWatchAlarmTemplateGroup", "medialive:GetCloudWatchAlarmTemplateGroup", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteCloudWatchAlarmTemplateGroup" ] + }, + "list" : { + "permissions" : [ "medialive:ListCloudWatchAlarmTemplateGroups" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-cluster.json b/aws-cloudformation-schema/aws-medialive-cluster.json new file mode 100644 index 0000000000..a050b1ed25 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-cluster.json @@ -0,0 +1,153 @@ +{ + "typeName" : "AWS::MediaLive::Cluster", + "description" : "Definition of AWS::MediaLive::Cluster Resource Type", + "definitions" : { + "ClusterNetworkSettings" : { + "type" : "object", + "description" : "On premises settings which will have the interface network mappings and default Output logical interface", + "properties" : { + "DefaultRoute" : { + "type" : "string", + "description" : "Default value if the customer does not define it in channel Output API" + }, + "InterfaceMappings" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/InterfaceMapping" + }, + "description" : "Network mappings for the cluster" + } + }, + "additionalProperties" : false + }, + "ClusterState" : { + "type" : "string", + "description" : "The current state of the Cluster.", + "enum" : [ "CREATING", "CREATE_FAILED", "ACTIVE", "DELETING", "DELETED" ] + }, + "ClusterType" : { + "type" : "string", + "description" : "The hardware type for the cluster.", + "enum" : [ "ON_PREMISES", "OUTPOSTS_RACK", "OUTPOSTS_SERVER", "EC2" ] + }, + "InterfaceMapping" : { + "type" : "object", + "description" : "Network mappings for the cluster", + "properties" : { + "LogicalInterfaceName" : { + "type" : "string", + "description" : "logical interface name, unique in the list" + }, + "NetworkId" : { + "type" : "string", + "description" : "Network Id to be associated with the logical interface name, can be duplicated in list" + } + }, + "additionalProperties" : false + }, + "InterfaceNetworkMapping" : { + "type" : "object", + "description" : "Network mappings for the cluster", + "properties" : { + "LogicalInterfaceName" : { + "type" : "string", + "description" : "logical interface name, unique in the list" + }, + "NetworkId" : { + "type" : "string", + "description" : "Network Id to be associated with the logical interface name, can be duplicated in list" + } + }, + "additionalProperties" : false + }, + "Tags" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "pattern" : "^arn:.+:medialive:.+:cluster:.+$", + "description" : "The ARN of the Cluster." + }, + "ChannelIds" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string", + "description" : "MediaLive Channel Ids" + }, + "description" : "The MediaLive Channels that are currently running on Nodes in this Cluster." + }, + "ClusterType" : { + "$ref" : "#/definitions/ClusterType" + }, + "Id" : { + "type" : "string", + "description" : "The unique ID of the Cluster." + }, + "InstanceRoleArn" : { + "type" : "string", + "pattern" : "^arn:.+:iam:.+:role/.+$", + "description" : "The IAM role your nodes will use." + }, + "Name" : { + "type" : "string", + "description" : "The user-specified name of the Cluster to be created." + }, + "NetworkSettings" : { + "$ref" : "#/definitions/ClusterNetworkSettings" + }, + "State" : { + "$ref" : "#/definitions/ClusterState" + }, + "Tags" : { + "description" : "A collection of key-value pairs.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tags" + } + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "readOnlyProperties" : [ "/properties/Arn", "/properties/ChannelIds", "/properties/Id", "/properties/State" ], + "createOnlyProperties" : [ "/properties/ClusterType", "/properties/InstanceRoleArn" ], + "primaryIdentifier" : [ "/properties/Id" ], + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateCluster", "medialive:DescribeCluster", "medialive:CreateTags", "ecs:CreateCluster", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:CreateService", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "medialive:DescribeCluster" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateCluster", "medialive:DescribeCluster", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteCluster", "medialive:DescribeCluster" ] + }, + "list" : { + "permissions" : [ "medialive:ListClusters" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-eventbridgeruletemplate.json b/aws-cloudformation-schema/aws-medialive-eventbridgeruletemplate.json new file mode 100644 index 0000000000..7ff0c82af8 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-eventbridgeruletemplate.json @@ -0,0 +1,134 @@ +{ + "typeName" : "AWS::MediaLive::EventBridgeRuleTemplate", + "description" : "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type", + "definitions" : { + "EventBridgeRuleTemplateEventType" : { + "type" : "string", + "description" : "The type of event to match with the rule.", + "enum" : [ "MEDIALIVE_MULTIPLEX_ALERT", "MEDIALIVE_MULTIPLEX_STATE_CHANGE", "MEDIALIVE_CHANNEL_ALERT", "MEDIALIVE_CHANNEL_INPUT_CHANGE", "MEDIALIVE_CHANNEL_STATE_CHANGE", "MEDIAPACKAGE_INPUT_NOTIFICATION", "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION", "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION", "SIGNAL_MAP_ACTIVE_ALARM", "MEDIACONNECT_ALERT", "MEDIACONNECT_SOURCE_HEALTH", "MEDIACONNECT_OUTPUT_HEALTH", "MEDIACONNECT_FLOW_STATUS_CHANGE" ] + }, + "EventBridgeRuleTemplateTarget" : { + "type" : "object", + "description" : "The target to which to send matching events.", + "properties" : { + "Arn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "pattern" : "^arn.+$", + "description" : "Target ARNs must be either an SNS topic or CloudWatch log group." + } + }, + "required" : [ "Arn" ], + "additionalProperties" : false + }, + "TagMap" : { + "type" : "object", + "description" : "Represents the tags associated with a resource.", + "patternProperties" : { + ".+" : { + "type" : "string", + "description" : "Placeholder documentation for __string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "pattern" : "^arn:.+:medialive:.+:eventbridge-rule-template:.+$", + "description" : "An eventbridge rule template's ARN (Amazon Resource Name)" + }, + "CreatedAt" : { + "type" : "string", + "description" : "Placeholder documentation for __timestampIso8601", + "format" : "date-time" + }, + "Description" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "description" : "A resource's optional description." + }, + "EventTargets" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/EventBridgeRuleTemplateTarget" + }, + "description" : "Placeholder documentation for __listOfEventBridgeRuleTemplateTarget" + }, + "EventType" : { + "$ref" : "#/definitions/EventBridgeRuleTemplateEventType" + }, + "GroupId" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "GroupIdentifier" : { + "type" : "string", + "pattern" : "^[^\\s]+$", + "description" : "An eventbridge rule template group's identifier. Can be either be its id or current name." + }, + "Id" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "An eventbridge rule template's id. AWS provided templates have ids that start with `aws-`" + }, + "Identifier" : { + "type" : "string", + "description" : "Placeholder documentation for __string" + }, + "ModifiedAt" : { + "type" : "string", + "description" : "Placeholder documentation for __timestampIso8601", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[^\\s]+$", + "description" : "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "Tags" : { + "$ref" : "#/definitions/TagMap" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "required" : [ "EventType", "GroupIdentifier", "Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedAt", "/properties/GroupId", "/properties/Id", "/properties/Identifier", "/properties/ModifiedAt" ], + "writeOnlyProperties" : [ "/properties/GroupIdentifier" ], + "createOnlyProperties" : [ "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/Identifier" ], + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateEventBridgeRuleTemplate", "medialive:GetEventBridgeRuleTemplate", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:GetEventBridgeRuleTemplate" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateEventBridgeRuleTemplate", "medialive:GetEventBridgeRuleTemplate", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteEventBridgeRuleTemplate" ] + }, + "list" : { + "permissions" : [ "medialive:ListEventBridgeRuleTemplates" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-eventbridgeruletemplategroup.json b/aws-cloudformation-schema/aws-medialive-eventbridgeruletemplategroup.json new file mode 100644 index 0000000000..3f3834ba7b --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-eventbridgeruletemplategroup.json @@ -0,0 +1,87 @@ +{ + "typeName" : "AWS::MediaLive::EventBridgeRuleTemplateGroup", + "description" : "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type", + "definitions" : { + "TagMap" : { + "type" : "object", + "description" : "Represents the tags associated with a resource.", + "patternProperties" : { + ".+" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "pattern" : "^arn:.+:medialive:.+:eventbridge-rule-template-group:.+$", + "description" : "An eventbridge rule template group's ARN (Amazon Resource Name)" + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Description" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "description" : "A resource's optional description." + }, + "Id" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "Identifier" : { + "type" : "string" + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Name" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[^\\s]+$", + "description" : "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "Tags" : { + "$ref" : "#/definitions/TagMap" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "required" : [ "Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CreatedAt", "/properties/Id", "/properties/Identifier", "/properties/ModifiedAt" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/Identifier" ], + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateEventBridgeRuleTemplateGroup", "medialive:GetEventBridgeRuleTemplateGroup", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:GetEventBridgeRuleTemplateGroup" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateEventBridgeRuleTemplateGroup", "medialive:GetEventBridgeRuleTemplateGroup", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteEventBridgeRuleTemplateGroup" ] + }, + "list" : { + "permissions" : [ "medialive:ListEventBridgeRuleTemplateGroups" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-network.json b/aws-cloudformation-schema/aws-medialive-network.json new file mode 100644 index 0000000000..ec649295c7 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-network.json @@ -0,0 +1,127 @@ +{ + "typeName" : "AWS::MediaLive::Network", + "description" : "Resource schema for AWS::MediaLive::Network.", + "properties" : { + "Arn" : { + "type" : "string", + "description" : "The ARN of the Network." + }, + "AssociatedClusterIds" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string", + "description" : "Cluster Ids which have this network ID in their Interface Network Mappings" + } + }, + "Id" : { + "type" : "string", + "description" : "The unique ID of the Network." + }, + "IpPools" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/IpPool" + }, + "description" : "The list of IP address cidr pools for the network" + }, + "Name" : { + "type" : "string", + "description" : "The user-specified name of the Network to be created." + }, + "Routes" : { + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Route" + }, + "description" : "The routes for the network" + }, + "State" : { + "$ref" : "#/definitions/NetworkState", + "description" : "The current state of the Network." + }, + "Tags" : { + "description" : "A collection of key-value pairs.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tags" + } + } + }, + "definitions" : { + "IpPool" : { + "type" : "object", + "description" : "IP address cidr pool", + "properties" : { + "Cidr" : { + "type" : "string", + "description" : "IP address cidr pool" + } + }, + "additionalProperties" : false + }, + "NetworkState" : { + "type" : "string", + "enum" : [ "CREATING", "CREATE_FAILED", "ACTIVE", "DELETING", "IDLE", "IN_USE", "UPDATING", "DELETED", "DELETE_FAILED" ] + }, + "Route" : { + "type" : "object", + "properties" : { + "Cidr" : { + "type" : "string", + "description" : "Ip address cidr" + }, + "Gateway" : { + "type" : "string", + "description" : "IP address for the route packet paths" + } + }, + "additionalProperties" : false + }, + "Tags" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "required" : [ "Name", "IpPools" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/Id", "/properties/State", "/properties/AssociatedClusterIds" ], + "primaryIdentifier" : [ "/properties/Id" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateNetwork", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:DescribeNetwork" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateNetwork", "medialive:CreateTags", "medialive:DeleteTags", "medialive:DescribeNetwork" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteNetwork", "medialive:DescribeNetwork" ] + }, + "list" : { + "permissions" : [ "medialive:ListNetworks" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-sdisource.json b/aws-cloudformation-schema/aws-medialive-sdisource.json new file mode 100644 index 0000000000..fcc618fe20 --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-sdisource.json @@ -0,0 +1,102 @@ +{ + "typeName" : "AWS::MediaLive::SdiSource", + "description" : "Definition of AWS::MediaLive::SdiSource Resource Type", + "properties" : { + "Arn" : { + "type" : "string", + "description" : "The unique arn of the SdiSource." + }, + "Id" : { + "type" : "string", + "description" : "The unique identifier of the SdiSource." + }, + "Mode" : { + "$ref" : "#/definitions/SdiSourceMode" + }, + "Name" : { + "type" : "string", + "description" : "The name of the SdiSource." + }, + "State" : { + "$ref" : "#/definitions/SdiSourceState" + }, + "Type" : { + "$ref" : "#/definitions/SdiSourceType" + }, + "Inputs" : { + "description" : "The list of inputs currently using this SDI source.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "type" : "string" + } + }, + "Tags" : { + "description" : "A collection of key-value pairs.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tags" + } + } + }, + "definitions" : { + "SdiSourceMode" : { + "type" : "string", + "description" : "The current state of the SdiSource.", + "enum" : [ "QUADRANT", "INTERLEAVE" ] + }, + "SdiSourceState" : { + "type" : "string", + "description" : "The current state of the SdiSource.", + "enum" : [ "IDLE", "IN_USE", "DELETED" ] + }, + "SdiSourceType" : { + "type" : "string", + "description" : "The interface mode of the SdiSource.", + "enum" : [ "SINGLE", "QUAD" ] + }, + "Tags" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "required" : [ "Name", "Type" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/State", "/properties/Arn", "/properties/Inputs" ], + "primaryIdentifier" : [ "/properties/Id" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateSdiSource", "medialive:CreateTags" ] + }, + "read" : { + "permissions" : [ "medialive:DescribeSdiSource" ] + }, + "update" : { + "permissions" : [ "medialive:UpdateSdiSource", "medialive:DescribeSdiSource", "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "medialive:DeleteSdiSource", "medialive:DescribeSdiSource" ] + }, + "list" : { + "permissions" : [ "medialive:ListSdiSources" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-medialive-signalmap.json b/aws-cloudformation-schema/aws-medialive-signalmap.json new file mode 100644 index 0000000000..ae00d7323b --- /dev/null +++ b/aws-cloudformation-schema/aws-medialive-signalmap.json @@ -0,0 +1,281 @@ +{ + "typeName" : "AWS::MediaLive::SignalMap", + "description" : "Definition of AWS::MediaLive::SignalMap Resource Type", + "definitions" : { + "FailedMediaResourceMap" : { + "type" : "object", + "description" : "A map representing an incomplete AWS media workflow as a graph.", + "patternProperties" : { + ".+" : { + "$ref" : "#/definitions/MediaResource" + } + }, + "additionalProperties" : false + }, + "MediaResource" : { + "type" : "object", + "description" : "An AWS resource used in media workflows.", + "properties" : { + "Destinations" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/MediaResourceNeighbor" + } + }, + "Name" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "The logical name of an AWS media resource." + }, + "Sources" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/MediaResourceNeighbor" + } + } + }, + "additionalProperties" : false + }, + "MediaResourceMap" : { + "type" : "object", + "description" : "A map representing an AWS media workflow as a graph.", + "patternProperties" : { + ".+" : { + "$ref" : "#/definitions/MediaResource" + } + }, + "additionalProperties" : false + }, + "MediaResourceNeighbor" : { + "type" : "object", + "description" : "A direct source or destination neighbor to an AWS media resource.", + "properties" : { + "Arn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "pattern" : "^arn.+$", + "description" : "The ARN of a resource used in AWS media workflows." + }, + "Name" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "The logical name of an AWS media resource." + } + }, + "required" : [ "Arn" ], + "additionalProperties" : false + }, + "MonitorDeployment" : { + "type" : "object", + "description" : "Represents the latest monitor deployment of a signal map.", + "properties" : { + "DetailsUri" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "description" : "URI associated with a signal map's monitor deployment." + }, + "ErrorMessage" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "description" : "Error message associated with a failed monitor deployment of a signal map." + }, + "Status" : { + "$ref" : "#/definitions/SignalMapMonitorDeploymentStatus" + } + }, + "required" : [ "Status" ], + "additionalProperties" : false + }, + "SignalMapMonitorDeploymentStatus" : { + "type" : "string", + "description" : "A signal map's monitor deployment status.", + "enum" : [ "NOT_DEPLOYED", "DRY_RUN_DEPLOYMENT_COMPLETE", "DRY_RUN_DEPLOYMENT_FAILED", "DRY_RUN_DEPLOYMENT_IN_PROGRESS", "DEPLOYMENT_COMPLETE", "DEPLOYMENT_FAILED", "DEPLOYMENT_IN_PROGRESS", "DELETE_COMPLETE", "DELETE_FAILED", "DELETE_IN_PROGRESS" ] + }, + "SignalMapStatus" : { + "type" : "string", + "description" : "A signal map's current status which is dependent on its lifecycle actions or associated jobs.", + "enum" : [ "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "CREATE_FAILED", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_REVERTED", "UPDATE_FAILED", "READY", "NOT_READY" ] + }, + "SuccessfulMonitorDeployment" : { + "type" : "object", + "description" : "Represents the latest successful monitor deployment of a signal map.", + "properties" : { + "DetailsUri" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "description" : "URI associated with a signal map's monitor deployment." + }, + "Status" : { + "$ref" : "#/definitions/SignalMapMonitorDeploymentStatus" + } + }, + "required" : [ "DetailsUri", "Status" ], + "additionalProperties" : false + }, + "TagMap" : { + "type" : "object", + "description" : "Represents the tags associated with a resource.", + "patternProperties" : { + ".+" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "Unit" : { + "type" : "object", + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "pattern" : "^arn:.+:medialive:.+:signal-map:.+$", + "description" : "A signal map's ARN (Amazon Resource Name)" + }, + "CloudWatchAlarmTemplateGroupIdentifiers" : { + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^[^\\s]+$" + } + }, + "CloudWatchAlarmTemplateGroupIds" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$" + } + }, + "CreatedAt" : { + "type" : "string", + "format" : "date-time" + }, + "Description" : { + "type" : "string", + "maxLength" : 1024, + "minLength" : 0, + "description" : "A resource's optional description." + }, + "DiscoveryEntryPointArn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "description" : "A top-level supported AWS resource ARN to discovery a signal map from." + }, + "ErrorMessage" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 1, + "description" : "Error message associated with a failed creation or failed update attempt of a signal map." + }, + "EventBridgeRuleTemplateGroupIdentifiers" : { + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^[^\\s]+$" + } + }, + "EventBridgeRuleTemplateGroupIds" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$" + } + }, + "FailedMediaResourceMap" : { + "$ref" : "#/definitions/FailedMediaResourceMap" + }, + "ForceRediscovery" : { + "type" : "boolean", + "default" : false, + "description" : "If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided." + }, + "Id" : { + "type" : "string", + "maxLength" : 11, + "minLength" : 7, + "pattern" : "^(aws-)?[0-9]{7}$", + "description" : "A signal map's id." + }, + "Identifier" : { + "type" : "string" + }, + "LastDiscoveredAt" : { + "type" : "string", + "format" : "date-time" + }, + "LastSuccessfulMonitorDeployment" : { + "$ref" : "#/definitions/SuccessfulMonitorDeployment" + }, + "MediaResourceMap" : { + "$ref" : "#/definitions/MediaResourceMap" + }, + "ModifiedAt" : { + "type" : "string", + "format" : "date-time" + }, + "MonitorChangesPendingDeployment" : { + "type" : "boolean", + "default" : false, + "description" : "If true, there are pending monitor changes for this signal map that can be deployed." + }, + "MonitorDeployment" : { + "$ref" : "#/definitions/MonitorDeployment" + }, + "Name" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1, + "pattern" : "^[^\\s]+$", + "description" : "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "Status" : { + "$ref" : "#/definitions/SignalMapStatus" + }, + "Tags" : { + "$ref" : "#/definitions/TagMap" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "medialive:CreateTags", "medialive:DeleteTags" ] + }, + "required" : [ "DiscoveryEntryPointArn", "Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/CloudWatchAlarmTemplateGroupIds", "/properties/CreatedAt", "/properties/ErrorMessage", "/properties/EventBridgeRuleTemplateGroupIds", "/properties/FailedMediaResourceMap", "/properties/Id", "/properties/Identifier", "/properties/LastDiscoveredAt", "/properties/LastSuccessfulMonitorDeployment", "/properties/MediaResourceMap", "/properties/ModifiedAt", "/properties/MonitorChangesPendingDeployment", "/properties/MonitorDeployment", "/properties/Status" ], + "writeOnlyProperties" : [ "/properties/CloudWatchAlarmTemplateGroupIdentifiers", "/properties/EventBridgeRuleTemplateGroupIdentifiers", "/properties/ForceRediscovery" ], + "createOnlyProperties" : [ "/properties/Tags" ], + "primaryIdentifier" : [ "/properties/Identifier" ], + "handlers" : { + "create" : { + "permissions" : [ "medialive:CreateSignalMap", "medialive:GetSignalMap", "medialive:CreateTags", "medialive:DescribeChannel", "medialive:DescribeInput", "medialive:DescribeInputDevice", "medialive:DescribeInputSecurityGroup", "medialive:DescribeMultiplex", "medialive:DescribeMultiplexProgram", "medialive:ListChannels", "medialive:ListInputDevices", "medialive:ListInputSecurityGroups", "medialive:ListInputs", "medialive:ListMultiplexPrograms", "medialive:ListMultiplexes", "medialive:ListOfferings", "medialive:ListReservations", "medialive:ListTagsForResource", "cloudfront:ListDistributions", "cloudfront:GetDistribution", "ec2:DescribeNetworkInterfaces", "mediaconnect:ListEntitlements", "mediaconnect:ListFlows", "mediaconnect:ListOfferings", "mediaconnect:ListReservations", "mediaconnect:DescribeFlow", "mediapackage:ListChannels", "mediapackage:ListOriginEndpoints", "mediapackage:DescribeChannel", "mediapackage:DescribeOriginEndpoint", "mediapackagev2:ListChannelGroups", "mediapackagev2:ListChannels", "mediapackagev2:ListOriginEndpoints", "mediapackagev2:GetChannelGroup", "mediapackagev2:GetChannel", "mediapackagev2:GetOriginEndpoint", "tag:GetResources" ] + }, + "read" : { + "permissions" : [ "medialive:GetSignalMap", "tag:GetResources" ] + }, + "update" : { + "permissions" : [ "medialive:StartUpdateSignalMap", "medialive:GetSignalMap", "medialive:CreateTags", "medialive:DeleteTags", "medialive:DescribeChannel", "medialive:DescribeInput", "medialive:DescribeInputDevice", "medialive:DescribeInputSecurityGroup", "medialive:DescribeMultiplex", "medialive:DescribeMultiplexProgram", "medialive:ListChannels", "medialive:ListInputDevices", "medialive:ListInputSecurityGroups", "medialive:ListInputs", "medialive:ListMultiplexPrograms", "medialive:ListMultiplexes", "medialive:ListOfferings", "medialive:ListReservations", "medialive:ListTagsForResource", "cloudfront:ListDistributions", "cloudfront:GetDistribution", "ec2:DescribeNetworkInterfaces", "mediaconnect:ListEntitlements", "mediaconnect:ListFlows", "mediaconnect:ListOfferings", "mediaconnect:ListReservations", "mediaconnect:DescribeFlow", "mediapackage:ListChannels", "mediapackage:ListOriginEndpoints", "mediapackage:DescribeChannel", "mediapackage:DescribeOriginEndpoint", "mediapackagev2:ListChannelGroups", "mediapackagev2:ListChannels", "mediapackagev2:ListOriginEndpoints", "mediapackagev2:GetChannelGroup", "mediapackagev2:GetChannel", "mediapackagev2:GetOriginEndpoint", "tag:GetResources" ] + }, + "delete" : { + "permissions" : [ "medialive:GetSignalMap", "medialive:DeleteSignalMap" ] + }, + "list" : { + "permissions" : [ "medialive:ListSignalMaps" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-networkmanager-connectattachment.json b/aws-cloudformation-schema/aws-networkmanager-connectattachment.json index ab8ded711b..6833071b70 100644 --- a/aws-cloudformation-schema/aws-networkmanager-connectattachment.json +++ b/aws-cloudformation-schema/aws-networkmanager-connectattachment.json @@ -164,7 +164,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "readOnlyProperties" : [ "/properties/CoreNetworkArn", "/properties/CreatedAt", "/properties/UpdatedAt", "/properties/AttachmentType", "/properties/State", "/properties/ResourceArn", "/properties/AttachmentId", "/properties/OwnerAccountId", "/properties/AttachmentPolicyRuleNumber", "/properties/SegmentName" ], "createOnlyProperties" : [ "/properties/CoreNetworkId", "/properties/EdgeLocation", "/properties/TransportAttachmentId", "/properties/Options" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-connectpeer.json b/aws-cloudformation-schema/aws-networkmanager-connectpeer.json index 0b0c94d3ae..21cc9d0878 100644 --- a/aws-cloudformation-schema/aws-networkmanager-connectpeer.json +++ b/aws-cloudformation-schema/aws-networkmanager-connectpeer.json @@ -157,7 +157,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "required" : [ "ConnectAttachmentId", "PeerAddress" ], "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-networkmanager-corenetwork.json b/aws-cloudformation-schema/aws-networkmanager-corenetwork.json index 2f54f1ed02..0dd7e93c65 100644 --- a/aws-cloudformation-schema/aws-networkmanager-corenetwork.json +++ b/aws-cloudformation-schema/aws-networkmanager-corenetwork.json @@ -180,7 +180,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "required" : [ "GlobalNetworkId" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-device.json b/aws-cloudformation-schema/aws-networkmanager-device.json index ee2b5dd12e..8a96f3815e 100644 --- a/aws-cloudformation-schema/aws-networkmanager-device.json +++ b/aws-cloudformation-schema/aws-networkmanager-device.json @@ -122,7 +122,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "required" : [ "GlobalNetworkId" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-globalnetwork.json b/aws-cloudformation-schema/aws-networkmanager-globalnetwork.json index 246a2254fc..108aa265f3 100644 --- a/aws-cloudformation-schema/aws-networkmanager-globalnetwork.json +++ b/aws-cloudformation-schema/aws-networkmanager-globalnetwork.json @@ -56,7 +56,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-link.json b/aws-cloudformation-schema/aws-networkmanager-link.json index c800a5a510..3875757b0f 100644 --- a/aws-cloudformation-schema/aws-networkmanager-link.json +++ b/aws-cloudformation-schema/aws-networkmanager-link.json @@ -91,7 +91,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "required" : [ "GlobalNetworkId", "SiteId", "Bandwidth" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-site.json b/aws-cloudformation-schema/aws-networkmanager-site.json index 6bb11fd5c9..fdcb31f70b 100644 --- a/aws-cloudformation-schema/aws-networkmanager-site.json +++ b/aws-cloudformation-schema/aws-networkmanager-site.json @@ -83,7 +83,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "required" : [ "GlobalNetworkId" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-sitetositevpnattachment.json b/aws-cloudformation-schema/aws-networkmanager-sitetositevpnattachment.json index 74f90b8a64..7a30b11dec 100644 --- a/aws-cloudformation-schema/aws-networkmanager-sitetositevpnattachment.json +++ b/aws-cloudformation-schema/aws-networkmanager-sitetositevpnattachment.json @@ -148,7 +148,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "createOnlyProperties" : [ "/properties/CoreNetworkId", "/properties/VpnConnectionArn" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-transitgatewaypeering.json b/aws-cloudformation-schema/aws-networkmanager-transitgatewaypeering.json index c96cb67b48..04c93705af 100644 --- a/aws-cloudformation-schema/aws-networkmanager-transitgatewaypeering.json +++ b/aws-cloudformation-schema/aws-networkmanager-transitgatewaypeering.json @@ -85,7 +85,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "required" : [ "CoreNetworkId", "TransitGatewayArn" ], "readOnlyProperties" : [ "/properties/CoreNetworkArn", "/properties/PeeringId", "/properties/State", "/properties/PeeringType", "/properties/OwnerAccountId", "/properties/EdgeLocation", "/properties/ResourceArn", "/properties/CreatedAt", "/properties/TransitGatewayPeeringAttachmentId" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-transitgatewayroutetableattachment.json b/aws-cloudformation-schema/aws-networkmanager-transitgatewayroutetableattachment.json index ac1612dfb0..4ca3a1ecb0 100644 --- a/aws-cloudformation-schema/aws-networkmanager-transitgatewayroutetableattachment.json +++ b/aws-cloudformation-schema/aws-networkmanager-transitgatewayroutetableattachment.json @@ -154,7 +154,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "required" : [ "PeeringId", "TransitGatewayRouteTableArn" ], "createOnlyProperties" : [ "/properties/PeeringId", "/properties/TransitGatewayRouteTableArn" ], diff --git a/aws-cloudformation-schema/aws-networkmanager-vpcattachment.json b/aws-cloudformation-schema/aws-networkmanager-vpcattachment.json index 3a3a114969..f1e6023835 100644 --- a/aws-cloudformation-schema/aws-networkmanager-vpcattachment.json +++ b/aws-cloudformation-schema/aws-networkmanager-vpcattachment.json @@ -177,7 +177,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "networkmanager:TagResource", "networkmanager:UntagResource", "networkmanager:ListTagsForResource" ] }, "additionalProperties" : false, "required" : [ "CoreNetworkId", "VpcArn", "SubnetArns" ], diff --git a/aws-cloudformation-schema/aws-paymentcryptography-key.json b/aws-cloudformation-schema/aws-paymentcryptography-key.json index 1c41b7879a..51cc1d7acd 100644 --- a/aws-cloudformation-schema/aws-paymentcryptography-key.json +++ b/aws-cloudformation-schema/aws-paymentcryptography-key.json @@ -4,7 +4,7 @@ "definitions" : { "KeyAlgorithm" : { "type" : "string", - "enum" : [ "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096" ] + "enum" : [ "TDES_2KEY", "TDES_3KEY", "AES_128", "AES_192", "AES_256", "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384" ] }, "KeyAttributes" : { "type" : "object", @@ -100,10 +100,10 @@ "Value" : { "type" : "string", "maxLength" : 256, - "minLength" : 0 + "minLength" : 1 } }, - "required" : [ "Key" ], + "required" : [ "Key", "Value" ], "additionalProperties" : false } }, @@ -167,7 +167,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "payment-cryptography:ListTagsForResource", "payment-cryptography:TagResource", "payment-cryptography:UntagResource" ] }, "additionalProperties" : false } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-pcaconnectorscep-challenge.json b/aws-cloudformation-schema/aws-pcaconnectorscep-challenge.json new file mode 100644 index 0000000000..2090dd9793 --- /dev/null +++ b/aws-cloudformation-schema/aws-pcaconnectorscep-challenge.json @@ -0,0 +1,75 @@ +{ + "typeName" : "AWS::PCAConnectorSCEP::Challenge", + "description" : "Represents a SCEP Challenge that is used for certificate enrollment", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcaconnectorscep", + "definitions" : { + "Tags" : { + "type" : "object", + "patternProperties" : { + ".+" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "Unit" : { + "type" : "object", + "additionalProperties" : false + } + }, + "properties" : { + "ChallengeArn" : { + "type" : "string", + "maxLength" : 200, + "minLength" : 5, + "pattern" : "^arn:aws(-[a-z]+)*:pca-connector-scep:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\\/challenge\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$" + }, + "ConnectorArn" : { + "type" : "string", + "maxLength" : 200, + "minLength" : 5, + "pattern" : "^arn:aws(-[a-z]+)*:pca-connector-scep:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$" + }, + "Tags" : { + "$ref" : "#/definitions/Tags" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "pca-connector-scep:ListTagsForResource", "pca-connector-scep:TagResource", "pca-connector-scep:UntagResource" ] + }, + "required" : [ "ConnectorArn" ], + "readOnlyProperties" : [ "/properties/ChallengeArn" ], + "createOnlyProperties" : [ "/properties/ConnectorArn" ], + "primaryIdentifier" : [ "/properties/ChallengeArn" ], + "handlers" : { + "create" : { + "permissions" : [ "pca-connector-scep:CreateChallenge", "pca-connector-scep:TagResource" ] + }, + "read" : { + "permissions" : [ "pca-connector-scep:ListTagsForResource", "pca-connector-scep:GetChallengeMetadata" ] + }, + "delete" : { + "permissions" : [ "pca-connector-scep:GetChallengeMetadata", "pca-connector-scep:DeleteChallenge", "pca-connector-scep:UntagResource" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ConnectorArn" : { + "$ref" : "resource-schema.json#/properties/ConnectorArn" + } + }, + "required" : [ "ConnectorArn" ] + }, + "permissions" : [ "pca-connector-scep:ListChallengeMetadata" ] + }, + "update" : { + "permissions" : [ "pca-connector-scep:ListTagsForResource", "pca-connector-scep:TagResource", "pca-connector-scep:UntagResource" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-pcaconnectorscep-connector.json b/aws-cloudformation-schema/aws-pcaconnectorscep-connector.json new file mode 100644 index 0000000000..b46fb165e4 --- /dev/null +++ b/aws-cloudformation-schema/aws-pcaconnectorscep-connector.json @@ -0,0 +1,132 @@ +{ + "typeName" : "AWS::PCAConnectorSCEP::Connector", + "description" : "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP)", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcaconnectorscep", + "definitions" : { + "ConnectorType" : { + "type" : "string", + "enum" : [ "GENERAL_PURPOSE", "INTUNE" ] + }, + "IntuneConfiguration" : { + "type" : "object", + "properties" : { + "AzureApplicationId" : { + "type" : "string", + "maxLength" : 100, + "minLength" : 15, + "pattern" : "^[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}$" + }, + "Domain" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9._-]+$" + } + }, + "required" : [ "AzureApplicationId", "Domain" ], + "additionalProperties" : false + }, + "MobileDeviceManagement" : { + "type" : "object", + "oneOf" : [ { + "title" : "Intune", + "properties" : { + "Intune" : { + "$ref" : "#/definitions/IntuneConfiguration" + } + }, + "required" : [ "Intune" ], + "additionalProperties" : false + } ] + }, + "OpenIdConfiguration" : { + "type" : "object", + "properties" : { + "Issuer" : { + "type" : "string" + }, + "Subject" : { + "type" : "string" + }, + "Audience" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "Tags" : { + "type" : "object", + "patternProperties" : { + ".+" : { + "type" : "string" + } + }, + "additionalProperties" : false + }, + "Unit" : { + "type" : "object", + "additionalProperties" : false + } + }, + "properties" : { + "CertificateAuthorityArn" : { + "type" : "string", + "maxLength" : 200, + "minLength" : 5, + "pattern" : "^arn:aws(-[a-z]+)*:acm-pca:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:certificate-authority\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$" + }, + "ConnectorArn" : { + "type" : "string", + "maxLength" : 200, + "minLength" : 5, + "pattern" : "^arn:aws(-[a-z]+)*:pca-connector-scep:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$" + }, + "Type" : { + "$ref" : "#/definitions/ConnectorType" + }, + "Endpoint" : { + "type" : "string", + "maxLength" : 200, + "minLength" : 5 + }, + "MobileDeviceManagement" : { + "$ref" : "#/definitions/MobileDeviceManagement" + }, + "OpenIdConfiguration" : { + "$ref" : "#/definitions/OpenIdConfiguration" + }, + "Tags" : { + "$ref" : "#/definitions/Tags" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "pca-connector-scep:ListTagsForResource", "pca-connector-scep:TagResource", "pca-connector-scep:UntagResource" ] + }, + "required" : [ "CertificateAuthorityArn" ], + "readOnlyProperties" : [ "/properties/ConnectorArn", "/properties/Endpoint", "/properties/OpenIdConfiguration", "/properties/Type" ], + "createOnlyProperties" : [ "/properties/CertificateAuthorityArn", "/properties/MobileDeviceManagement" ], + "primaryIdentifier" : [ "/properties/ConnectorArn" ], + "handlers" : { + "create" : { + "permissions" : [ "acm-pca:DescribeCertificateAuthority", "acm-pca:GetCertificate", "acm-pca:GetCertificateAuthorityCertificate", "acm-pca:IssueCertificate", "pca-connector-scep:GetConnector", "pca-connector-scep:CreateConnector", "pca-connector-scep:TagResource" ] + }, + "read" : { + "permissions" : [ "pca-connector-scep:ListTagsForResource", "pca-connector-scep:GetConnector" ] + }, + "delete" : { + "permissions" : [ "acm-pca:DescribeCertificateAuthority", "acm-pca:GetCertificate", "acm-pca:GetCertificateAuthorityCertificate", "acm-pca:IssueCertificate", "pca-connector-scep:GetConnector", "pca-connector-scep:DeleteConnector", "pca-connector-scep:UntagResource" ] + }, + "list" : { + "permissions" : [ "pca-connector-scep:ListConnectors" ] + }, + "update" : { + "permissions" : [ "pca-connector-scep:ListTagsForResource", "pca-connector-scep:TagResource", "pca-connector-scep:UntagResource" ] + } + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-quicksight-analysis.json b/aws-cloudformation-schema/aws-quicksight-analysis.json index 35d0df4d59..a75dbc4116 100644 --- a/aws-cloudformation-schema/aws-quicksight-analysis.json +++ b/aws-cloudformation-schema/aws-quicksight-analysis.json @@ -8681,6 +8681,10 @@ "type" : "string", "enum" : [ "COMMA", "DOT", "SPACE" ] }, + "QueryExecutionMode" : { + "type" : "string", + "enum" : [ "AUTO", "MANUAL" ] + }, "TargetVisualOptions" : { "type" : "string", "enum" : [ "ALL_VISUALS" ] @@ -8698,6 +8702,15 @@ } } }, + "QueryExecutionOptions" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "QueryExecutionMode" : { + "$ref" : "#/definitions/QueryExecutionMode" + } + } + }, "ColumnSort" : { "additionalProperties" : false, "type" : "object", @@ -10120,6 +10133,9 @@ "$ref" : "#/definitions/FilterGroup" } }, + "QueryExecutionOptions" : { + "$ref" : "#/definitions/QueryExecutionOptions" + }, "CalculatedFields" : { "minItems" : 0, "maxItems" : 500, diff --git a/aws-cloudformation-schema/aws-quicksight-template.json b/aws-cloudformation-schema/aws-quicksight-template.json index 37ec230138..697534192b 100644 --- a/aws-cloudformation-schema/aws-quicksight-template.json +++ b/aws-cloudformation-schema/aws-quicksight-template.json @@ -2572,6 +2572,9 @@ "$ref" : "#/definitions/FilterGroup" } }, + "QueryExecutionOptions" : { + "$ref" : "#/definitions/QueryExecutionOptions" + }, "CalculatedFields" : { "minItems" : 0, "maxItems" : 500, @@ -8720,6 +8723,10 @@ "type" : "string", "enum" : [ "COMMA", "DOT", "SPACE" ] }, + "QueryExecutionMode" : { + "type" : "string", + "enum" : [ "AUTO", "MANUAL" ] + }, "TemplateSourceAnalysis" : { "description" : "

The source analysis of the template.

", "additionalProperties" : false, @@ -8757,6 +8764,15 @@ } } }, + "QueryExecutionOptions" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "QueryExecutionMode" : { + "$ref" : "#/definitions/QueryExecutionMode" + } + } + }, "ColumnSort" : { "additionalProperties" : false, "type" : "object", diff --git a/aws-cloudformation-schema/aws-rds-dbcluster.json b/aws-cloudformation-schema/aws-rds-dbcluster.json index 4112867758..9ff806926d 100644 --- a/aws-cloudformation-schema/aws-rds-dbcluster.json +++ b/aws-cloudformation-schema/aws-rds-dbcluster.json @@ -90,8 +90,7 @@ }, "DBClusterParameterGroupName" : { "description" : "The name of the DB cluster parameter group to associate with this DB cluster.\n If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.\n If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started.\n To list all of the available DB cluster parameter group names, use the following command:\n ``aws rds describe-db-cluster-parameter-groups --query \"DBClusterParameterGroups[].DBClusterParameterGroupName\" --output text`` \n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string", - "default" : "default.aurora5.6" + "type" : "string" }, "DBSubnetGroupName" : { "description" : "A DB subnet group that you want to associate with this DB cluster. \n If you are restoring a DB cluster to a point in time with ``RestoreType`` set to ``copy-on-write``, and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", @@ -177,8 +176,7 @@ }, "MonitoringInterval" : { "description" : "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, also set ``MonitoringInterval`` to a value other than ``0``.\n Valid for Cluster Type: Multi-AZ DB clusters only\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``", - "type" : "integer", - "default" : 0 + "type" : "integer" }, "MonitoringRoleArn" : { "description" : "The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is ``arn:aws:iam:123456789012:role/emaccess``. For information on creating a monitoring role, see [Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling) in the *Amazon RDS User Guide*.\n If ``MonitoringInterval`` is set to a value other than ``0``, supply a ``MonitoringRoleArn`` value.\n Valid for Cluster Type: Multi-AZ DB clusters only", @@ -226,8 +224,7 @@ }, "RestoreType" : { "description" : "The type of restore to be performed. You can specify one of the following values:\n + ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster.\n + ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster.\n \n If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.\n Valid for: Aurora DB clusters and Multi-AZ DB clusters", - "type" : "string", - "default" : "full-copy" + "type" : "string" }, "ServerlessV2ScalingConfiguration" : { "description" : "The scaling configuration of an Aurora Serverless V2 DB cluster. \n This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, Use the ``ScalingConfiguration`` property.\n Valid for: Aurora Serverless v2 DB clusters only", diff --git a/aws-cloudformation-schema/aws-rds-dbclusterparametergroup.json b/aws-cloudformation-schema/aws-rds-dbclusterparametergroup.json index 54e28d9c4e..51e963b042 100644 --- a/aws-cloudformation-schema/aws-rds-dbclusterparametergroup.json +++ b/aws-cloudformation-schema/aws-rds-dbclusterparametergroup.json @@ -77,5 +77,13 @@ "list" : { "permissions" : [ "rds:DescribeDBClusterParameterGroups" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-rds-dbinstance.json b/aws-cloudformation-schema/aws-rds-dbinstance.json index 19a22ffe62..acdeb752cb 100644 --- a/aws-cloudformation-schema/aws-rds-dbinstance.json +++ b/aws-cloudformation-schema/aws-rds-dbinstance.json @@ -142,7 +142,6 @@ "BackupRetentionPeriod" : { "type" : "integer", "minimum" : 0, - "default" : 1, "description" : "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.\n *Amazon Aurora* \n Not applicable. The retention period for automated backups is managed by the DB cluster.\n Default: 1\n Constraints:\n + Must be a value from 0 to 35\n + Can't be set to 0 if the DB instance is a source to read replicas" }, "CACertificateIdentifier" : { @@ -331,7 +330,6 @@ }, "MonitoringInterval" : { "type" : "integer", - "default" : 0, "description" : "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collection of Enhanced Monitoring metrics, specify ``0``.\n If ``MonitoringRoleArn`` is specified, then you must set ``MonitoringInterval`` to a value other than ``0``.\n This setting doesn't apply to RDS Custom DB instances.\n Valid Values: ``0 | 1 | 5 | 10 | 15 | 30 | 60`` \n Default: ``0``" }, "MonitoringRoleArn" : { @@ -385,7 +383,6 @@ "PromotionTier" : { "type" : "integer", "minimum" : 0, - "default" : 1, "description" : "The order of priority in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see [Fault Tolerance for an Aurora DB Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance) in the *Amazon Aurora User Guide*.\n This setting doesn't apply to RDS Custom DB instances.\n Default: ``1`` \n Valid Values: ``0 - 15``" }, "PubliclyAccessible" : { @@ -517,5 +514,13 @@ "list" : { "permissions" : [ "rds:DescribeDBInstances" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-rds-dbparametergroup.json b/aws-cloudformation-schema/aws-rds-dbparametergroup.json index 3ec427e72c..6a7553e8de 100644 --- a/aws-cloudformation-schema/aws-rds-dbparametergroup.json +++ b/aws-cloudformation-schema/aws-rds-dbparametergroup.json @@ -76,5 +76,13 @@ "list" : { "permissions" : [ "rds:DescribeDBParameterGroups" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-rds-eventsubscription.json b/aws-cloudformation-schema/aws-rds-eventsubscription.json index 8354dac81a..92a6c02252 100644 --- a/aws-cloudformation-schema/aws-rds-eventsubscription.json +++ b/aws-cloudformation-schema/aws-rds-eventsubscription.json @@ -94,5 +94,13 @@ "list" : { "permissions" : [ "rds:DescribeEventSubscriptions" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-rds-optiongroup.json b/aws-cloudformation-schema/aws-rds-optiongroup.json index ec11ca60a7..0c99b32838 100644 --- a/aws-cloudformation-schema/aws-rds-optiongroup.json +++ b/aws-cloudformation-schema/aws-rds-optiongroup.json @@ -143,5 +143,13 @@ "list" : { "permissions" : [ "rds:DescribeOptionGroups" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-refactorspaces-route.json b/aws-cloudformation-schema/aws-refactorspaces-route.json index dfc7f316b0..dace8715e5 100644 --- a/aws-cloudformation-schema/aws-refactorspaces-route.json +++ b/aws-cloudformation-schema/aws-refactorspaces-route.json @@ -162,5 +162,12 @@ "permissions" : [ "refactor-spaces:UpdateRoute", "refactor-spaces:GetRoute", "refactor-spaces:TagResource", "iam:CreateServiceLinkedRole", "apigateway:GET", "apigateway:PATCH", "apigateway:POST", "apigateway:PUT", "apigateway:DELETE", "apigateway:UpdateRestApiPolicy", "lambda:GetFunctionConfiguration", "lambda:AddPermission", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeTags", "elasticloadbalancing:AddTags", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DescribeTargetHealth", "ec2:DescribeSubnets", "ec2:DescribeSubnets", "tag:GetResources" ] } }, - "taggable" : true + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "refactor-spaces:ListTagsForResource", "tag:GetResources", "elasticloadbalancing:AddTags", "refactor-spaces:UntagResource", "refactor-spaces:TagResource", "elasticloadbalancing:DescribeTags" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-route53resolver-resolverrule.json b/aws-cloudformation-schema/aws-route53resolver-resolverrule.json index 35b304c82d..df9b3b9e35 100644 --- a/aws-cloudformation-schema/aws-route53resolver-resolverrule.json +++ b/aws-cloudformation-schema/aws-route53resolver-resolverrule.json @@ -1,141 +1,141 @@ { + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : false + }, "typeName" : "AWS::Route53Resolver::ResolverRule", + "readOnlyProperties" : [ "/properties/Arn", "/properties/ResolverRuleId" ], "description" : "Resource Type definition for AWS::Route53Resolver::ResolverRule", + "createOnlyProperties" : [ "/properties/RuleType" ], + "primaryIdentifier" : [ "/properties/ResolverRuleId" ], + "required" : [ "RuleType" ], + "conditionalCreateOnlyProperties" : [ "/properties/DomainName" ], "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-route53resolver.git", - "additionalProperties" : false, - "properties" : { - "ResolverEndpointId" : { - "type" : "string", - "description" : "The ID of the endpoint that the rule is associated with.", - "minLength" : 1, - "maxLength" : 64 - }, - "DomainName" : { - "type" : "string", - "description" : "DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps", - "minLength" : 1, - "maxLength" : 256 - }, - "Name" : { - "type" : "string", - "description" : "The name for the Resolver rule", - "minLength" : 0, - "maxLength" : 64 - }, - "RuleType" : { - "type" : "string", - "description" : "When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD. When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.", - "enum" : [ "FORWARD", "SYSTEM", "RECURSIVE", "DELEGATE" ] - }, - "DelegationRecord" : { - "type" : "string", - "description" : "The name server domain for queries to be delegated to if a query matches the delegation record.", - "minLength" : 1, - "maxLength" : 256 + "propertyTransform" : { + "/properties/DomainName" : "$join([DomainName, \".\"]) $OR DomainName" + }, + "handlers" : { + "read" : { + "permissions" : [ "route53resolver:GetResolverRule", "route53resolver:ListTagsForResource" ] }, - "Tags" : { - "type" : "array", - "description" : "An array of key-value pairs to apply to this resource.", - "uniqueItems" : false, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/Tag" - } + "create" : { + "permissions" : [ "route53resolver:CreateResolverRule", "route53resolver:GetResolverRule", "route53resolver:ListTagsForResource", "route53resolver:TagResource" ] }, - "TargetIps" : { - "type" : "array", - "description" : "An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.", - "uniqueItems" : false, - "insertionOrder" : false, - "items" : { - "$ref" : "#/definitions/TargetAddress" - } + "update" : { + "permissions" : [ "route53resolver:UpdateResolverRule", "route53resolver:GetResolverRule", "route53resolver:ListTagsForResource", "route53resolver:TagResource", "route53resolver:UntagResource" ] }, - "Arn" : { - "type" : "string", - "description" : "The Amazon Resource Name (ARN) of the resolver rule." + "list" : { + "permissions" : [ "route53resolver:ListResolverRules" ] }, - "ResolverRuleId" : { - "type" : "string", - "description" : "The ID of the endpoint that the rule is associated with." + "delete" : { + "permissions" : [ "route53resolver:DeleteResolverRule", "route53resolver:GetResolverRule" ] } }, + "additionalProperties" : false, "definitions" : { "TargetAddress" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "Ip" : { - "type" : "string", - "description" : "One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses. " - }, "Ipv6" : { - "type" : "string", - "description" : "One IPv6 address that you want to forward DNS queries to. You can specify only IPv6 addresses. " + "description" : "One IPv6 address that you want to forward DNS queries to. You can specify only IPv6 addresses. ", + "type" : "string" + }, + "Ip" : { + "description" : "One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses. ", + "type" : "string" }, "Port" : { - "type" : "string", - "description" : "The port at Ip that you want to forward DNS queries to. ", "minLength" : 0, + "description" : "The port at Ip that you want to forward DNS queries to. ", + "type" : "string", "maxLength" : 65535 }, "Protocol" : { - "type" : "string", "description" : "The protocol that you want to use to forward DNS queries. ", + "type" : "string", "enum" : [ "Do53", "DoH" ] } } }, "Tag" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "Key" : { - "type" : "string", - "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", - "minLength" : 1, - "maxLength" : 128 - }, "Value" : { - "type" : "string", - "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", "minLength" : 0, + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type" : "string", "maxLength" : 256 + }, + "Key" : { + "minLength" : 1, + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "type" : "string", + "maxLength" : 128 } }, "required" : [ "Value", "Key" ] } }, - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" - }, - "required" : [ "RuleType" ], - "primaryIdentifier" : [ "/properties/ResolverRuleId" ], - "readOnlyProperties" : [ "/properties/Arn", "/properties/ResolverRuleId" ], - "createOnlyProperties" : [ "/properties/RuleType" ], - "conditionalCreateOnlyProperties" : [ "/properties/DomainName" ], - "propertyTransform" : { - "/properties/DomainName" : "$join([DomainName, \".\"]) $OR DomainName" - }, - "handlers" : { - "create" : { - "permissions" : [ "route53resolver:CreateResolverRule", "route53resolver:GetResolverRule", "route53resolver:ListTagsForResource", "route53resolver:TagResource" ] + "properties" : { + "ResolverEndpointId" : { + "minLength" : 1, + "description" : "The ID of the endpoint that the rule is associated with.", + "type" : "string", + "maxLength" : 64 }, - "read" : { - "permissions" : [ "route53resolver:GetResolverRule", "route53resolver:ListTagsForResource" ] + "DomainName" : { + "minLength" : 1, + "description" : "DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps", + "type" : "string", + "maxLength" : 256 }, - "update" : { - "permissions" : [ "route53resolver:UpdateResolverRule", "route53resolver:GetResolverRule", "route53resolver:ListTagsForResource", "route53resolver:TagResource", "route53resolver:UntagResource" ] + "RuleType" : { + "description" : "When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD. When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.", + "type" : "string", + "enum" : [ "FORWARD", "SYSTEM", "RECURSIVE", "DELEGATE" ] }, - "delete" : { - "permissions" : [ "route53resolver:DeleteResolverRule", "route53resolver:GetResolverRule" ] + "ResolverRuleId" : { + "description" : "The ID of the endpoint that the rule is associated with.", + "type" : "string" }, - "list" : { - "permissions" : [ "route53resolver:ListResolverRules" ] + "Arn" : { + "description" : "The Amazon Resource Name (ARN) of the resolver rule.", + "type" : "string" + }, + "DelegationRecord" : { + "minLength" : 1, + "description" : "The name server domain for queries to be delegated to if a query matches the delegation record.", + "type" : "string", + "maxLength" : 256 + }, + "Tags" : { + "uniqueItems" : false, + "description" : "An array of key-value pairs to apply to this resource.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } + }, + "TargetIps" : { + "uniqueItems" : false, + "description" : "An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/TargetAddress" + } + }, + "Name" : { + "minLength" : 0, + "description" : "The name for the Resolver rule", + "type" : "string", + "maxLength" : 64 } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sagemaker-cluster.json b/aws-cloudformation-schema/aws-sagemaker-cluster.json new file mode 100644 index 0000000000..1b283ad175 --- /dev/null +++ b/aws-cloudformation-schema/aws-sagemaker-cluster.json @@ -0,0 +1,307 @@ +{ + "typeName" : "AWS::SageMaker::Cluster", + "description" : "Resource Type definition for AWS::SageMaker::Cluster", + "additionalProperties" : false, + "properties" : { + "ClusterName" : { + "type" : "string", + "description" : "The name of the HyperPod Cluster.", + "minLength" : 1, + "maxLength" : 63, + "pattern" : "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" + }, + "ClusterArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the HyperPod Cluster.", + "maxLength" : 256, + "pattern" : "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12}$" + }, + "ClusterStatus" : { + "type" : "string", + "description" : "The status of the HyperPod Cluster.", + "enum" : [ "Creating", "Deleting", "Failed", "InService", "RollingBack", "SystemUpdating", "Updating" ] + }, + "CreationTime" : { + "description" : "The time at which the HyperPod cluster was created.", + "type" : "string" + }, + "FailureMessage" : { + "type" : "string", + "description" : "The failure message of the HyperPod Cluster." + }, + "InstanceGroups" : { + "$ref" : "#/definitions/ClusterInstanceGroupsList" + }, + "VpcConfig" : { + "$ref" : "#/definitions/VpcConfig" + }, + "Orchestrator" : { + "$ref" : "#/definitions/Orchestrator" + }, + "NodeRecovery" : { + "description" : "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.", + "type" : "string", + "enum" : [ "Automatic", "None" ] + }, + "Tags" : { + "description" : "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 50 + } + }, + "definitions" : { + "ClusterInstanceGroupsList" : { + "description" : "The instance groups of the SageMaker HyperPod cluster.", + "minItems" : 1, + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ClusterInstanceGroup" + } + }, + "ExecutionRole" : { + "type" : "string", + "description" : "The execution role for the instance group to assume.", + "minLength" : 20, + "maxLength" : 2048, + "pattern" : "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" + }, + "InstanceGroupName" : { + "type" : "string", + "description" : "The name of the instance group of a SageMaker HyperPod cluster.", + "minLength" : 1, + "maxLength" : 63, + "pattern" : "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ClusterEbsVolumeConfig" : { + "description" : "Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "VolumeSizeInGB" : { + "type" : "integer", + "description" : "The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.", + "minimum" : 1, + "maximum" : 16384 + } + } + }, + "ClusterInstanceStorageConfigs" : { + "description" : "The instance storage configuration for the instance group.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/ClusterInstanceStorageConfig" + }, + "maxItems" : 1 + }, + "ClusterInstanceStorageConfig" : { + "description" : "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.", + "type" : "object", + "oneOf" : [ { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "EbsVolumeConfig" : { + "$ref" : "#/definitions/ClusterEbsVolumeConfig" + } + } + } ] + }, + "InstanceType" : { + "type" : "string", + "description" : "The instance type of the instance group of a SageMaker HyperPod cluster." + }, + "ClusterLifeCycleConfig" : { + "description" : "The lifecycle configuration for a SageMaker HyperPod cluster.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "OnCreate" : { + "description" : "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.", + "type" : "string", + "minLength" : 1, + "maxLength" : 128, + "pattern" : "^[\\S\\s]+$" + }, + "SourceS3Uri" : { + "description" : "An Amazon S3 bucket path where your lifecycle scripts are stored.", + "type" : "string", + "maxLength" : 1024, + "pattern" : "^(https|s3)://([^/]+)/?(.*)$" + } + }, + "required" : [ "OnCreate", "SourceS3Uri" ] + }, + "DeepHealthCheckType" : { + "type" : "string", + "description" : "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.", + "enum" : [ "InstanceStress", "InstanceConnectivity" ] + }, + "OnStartDeepHealthChecks" : { + "description" : "Nodes will undergo advanced stress test to detect and replace faulty instances, based on the type of deep health check(s) passed in.", + "type" : "array", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/DeepHealthCheckType" + } + }, + "ClusterInstanceGroup" : { + "description" : "Details of an instance group in a SageMaker HyperPod cluster.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "CurrentCount" : { + "type" : "integer", + "description" : "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", + "minimum" : 0 + }, + "ExecutionRole" : { + "$ref" : "#/definitions/ExecutionRole" + }, + "InstanceGroupName" : { + "$ref" : "#/definitions/InstanceGroupName" + }, + "InstanceStorageConfigs" : { + "$ref" : "#/definitions/ClusterInstanceStorageConfigs" + }, + "InstanceType" : { + "$ref" : "#/definitions/InstanceType" + }, + "LifeCycleConfig" : { + "$ref" : "#/definitions/ClusterLifeCycleConfig" + }, + "InstanceCount" : { + "type" : "integer", + "description" : "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.", + "minimum" : 1 + }, + "ThreadsPerCore" : { + "type" : "integer", + "description" : "The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.", + "minimum" : 1, + "maximum" : 2 + }, + "OnStartDeepHealthChecks" : { + "$ref" : "#/definitions/OnStartDeepHealthChecks" + } + }, + "required" : [ "ExecutionRole", "InstanceCount", "InstanceGroupName", "InstanceType", "LifeCycleConfig" ] + }, + "VpcConfig" : { + "type" : "object", + "additionalProperties" : false, + "description" : "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.", + "properties" : { + "SecurityGroupIds" : { + "description" : "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.", + "type" : "array", + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 5, + "items" : { + "type" : "string", + "maxLength" : 32, + "pattern" : "[-0-9a-zA-Z]+" + } + }, + "Subnets" : { + "description" : "The ID of the subnets in the VPC to which you want to connect your training job or model.", + "type" : "array", + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 16, + "items" : { + "type" : "string", + "maxLength" : 32, + "pattern" : "[-0-9a-zA-Z]+" + } + } + }, + "required" : [ "SecurityGroupIds", "Subnets" ] + }, + "ClusterOrchestratorEksConfig" : { + "description" : "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ClusterArn" : { + "type" : "string", + "description" : "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster" + } + }, + "required" : [ "ClusterArn" ] + }, + "Orchestrator" : { + "description" : "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Eks" : { + "$ref" : "#/definitions/ClusterOrchestratorEksConfig" + } + }, + "required" : [ "Eks" ] + }, + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128, + "pattern" : "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256, + "pattern" : "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "required" : [ "InstanceGroups" ], + "primaryIdentifier" : [ "/properties/ClusterArn" ], + "additionalIdentifiers" : [ [ "/properties/ClusterName" ] ], + "readOnlyProperties" : [ "/properties/ClusterArn", "/properties/CreationTime", "/properties/ClusterStatus", "/properties/FailureMessage", "/properties/InstanceGroups/*/CurrentCount" ], + "createOnlyProperties" : [ "/properties/ClusterName", "/properties/VpcConfig", "/properties/Orchestrator", "/properties/InstanceGroups/*/ExecutionRole", "/properties/InstanceGroups/*/InstanceGroupName", "/properties/InstanceGroups/*/InstanceType", "/properties/InstanceGroups/*/ThreadsPerCore" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "sagemaker:CreateCluster", "sagemaker:DescribeCluster", "sagemaker:AddTags", "sagemaker:ListTags", "eks:DescribeAccessEntry", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DeleteAccessEntry", "eks:AssociateAccessPolicy", "iam:CreateServiceLinkedRole", "iam:PassRole" ], + "timeoutInMinutes" : 720 + }, + "read" : { + "permissions" : [ "sagemaker:DescribeCluster", "sagemaker:ListTags" ] + }, + "update" : { + "permissions" : [ "sagemaker:UpdateCluster", "sagemaker:DescribeCluster", "sagemaker:ListTags", "sagemaker:AddTags", "sagemaker:DeleteTags", "eks:DescribeAccessEntry", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DeleteAccessEntry", "iam:PassRole" ], + "timeoutInMinutes" : 720 + }, + "delete" : { + "permissions" : [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry" ], + "timeoutInMinutes" : 720 + }, + "list" : { + "permissions" : [ "sagemaker:ListClusters" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sagemaker-domain.json b/aws-cloudformation-schema/aws-sagemaker-domain.json index 9839c823b6..6da874a491 100644 --- a/aws-cloudformation-schema/aws-sagemaker-domain.json +++ b/aws-cloudformation-schema/aws-sagemaker-domain.json @@ -367,9 +367,62 @@ "items" : { "$ref" : "#/definitions/CustomImage" } + }, + "AppLifecycleManagement" : { + "$ref" : "#/definitions/AppLifecycleManagement" } } }, + "AppLifecycleManagement" : { + "type" : "object", + "properties" : { + "IdleSettings" : { + "$ref" : "#/definitions/IdleSettings" + } + }, + "additionalProperties" : false + }, + "IdleSettings" : { + "type" : "object", + "properties" : { + "LifecycleManagement" : { + "$ref" : "#/definitions/LifecycleManagement" + }, + "IdleTimeoutInMinutes" : { + "$ref" : "#/definitions/IdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes" : { + "$ref" : "#/definitions/MinIdleTimeoutInMinutes" + }, + "MaxIdleTimeoutInMinutes" : { + "$ref" : "#/definitions/MaxIdleTimeoutInMinutes" + } + }, + "additionalProperties" : false + }, + "LifecycleManagement" : { + "type" : "string", + "description" : "A flag to enable/disable AppLifecycleManagement settings", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "IdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + }, + "MinIdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The minimum idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + }, + "MaxIdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The maximum idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + }, "CodeRepository" : { "type" : "object", "additionalProperties" : false, @@ -442,6 +495,9 @@ "items" : { "$ref" : "#/definitions/CustomImage" } + }, + "AppLifecycleManagement" : { + "$ref" : "#/definitions/AppLifecycleManagement" } } }, @@ -709,7 +765,7 @@ }, "MlTools" : { "type" : "string", - "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects" ] + "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects", "InferenceOptimization" ] }, "AppType" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sagemaker-space.json b/aws-cloudformation-schema/aws-sagemaker-space.json index befab472a7..bc163ab274 100644 --- a/aws-cloudformation-schema/aws-sagemaker-space.json +++ b/aws-cloudformation-schema/aws-sagemaker-space.json @@ -154,6 +154,9 @@ "DefaultResourceSpec" : { "$ref" : "#/definitions/ResourceSpec" }, + "AppLifecycleManagement" : { + "$ref" : "#/definitions/SpaceAppLifecycleManagement" + }, "CodeRepositories" : { "type" : "array", "description" : "A list of CodeRepositories available for use with JupyterLab apps.", @@ -166,6 +169,27 @@ } } }, + "SpaceAppLifecycleManagement" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "IdleSettings" : { + "$ref" : "#/definitions/SpaceIdleSettings" + } + } + }, + "SpaceIdleSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "IdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The space idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + } + } + }, "CodeRepository" : { "type" : "object", "additionalProperties" : false, @@ -186,6 +210,9 @@ "properties" : { "DefaultResourceSpec" : { "$ref" : "#/definitions/ResourceSpec" + }, + "AppLifecycleManagement" : { + "$ref" : "#/definitions/SpaceAppLifecycleManagement" } } }, diff --git a/aws-cloudformation-schema/aws-sagemaker-userprofile.json b/aws-cloudformation-schema/aws-sagemaker-userprofile.json index 5d18bd302b..9f7c1fef5c 100644 --- a/aws-cloudformation-schema/aws-sagemaker-userprofile.json +++ b/aws-cloudformation-schema/aws-sagemaker-userprofile.json @@ -244,9 +244,62 @@ "items" : { "$ref" : "#/definitions/CustomImage" } + }, + "AppLifecycleManagement" : { + "$ref" : "#/definitions/AppLifecycleManagement" } } }, + "AppLifecycleManagement" : { + "type" : "object", + "properties" : { + "IdleSettings" : { + "$ref" : "#/definitions/IdleSettings" + } + }, + "additionalProperties" : false + }, + "IdleSettings" : { + "type" : "object", + "properties" : { + "LifecycleManagement" : { + "$ref" : "#/definitions/LifecycleManagement" + }, + "IdleTimeoutInMinutes" : { + "$ref" : "#/definitions/IdleTimeoutInMinutes" + }, + "MinIdleTimeoutInMinutes" : { + "$ref" : "#/definitions/MinIdleTimeoutInMinutes" + }, + "MaxIdleTimeoutInMinutes" : { + "$ref" : "#/definitions/MaxIdleTimeoutInMinutes" + } + }, + "additionalProperties" : false + }, + "LifecycleManagement" : { + "type" : "string", + "description" : "A flag to enable/disable AppLifecycleManagement settings", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "IdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + }, + "MinIdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The minimum idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + }, + "MaxIdleTimeoutInMinutes" : { + "type" : "integer", + "description" : "The maximum idle timeout value set in minutes", + "minimum" : 60, + "maximum" : 525600 + }, "CodeRepository" : { "type" : "object", "additionalProperties" : false, @@ -319,6 +372,9 @@ "items" : { "$ref" : "#/definitions/CustomImage" } + }, + "AppLifecycleManagement" : { + "$ref" : "#/definitions/AppLifecycleManagement" } } }, @@ -485,7 +541,7 @@ }, "MlTools" : { "type" : "string", - "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects" ] + "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects", "InferenceOptimization" ] }, "AppType" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sns-subscription.json b/aws-cloudformation-schema/aws-sns-subscription.json index 00a4f92fff..9bcb481814 100644 --- a/aws-cloudformation-schema/aws-sns-subscription.json +++ b/aws-cloudformation-schema/aws-sns-subscription.json @@ -1,47 +1,85 @@ { "typeName" : "AWS::SNS::Subscription", "description" : "Resource Type definition for AWS::SNS::Subscription", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sns", "additionalProperties" : false, "properties" : { + "Arn" : { + "type" : "string", + "description" : "Arn of the subscription" + }, "ReplayPolicy" : { - "type" : "object" + "type" : [ "object", "string" ], + "description" : "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes." }, "RawMessageDelivery" : { - "type" : "boolean" + "type" : "boolean", + "description" : "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." }, "Endpoint" : { - "type" : "string" + "type" : "string", + "description" : "The subscription's endpoint. The endpoint value depends on the protocol that you specify. " }, "FilterPolicy" : { - "type" : "object" + "type" : [ "object", "string" ], + "description" : "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages." }, "TopicArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the topic to subscribe to." }, "RedrivePolicy" : { - "type" : "object" + "type" : [ "object", "string" ], + "description" : "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing." }, "DeliveryPolicy" : { - "type" : "object" + "type" : [ "object", "string" ], + "description" : "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic." }, "Region" : { - "type" : "string" + "type" : "string", + "description" : "For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default." }, "SubscriptionRoleArn" : { - "type" : "string" + "type" : "string", + "description" : "This property applies only to Amazon Data Firehose delivery stream subscriptions." }, "FilterPolicyScope" : { - "type" : "string" - }, - "Id" : { - "type" : "string" + "type" : "string", + "description" : "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." }, "Protocol" : { - "type" : "string" + "type" : "string", + "description" : "The subscription's protocol." } }, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, "required" : [ "TopicArn", "Protocol" ], "createOnlyProperties" : [ "/properties/Endpoint", "/properties/Protocol", "/properties/TopicArn" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "primaryIdentifier" : [ "/properties/Arn" ], + "readOnlyProperties" : [ "/properties/Arn" ], + "conditionalCreateOnlyProperties" : [ "/properties/Region" ], + "writeOnlyProperties" : [ "/properties/Region" ], + "handlers" : { + "create" : { + "permissions" : [ "iam:GetRole", "iam:PassRole", "sns:Subscribe" ] + }, + "read" : { + "permissions" : [ "sns:GetSubscriptionAttributes" ] + }, + "update" : { + "permissions" : [ "iam:GetRole", "iam:PassRole", "sns:SetSubscriptionAttributes" ] + }, + "delete" : { + "permissions" : [ "sns:Unsubscribe", "sns:GetSubscriptionAttributes" ] + }, + "list" : { + "permissions" : [ "sns:ListSubscriptions" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-accesslogsubscription.json b/aws-cloudformation-schema/aws-vpclattice-accesslogsubscription.json index a38c311e3b..20832ba0f3 100644 --- a/aws-cloudformation-schema/aws-vpclattice-accesslogsubscription.json +++ b/aws-cloudformation-schema/aws-vpclattice-accesslogsubscription.json @@ -83,7 +83,7 @@ "permissions" : [ "vpc-lattice:GetAccessLogSubscription", "vpc-lattice:ListTagsForResource", "logs:GetLogDelivery" ] }, "update" : { - "permissions" : [ "vpc-lattice:GetAccessLogSubscription", "vpc-lattice:UpdateAccessLogSubscription", "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "logs:UpdateLogDelivery", "firehose:UpdateDestination", "logs:CreateLogDelivery", "logs:CreateLogStream", "logs:PutDestination", "logs:PutDestinationPolicy", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", "logs:GetLogDelivery", "s3:PutBucketLogging", "s3:GetBucketLogging", "s3:GetBucketPolicy", "s3:PutBucketPolicy", "firehose:TagDeliveryStream", "firehose:CreateDeliveryStream", "firehose:DescribeDeliveryStream" ] + "permissions" : [ "vpc-lattice:GetAccessLogSubscription", "vpc-lattice:UpdateAccessLogSubscription", "vpc-lattice:ListTagsForResource", "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "logs:UpdateLogDelivery", "firehose:UpdateDestination", "logs:CreateLogDelivery", "logs:CreateLogStream", "logs:PutDestination", "logs:PutDestinationPolicy", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", "logs:GetLogDelivery", "s3:PutBucketLogging", "s3:GetBucketLogging", "s3:GetBucketPolicy", "s3:PutBucketPolicy", "firehose:TagDeliveryStream", "firehose:CreateDeliveryStream", "firehose:DescribeDeliveryStream" ] }, "delete" : { "permissions" : [ "vpc-lattice:DeleteAccessLogSubscription", "vpc-lattice:UntagResource", "logs:DeleteLogDelivery", "logs:DeleteLogStream", "logs:GetLogDelivery", "logs:DeleteDestination", "s3:PutBucketLogging", "iam:GetServiceLinkedRoleDeletionStatus", "iam:DeleteServiceLinkedRole", "firehose:DeleteDeliveryStream", "firehose:UntagDeliveryStream" ] @@ -108,6 +108,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-listener.json b/aws-cloudformation-schema/aws-vpclattice-listener.json index 9970f3f93b..77cd3c655e 100644 --- a/aws-cloudformation-schema/aws-vpclattice-listener.json +++ b/aws-cloudformation-schema/aws-vpclattice-listener.json @@ -182,6 +182,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-rule.json b/aws-cloudformation-schema/aws-vpclattice-rule.json index 31d01ca8ff..54ff73d1e2 100644 --- a/aws-cloudformation-schema/aws-vpclattice-rule.json +++ b/aws-cloudformation-schema/aws-vpclattice-rule.json @@ -255,10 +255,10 @@ "permissions" : [ "vpc-lattice:GetRule", "vpc-lattice:ListTagsForResource" ] }, "update" : { - "permissions" : [ "vpc-lattice:UpdateRule", "vpc-lattice:GetRule", "vpc-lattice:TagResource", "vpc-lattice:UntagResource" ] + "permissions" : [ "vpc-lattice:UpdateRule", "vpc-lattice:GetRule", "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "vpc-lattice:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "vpc-lattice:DeleteRule" ] + "permissions" : [ "vpc-lattice:DeleteRule", "vpc-lattice:UntagResource" ] }, "list" : { "permissions" : [ "vpc-lattice:ListRules" ], @@ -286,6 +286,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-service.json b/aws-cloudformation-schema/aws-vpclattice-service.json index 9b2a396f75..1adc0386ba 100644 --- a/aws-cloudformation-schema/aws-vpclattice-service.json +++ b/aws-cloudformation-schema/aws-vpclattice-service.json @@ -106,7 +106,7 @@ "permissions" : [ "vpc-lattice:UpdateService", "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "vpc-lattice:GetService", "vpc-lattice:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "vpc-lattice:DeleteService", "vpc-lattice:GetService" ] + "permissions" : [ "vpc-lattice:DeleteService", "vpc-lattice:GetService", "vpc-lattice:UntagResource" ] }, "list" : { "permissions" : [ "vpc-lattice:ListServices" ] @@ -117,6 +117,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-servicenetwork.json b/aws-cloudformation-schema/aws-vpclattice-servicenetwork.json index 021e3f33b7..bdee595286 100644 --- a/aws-cloudformation-schema/aws-vpclattice-servicenetwork.json +++ b/aws-cloudformation-schema/aws-vpclattice-servicenetwork.json @@ -74,10 +74,10 @@ "permissions" : [ "vpc-lattice:GetServiceNetwork", "vpc-lattice:ListTagsForResource" ] }, "update" : { - "permissions" : [ "vpc-lattice:GetServiceNetwork", "vpc-lattice:UpdateServiceNetwork", "vpc-lattice:TagResource", "vpc-lattice:UntagResource" ] + "permissions" : [ "vpc-lattice:GetServiceNetwork", "vpc-lattice:UpdateServiceNetwork", "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "vpc-lattice:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "vpc-lattice:DeleteServiceNetwork" ] + "permissions" : [ "vpc-lattice:DeleteServiceNetwork", "vpc-lattice:UntagResource" ] }, "list" : { "permissions" : [ "vpc-lattice:ListServiceNetworks" ] @@ -88,6 +88,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-servicenetworkserviceassociation.json b/aws-cloudformation-schema/aws-vpclattice-servicenetworkserviceassociation.json index 1f6be04097..29eb1d9699 100644 --- a/aws-cloudformation-schema/aws-vpclattice-servicenetworkserviceassociation.json +++ b/aws-cloudformation-schema/aws-vpclattice-servicenetworkserviceassociation.json @@ -131,7 +131,7 @@ "permissions" : [ "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "vpc-lattice:GetServiceNetworkServiceAssociation", "vpc-lattice:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "vpc-lattice:DeleteServiceNetworkServiceAssociation", "vpc-lattice:GetServiceNetworkServiceAssociation" ] + "permissions" : [ "vpc-lattice:DeleteServiceNetworkServiceAssociation", "vpc-lattice:GetServiceNetworkServiceAssociation", "vpc-lattice:UntagResource" ] }, "list" : { "permissions" : [ "vpc-lattice:ListServiceNetworkServiceAssociations" ], @@ -159,6 +159,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-servicenetworkvpcassociation.json b/aws-cloudformation-schema/aws-vpclattice-servicenetworkvpcassociation.json index 1f5fb4c2c9..4a672a4ea0 100644 --- a/aws-cloudformation-schema/aws-vpclattice-servicenetworkvpcassociation.json +++ b/aws-cloudformation-schema/aws-vpclattice-servicenetworkvpcassociation.json @@ -115,7 +115,7 @@ "permissions" : [ "vpc-lattice:TagResource", "vpc-lattice:UntagResource", "vpc-lattice:GetServiceNetworkVpcAssociation", "vpc-lattice:UpdateServiceNetworkVpcAssociation", "ec2:DescribeSecurityGroups", "vpc-lattice:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "vpc-lattice:DeleteServiceNetworkVpcAssociation", "vpc-lattice:GetServiceNetworkVpcAssociation" ] + "permissions" : [ "vpc-lattice:DeleteServiceNetworkVpcAssociation", "vpc-lattice:GetServiceNetworkVpcAssociation", "vpc-lattice:UntagResource" ] }, "list" : { "permissions" : [ "vpc-lattice:ListServiceNetworkVpcAssociations" ], @@ -143,6 +143,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-vpclattice-targetgroup.json b/aws-cloudformation-schema/aws-vpclattice-targetgroup.json index 1eee1f446c..578f066def 100644 --- a/aws-cloudformation-schema/aws-vpclattice-targetgroup.json +++ b/aws-cloudformation-schema/aws-vpclattice-targetgroup.json @@ -223,6 +223,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "vpc-lattice:UntagResource", "vpc-lattice:TagResource", "vpc-lattice:ListTagsForResource" ] } } \ No newline at end of file diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 3d371fa6e5..c5447b97a9 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -684,8 +684,17 @@ AWS::MediaConnect::FlowOutput AWS::MediaConnect::FlowSource AWS::MediaConnect::FlowVpcInterface AWS::MediaConnect::Gateway +AWS::MediaLive::ChannelPlacementGroup +AWS::MediaLive::CloudWatchAlarmTemplate +AWS::MediaLive::CloudWatchAlarmTemplateGroup +AWS::MediaLive::Cluster +AWS::MediaLive::EventBridgeRuleTemplate +AWS::MediaLive::EventBridgeRuleTemplateGroup AWS::MediaLive::Multiplex AWS::MediaLive::Multiplexprogram +AWS::MediaLive::Network +AWS::MediaLive::SdiSource +AWS::MediaLive::SignalMap AWS::MediaPackage::Asset AWS::MediaPackage::Channel AWS::MediaPackage::OriginEndpoint @@ -760,6 +769,8 @@ AWS::PCAConnectorAD::DirectoryRegistration AWS::PCAConnectorAD::ServicePrincipalName AWS::PCAConnectorAD::Template AWS::PCAConnectorAD::TemplateGroupAccessControlEntry +AWS::PCAConnectorSCEP::Challenge +AWS::PCAConnectorSCEP::Connector AWS::Panorama::ApplicationInstance AWS::Panorama::Package AWS::Panorama::PackageVersion @@ -894,6 +905,7 @@ AWS::SES::MailManagerRuleSet AWS::SES::MailManagerTrafficPolicy AWS::SES::Template AWS::SES::VdmAttributes +AWS::SNS::Subscription AWS::SNS::Topic AWS::SNS::TopicInlinePolicy AWS::SNS::TopicPolicy @@ -921,6 +933,7 @@ AWS::SSO::InstanceAccessControlAttributeConfiguration AWS::SSO::PermissionSet AWS::SageMaker::App AWS::SageMaker::AppImageConfig +AWS::SageMaker::Cluster AWS::SageMaker::DataQualityJobDefinition AWS::SageMaker::Device AWS::SageMaker::DeviceFleet diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index f59b786c25..d23b78e00a 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -445,6 +445,10 @@ "type": "string", "description": "The build specification (build spec) for an Amplify app." }, + "cacheConfig": { + "$ref": "#/types/aws-native:amplify:AppCacheConfig", + "description": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting." + }, "customHeaders": { "type": "string", "description": "The custom HTTP headers for an Amplify app." @@ -485,7 +489,7 @@ }, "platform": { "$ref": "#/types/aws-native:amplify:AppPlatform", - "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` ." + "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* ." }, "repository": { "type": "string", @@ -528,6 +532,10 @@ "type": "string", "description": "The build specification (build spec) for an Amplify app." }, + "cacheConfig": { + "$ref": "#/types/aws-native:amplify:AppCacheConfig", + "description": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting." + }, "customHeaders": { "type": "string", "description": "The custom HTTP headers for an Amplify app." @@ -572,7 +580,7 @@ }, "platform": { "$ref": "#/types/aws-native:amplify:AppPlatform", - "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` ." + "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* ." }, "repository": { "type": "string", @@ -5359,9 +5367,13 @@ "type": "string", "description": "The name of this SLO." }, + "requestBasedSli": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli", + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO." + }, "sli": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveSli", - "description": "A structure containing information about the performance metric that this SLO monitors." + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO." }, "tags": { "type": "array", @@ -5384,6 +5396,10 @@ "type": "string", "description": "An optional description for this SLO. Default is 'No description'" }, + "evaluationType": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveEvaluationType", + "description": "Displays whether this is a period-based SLO or a request-based SLO." + }, "goal": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveGoal", "description": "This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold." @@ -5397,9 +5413,13 @@ "description": "The name of this SLO.", "replaceOnChanges": true }, + "requestBasedSli": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli", + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO." + }, "sli": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveSli", - "description": "A structure containing information about the performance metric that this SLO monitors." + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO." }, "tags": { "type": "array", @@ -5412,9 +5432,6 @@ "autoNamingSpec": { "sdkName": "name" }, - "required": [ - "sli" - ], "createOnly": [ "name" ], @@ -13777,7 +13794,7 @@ "items": { "type": "string" }, - "description": "The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." + "description": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." }, "parameters": { "type": "object", @@ -13811,7 +13828,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." + "description": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." }, "templateBody": { "$ref": "pulumi.json#/Any", @@ -13863,7 +13880,7 @@ "items": { "type": "string" }, - "description": "The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." + "description": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." }, "outputs": { "type": "array", @@ -13881,7 +13898,7 @@ }, "parentId": { "type": "string", - "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.\n\nFor more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." + "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.\n\nFor more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." }, "roleArn": { "type": "string", @@ -13889,7 +13906,7 @@ }, "rootId": { "type": "string", - "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.\n\nFor more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." + "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.\n\nFor more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." }, "stackId": { "type": "string", @@ -13921,7 +13938,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." + "description": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." }, "templateBody": { "$ref": "pulumi.json#/Any", @@ -16020,11 +16037,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -16032,11 +16049,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "Information about the VPC configuration that AWS CodeBuild accesses." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "The Amazon Machine Image (AMI) of the compute fleet." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -16065,11 +16082,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -16077,11 +16094,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "Information about the VPC configuration that AWS CodeBuild accesses." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "The Amazon Machine Image (AMI) of the compute fleet." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -17417,7 +17434,7 @@ }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", - "description": "The configuration for creating a new user profile." + "description": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "aliasAttributes": { "type": "array", @@ -17462,7 +17479,7 @@ }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", - "description": "The Lambda trigger configuration information for the new user pool.\n\n\u003e In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function.\n\u003e \n\u003e For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) .\n\u003e \n\u003e For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) ." + "description": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them." }, "mfaConfiguration": { "type": "string", @@ -17470,7 +17487,7 @@ }, "policies": { "$ref": "#/types/aws-native:cognito:UserPoolPolicies", - "description": "The policy associated with a user pool." + "description": "A list of user pool policies. Contains the policy that sets password-complexity requirements.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "schema": { "type": "array", @@ -17523,7 +17540,7 @@ }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", - "description": "The template for the verification message that the user sees when the app requests permission to access the user's information." + "description": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error." } }, "outputs": { @@ -17533,7 +17550,7 @@ }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", - "description": "The configuration for creating a new user profile." + "description": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "aliasAttributes": { "type": "array", @@ -17582,7 +17599,7 @@ }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", - "description": "The Lambda trigger configuration information for the new user pool.\n\n\u003e In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function.\n\u003e \n\u003e For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) .\n\u003e \n\u003e For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) ." + "description": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them." }, "mfaConfiguration": { "type": "string", @@ -17590,7 +17607,7 @@ }, "policies": { "$ref": "#/types/aws-native:cognito:UserPoolPolicies", - "description": "The policy associated with a user pool." + "description": "A list of user pool policies. Contains the policy that sets password-complexity requirements.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "providerName": { "type": "string", @@ -17655,7 +17672,7 @@ }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", - "description": "The template for the verification message that the user sees when the app requests permission to access the user's information." + "description": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error." } }, "autoNamingSpec": { @@ -17759,7 +17776,7 @@ "items": { "type": "string" }, - "description": "The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." + "description": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." }, "refreshTokenValidity": { "type": "integer", @@ -17884,7 +17901,7 @@ "items": { "type": "string" }, - "description": "The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." + "description": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." }, "refreshTokenValidity": { "type": "integer", @@ -18189,7 +18206,7 @@ "inputs": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType", - "description": "The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover." + "description": "The settings for automated responses and notification templates for adaptive authentication with advanced security features." }, "clientId": { "type": "string", @@ -18197,21 +18214,21 @@ }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", - "description": "The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` ." + "description": "Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode." }, "riskExceptionConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType", - "description": "The configuration to override the risk decision." + "description": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges." }, "userPoolId": { "type": "string", - "description": "The user pool ID." + "description": "The ID of the user pool that has the risk configuration applied." } }, "outputs": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType", - "description": "The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover." + "description": "The settings for automated responses and notification templates for adaptive authentication with advanced security features." }, "clientId": { "type": "string", @@ -18220,15 +18237,15 @@ }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", - "description": "The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` ." + "description": "Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode." }, "riskExceptionConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType", - "description": "The configuration to override the risk decision." + "description": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges." }, "userPoolId": { "type": "string", - "description": "The user pool ID.", + "description": "The ID of the user pool that has the risk configuration applied.", "replaceOnChanges": true } }, @@ -22326,7 +22343,7 @@ "tags": { "type": "array", "items": { - "$ref": "#/types/aws-native:index:Tag" + "$ref": "#/types/aws-native:index:CreateOnlyTag" }, "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." }, @@ -22355,9 +22372,10 @@ "tags": { "type": "array", "items": { - "$ref": "#/types/aws-native:index:Tag" + "$ref": "#/types/aws-native:index:CreateOnlyTag" }, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." + "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "replaceOnChanges": true }, "targetArn": { "type": "string", @@ -22376,10 +22394,11 @@ ], "createOnly": [ "name", + "tags", "targetArn" ], "tagsProperty": "tags", - "tagsStyle": "keyValueArray" + "tagsStyle": "keyValueArrayCreateOnly" }, "aws-native:databrew:Schedule": { "cf": "AWS::DataBrew::Schedule", @@ -35528,7 +35547,7 @@ }, "propagateTags": { "$ref": "#/types/aws-native:ecs:ServicePropagateTags", - "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``." + "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``." }, "role": { "type": "string", @@ -35650,7 +35669,7 @@ }, "propagateTags": { "$ref": "#/types/aws-native:ecs:ServicePropagateTags", - "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``." + "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``." }, "role": { "type": "string", @@ -38233,6 +38252,12 @@ }, "description": "The actions for the default rule. You cannot define a condition for a default rule.\n To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)." }, + "listenerAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerAttribute" + } + }, "loadBalancerArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the load balancer." @@ -38280,6 +38305,12 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the listener." }, + "listenerAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerAttribute" + } + }, "loadBalancerArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the load balancer.", @@ -42828,7 +42859,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" + "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" }, "description": { "type": "string", @@ -42961,7 +42992,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", + "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", "replaceOnChanges": true }, "description": { @@ -60735,7 +60766,7 @@ }, "maintenance": { "$ref": "#/types/aws-native:mediaconnect:FlowMaintenance", - "description": "The maintenance settings you want to use for the flow. " + "description": "The maintenance settings you want to use for the flow." }, "mediaStreams": { "type": "array", @@ -60756,6 +60787,10 @@ "$ref": "#/types/aws-native:mediaconnect:FlowFailoverConfig", "description": "The source failover config of the flow." }, + "sourceMonitoringConfig": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfig", + "description": "The source monitoring config of the flow." + }, "vpcInterfaces": { "type": "array", "items": { @@ -60784,7 +60819,7 @@ }, "maintenance": { "$ref": "#/types/aws-native:mediaconnect:FlowMaintenance", - "description": "The maintenance settings you want to use for the flow. " + "description": "The maintenance settings you want to use for the flow." }, "mediaStreams": { "type": "array", @@ -60806,6 +60841,10 @@ "$ref": "#/types/aws-native:mediaconnect:FlowFailoverConfig", "description": "The source failover config of the flow." }, + "sourceMonitoringConfig": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfig", + "description": "The source monitoring config of the flow." + }, "vpcInterfaces": { "type": "array", "items": { @@ -61389,6 +61428,572 @@ "networks" ] }, + "aws-native:medialive:ChannelPlacementGroup": { + "cf": "AWS::MediaLive::ChannelPlacementGroup", + "inputs": { + "clusterId": { + "type": "string", + "description": "The ID of the cluster the node is on." + }, + "name": { + "type": "string", + "description": "The name of the channel placement group." + }, + "nodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nodes added to the channel placement group" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The ARN of the channel placement group." + }, + "awsId": { + "type": "string", + "description": "Unique internal identifier." + }, + "channels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of channel IDs added to the channel placement group." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster the node is on.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the channel placement group." + }, + "nodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nodes added to the channel placement group" + }, + "state": { + "$ref": "#/types/aws-native:medialive:ChannelPlacementGroupState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "createOnly": [ + "clusterId" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, + "aws-native:medialive:CloudWatchAlarmTemplate": { + "cf": "AWS::MediaLive::CloudWatchAlarmTemplate", + "inputs": { + "comparisonOperator": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator" + }, + "datapointsToAlarm": { + "type": "number", + "description": "The number of datapoints within the evaluation period that must be breaching to trigger the alarm." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "evaluationPeriods": { + "type": "number", + "description": "The number of periods over which data is compared to the specified threshold." + }, + "groupIdentifier": { + "type": "string", + "description": "A cloudwatch alarm template group's identifier. Can be either be its id or current name." + }, + "metricName": { + "type": "string", + "description": "The name of the metric associated with the alarm. Must be compatible with targetResourceType." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "period": { + "type": "number", + "description": "The period, in seconds, over which the specified statistic is applied." + }, + "statistic": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateStatistic" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetResourceType": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType" + }, + "threshold": { + "type": "number", + "description": "The threshold value to compare with the specified statistic." + }, + "treatMissingData": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData" + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "A cloudwatch alarm template's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-`" + }, + "comparisonOperator": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator" + }, + "createdAt": { + "type": "string" + }, + "datapointsToAlarm": { + "type": "number", + "description": "The number of datapoints within the evaluation period that must be breaching to trigger the alarm." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "evaluationPeriods": { + "type": "number", + "description": "The number of periods over which data is compared to the specified threshold." + }, + "groupId": { + "type": "string", + "description": "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "groupIdentifier": { + "type": "string", + "description": "A cloudwatch alarm template group's identifier. Can be either be its id or current name." + }, + "identifier": { + "type": "string" + }, + "metricName": { + "type": "string", + "description": "The name of the metric associated with the alarm. Must be compatible with targetResourceType." + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "period": { + "type": "number", + "description": "The period, in seconds, over which the specified statistic is applied." + }, + "statistic": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateStatistic" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + }, + "targetResourceType": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType" + }, + "threshold": { + "type": "number", + "description": "The threshold value to compare with the specified statistic." + }, + "treatMissingData": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData" + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 255 + }, + "required": [ + "comparisonOperator", + "evaluationPeriods", + "groupIdentifier", + "metricName", + "period", + "statistic", + "targetResourceType", + "threshold", + "treatMissingData" + ], + "createOnly": [ + "tags" + ], + "writeOnly": [ + "groupIdentifier" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, + "aws-native:medialive:CloudWatchAlarmTemplateGroup": { + "cf": "AWS::MediaLive::CloudWatchAlarmTemplateGroup", + "inputs": { + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "A cloudwatch alarm template group's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "createdAt": { + "type": "string", + "description": "The date and time of resource creation." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "identifier": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "description": "The date and time of latest resource modification." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region.", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 255 + }, + "createOnly": [ + "name", + "tags" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, + "aws-native:medialive:Cluster": { + "cf": "AWS::MediaLive::Cluster", + "inputs": { + "clusterType": { + "$ref": "#/types/aws-native:medialive:ClusterType" + }, + "instanceRoleArn": { + "type": "string", + "description": "The IAM role your nodes will use." + }, + "name": { + "type": "string", + "description": "The user-specified name of the Cluster to be created." + }, + "networkSettings": { + "$ref": "#/types/aws-native:medialive:ClusterNetworkSettings" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The ARN of the Cluster." + }, + "awsId": { + "type": "string", + "description": "The unique ID of the Cluster." + }, + "channelIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The MediaLive Channels that are currently running on Nodes in this Cluster." + }, + "clusterType": { + "$ref": "#/types/aws-native:medialive:ClusterType", + "replaceOnChanges": true + }, + "instanceRoleArn": { + "type": "string", + "description": "The IAM role your nodes will use.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The user-specified name of the Cluster to be created." + }, + "networkSettings": { + "$ref": "#/types/aws-native:medialive:ClusterNetworkSettings" + }, + "state": { + "$ref": "#/types/aws-native:medialive:ClusterState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "createOnly": [ + "clusterType", + "instanceRoleArn" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, + "aws-native:medialive:EventBridgeRuleTemplate": { + "cf": "AWS::MediaLive::EventBridgeRuleTemplate", + "inputs": { + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "eventTargets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateTarget" + }, + "description": "Placeholder documentation for __listOfEventBridgeRuleTemplateTarget" + }, + "eventType": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateEventType" + }, + "groupIdentifier": { + "type": "string", + "description": "An eventbridge rule template group's identifier. Can be either be its id or current name." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "An eventbridge rule template's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "An eventbridge rule template's id. AWS provided templates have ids that start with `aws-`" + }, + "createdAt": { + "type": "string", + "description": "Placeholder documentation for __timestampIso8601" + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "eventTargets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateTarget" + }, + "description": "Placeholder documentation for __listOfEventBridgeRuleTemplateTarget" + }, + "eventType": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateEventType" + }, + "groupId": { + "type": "string", + "description": "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "groupIdentifier": { + "type": "string", + "description": "An eventbridge rule template group's identifier. Can be either be its id or current name." + }, + "identifier": { + "type": "string", + "description": "Placeholder documentation for __string" + }, + "modifiedAt": { + "type": "string", + "description": "Placeholder documentation for __timestampIso8601" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 255 + }, + "required": [ + "eventType", + "groupIdentifier" + ], + "createOnly": [ + "tags" + ], + "writeOnly": [ + "groupIdentifier" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, + "aws-native:medialive:EventBridgeRuleTemplateGroup": { + "cf": "AWS::MediaLive::EventBridgeRuleTemplateGroup", + "inputs": { + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "An eventbridge rule template group's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "createdAt": { + "type": "string", + "description": "The date and time of resource creation." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "identifier": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "description": "The date and time of latest resource modification." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region.", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 255 + }, + "createOnly": [ + "name", + "tags" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, "aws-native:medialive:Multiplex": { "cf": "AWS::MediaLive::Multiplex", "inputs": { @@ -61567,6 +62172,320 @@ "preferredChannelPipeline" ] }, + "aws-native:medialive:Network": { + "cf": "AWS::MediaLive::Network", + "inputs": { + "ipPools": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkIpPool" + }, + "description": "The list of IP address cidr pools for the network" + }, + "name": { + "type": "string", + "description": "The user-specified name of the Network to be created." + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkRoute" + }, + "description": "The routes for the network" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The ARN of the Network." + }, + "associatedClusterIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "awsId": { + "type": "string", + "description": "The unique ID of the Network." + }, + "ipPools": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkIpPool" + }, + "description": "The list of IP address cidr pools for the network" + }, + "name": { + "type": "string", + "description": "The user-specified name of the Network to be created." + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkRoute" + }, + "description": "The routes for the network" + }, + "state": { + "$ref": "#/types/aws-native:medialive:NetworkState", + "description": "The current state of the Network." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "ipPools" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, + "aws-native:medialive:SdiSource": { + "cf": "AWS::MediaLive::SdiSource", + "inputs": { + "mode": { + "$ref": "#/types/aws-native:medialive:SdiSourceMode" + }, + "name": { + "type": "string", + "description": "The name of the SdiSource." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + }, + "type": { + "$ref": "#/types/aws-native:medialive:SdiSourceType" + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The unique arn of the SdiSource." + }, + "awsId": { + "type": "string", + "description": "The unique identifier of the SdiSource." + }, + "inputs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of inputs currently using this SDI source." + }, + "mode": { + "$ref": "#/types/aws-native:medialive:SdiSourceMode" + }, + "name": { + "type": "string", + "description": "The name of the SdiSource." + }, + "state": { + "$ref": "#/types/aws-native:medialive:SdiSourceState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + }, + "type": { + "$ref": "#/types/aws-native:medialive:SdiSourceType" + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "type" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, + "aws-native:medialive:SignalMap": { + "cf": "AWS::MediaLive::SignalMap", + "inputs": { + "cloudWatchAlarmTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "discoveryEntryPointArn": { + "type": "string", + "description": "A top-level supported AWS resource ARN to discovery a signal map from." + }, + "eventBridgeRuleTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "forceRediscovery": { + "type": "boolean", + "description": "If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "A signal map's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "A signal map's id." + }, + "cloudWatchAlarmTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "cloudWatchAlarmTemplateGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "discoveryEntryPointArn": { + "type": "string", + "description": "A top-level supported AWS resource ARN to discovery a signal map from." + }, + "errorMessage": { + "type": "string", + "description": "Error message associated with a failed creation or failed update attempt of a signal map." + }, + "eventBridgeRuleTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "eventBridgeRuleTemplateGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "failedMediaResourceMap": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResource" + } + }, + "forceRediscovery": { + "type": "boolean", + "description": "If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided." + }, + "identifier": { + "type": "string" + }, + "lastDiscoveredAt": { + "type": "string" + }, + "lastSuccessfulMonitorDeployment": { + "$ref": "#/types/aws-native:medialive:SignalMapSuccessfulMonitorDeployment" + }, + "mediaResourceMap": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResource" + } + }, + "modifiedAt": { + "type": "string" + }, + "monitorChangesPendingDeployment": { + "type": "boolean", + "description": "If true, there are pending monitor changes for this signal map that can be deployed." + }, + "monitorDeployment": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeployment" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapStatus" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "name", + "minLength": 1, + "maxLength": 255 + }, + "required": [ + "discoveryEntryPointArn" + ], + "createOnly": [ + "tags" + ], + "writeOnly": [ + "cloudWatchAlarmTemplateGroupIdentifiers", + "eventBridgeRuleTemplateGroupIdentifiers", + "forceRediscovery" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, "aws-native:mediapackage:Asset": { "cf": "AWS::MediaPackage::Asset", "inputs": { @@ -69818,6 +70737,97 @@ "groupDisplayName" ] }, + "aws-native:pcaconnectorscep:Challenge": { + "cf": "AWS::PCAConnectorSCEP::Challenge", + "inputs": { + "connectorArn": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "outputs": { + "challengeArn": { + "type": "string" + }, + "connectorArn": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "connectorArn" + ], + "createOnly": [ + "connectorArn" + ], + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, + "aws-native:pcaconnectorscep:Connector": { + "cf": "AWS::PCAConnectorSCEP::Connector", + "inputs": { + "certificateAuthorityArn": { + "type": "string" + }, + "mobileDeviceManagement": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "outputs": { + "certificateAuthorityArn": { + "type": "string", + "replaceOnChanges": true + }, + "connectorArn": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "mobileDeviceManagement": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement", + "replaceOnChanges": true + }, + "openIdConfiguration": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorOpenIdConfiguration" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorType" + } + }, + "required": [ + "certificateAuthorityArn" + ], + "createOnly": [ + "certificateAuthorityArn", + "mobileDeviceManagement" + ], + "tagsProperty": "tags", + "tagsStyle": "stringMap" + }, "aws-native:personalize:Dataset": { "cf": "AWS::Personalize::Dataset", "inputs": { @@ -70638,7 +71648,7 @@ }, "roleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics." + "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role." }, "tags": { "type": "array", @@ -70717,7 +71727,7 @@ }, "roleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics." + "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role." }, "status": { "$ref": "#/types/aws-native:qbusiness:ApplicationStatus", @@ -81512,6 +82522,107 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArrayCreateOnly" }, + "aws-native:sagemaker:Cluster": { + "cf": "AWS::SageMaker::Cluster", + "inputs": { + "clusterName": { + "type": "string", + "description": "The name of the HyperPod Cluster." + }, + "instanceGroups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceGroup" + } + }, + "nodeRecovery": { + "$ref": "#/types/aws-native:sagemaker:ClusterNodeRecovery", + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected." + }, + "orchestrator": { + "$ref": "#/types/aws-native:sagemaker:ClusterOrchestrator" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging." + }, + "vpcConfig": { + "$ref": "#/types/aws-native:sagemaker:ClusterVpcConfig", + "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) ." + } + }, + "outputs": { + "clusterArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the HyperPod Cluster." + }, + "clusterName": { + "type": "string", + "description": "The name of the HyperPod Cluster.", + "replaceOnChanges": true + }, + "clusterStatus": { + "$ref": "#/types/aws-native:sagemaker:ClusterStatus", + "description": "The status of the HyperPod Cluster." + }, + "creationTime": { + "type": "string", + "description": "The time at which the HyperPod cluster was created." + }, + "failureMessage": { + "type": "string", + "description": "The failure message of the HyperPod Cluster." + }, + "instanceGroups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceGroup" + } + }, + "nodeRecovery": { + "$ref": "#/types/aws-native:sagemaker:ClusterNodeRecovery", + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected." + }, + "orchestrator": { + "$ref": "#/types/aws-native:sagemaker:ClusterOrchestrator", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging." + }, + "vpcConfig": { + "$ref": "#/types/aws-native:sagemaker:ClusterVpcConfig", + "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", + "replaceOnChanges": true + } + }, + "autoNamingSpec": { + "sdkName": "clusterName", + "minLength": 1, + "maxLength": 63 + }, + "required": [ + "instanceGroups" + ], + "createOnly": [ + "clusterName", + "instanceGroups/*/ExecutionRole", + "instanceGroups/*/InstanceGroupName", + "instanceGroups/*/InstanceType", + "instanceGroups/*/ThreadsPerCore", + "orchestrator", + "vpcConfig" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:sagemaker:DataQualityJobDefinition": { "cf": "AWS::SageMaker::DataQualityJobDefinition", "inputs": { @@ -87116,6 +88227,120 @@ "snapshotS3Location": "SnapshotS3Location" } }, + "aws-native:sns:Subscription": { + "cf": "AWS::SNS::Subscription", + "inputs": { + "deliveryPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "endpoint": { + "type": "string", + "description": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. " + }, + "filterPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicyScope": { + "type": "string", + "description": "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." + }, + "protocol": { + "type": "string", + "description": "The subscription's protocol." + }, + "rawMessageDelivery": { + "type": "boolean", + "description": "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." + }, + "redrivePolicy": { + "$ref": "pulumi.json#/Any", + "description": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "region": { + "type": "string", + "description": "For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default." + }, + "replayPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "subscriptionRoleArn": { + "type": "string", + "description": "This property applies only to Amazon Data Firehose delivery stream subscriptions." + }, + "topicArn": { + "type": "string", + "description": "The ARN of the topic to subscribe to." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "Arn of the subscription" + }, + "deliveryPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "endpoint": { + "type": "string", + "description": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. ", + "replaceOnChanges": true + }, + "filterPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicyScope": { + "type": "string", + "description": "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." + }, + "protocol": { + "type": "string", + "description": "The subscription's protocol.", + "replaceOnChanges": true + }, + "rawMessageDelivery": { + "type": "boolean", + "description": "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." + }, + "redrivePolicy": { + "$ref": "pulumi.json#/Any", + "description": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "region": { + "type": "string", + "description": "For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default." + }, + "replayPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "subscriptionRoleArn": { + "type": "string", + "description": "This property applies only to Amazon Data Firehose delivery stream subscriptions." + }, + "topicArn": { + "type": "string", + "description": "The ARN of the topic to subscribe to.", + "replaceOnChanges": true + } + }, + "required": [ + "protocol", + "topicArn" + ], + "createOnly": [ + "endpoint", + "protocol", + "topicArn" + ], + "writeOnly": [ + "region" + ] + }, "aws-native:sns:Topic": { "cf": "AWS::SNS::Topic", "inputs": { @@ -94888,6 +96113,18 @@ } } }, + "aws-native:amplify:AppCacheConfig": { + "type": "object", + "properties": { + "type": { + "$ref": "#/types/aws-native:amplify:AppCacheConfigType", + "description": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key." + } + } + }, + "aws-native:amplify:AppCacheConfigType": { + "type": "string" + }, "aws-native:amplify:AppCustomRule": { "type": "object", "properties": { @@ -99671,6 +100908,9 @@ "aws-native:applicationsignals:ServiceLevelObjectiveDurationUnit": { "type": "string" }, + "aws-native:applicationsignals:ServiceLevelObjectiveEvaluationType": { + "type": "string" + }, "aws-native:applicationsignals:ServiceLevelObjectiveGoal": { "type": "object", "properties": { @@ -99766,6 +101006,79 @@ } } }, + "aws-native:applicationsignals:ServiceLevelObjectiveMonitoredRequestCountMetric": { + "type": "object", + "properties": { + "badCountMetric": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMetricDataQuery" + }, + "description": "If you want to count \"bad requests\" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as \"bad requests\" in this structure." + }, + "goodCountMetric": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMetricDataQuery" + }, + "description": "If you want to count \"good requests\" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as \"good requests\" in this structure." + } + } + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli": { + "type": "object", + "properties": { + "comparisonOperator": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliComparisonOperator", + "description": "The arithmetic operation used when comparing the specified metric to the threshold." + }, + "metricThreshold": { + "type": "number", + "description": "The value that the SLI metric is compared to." + }, + "requestBasedSliMetric": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetric", + "description": "A structure that contains information about the metric that the SLO monitors." + } + } + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliComparisonOperator": { + "type": "string" + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetric": { + "type": "object", + "properties": { + "keyAttributes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields.\n\n- `Type` designates the type of object that this SLO is related to.\n- `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` .\n- `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` .\n- `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` .\n- `Environment` specifies the location where this object is hosted, or what it belongs to." + }, + "metricType": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetricMetricType", + "description": "If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used." + }, + "monitoredRequestCountMetric": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMonitoredRequestCountMetric", + "description": "Use this structure to define the metric that you want to use as the \"good request\" or \"bad request\" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks." + }, + "operationName": { + "type": "string", + "description": "If the SLO monitors a specific operation of the service, this field displays that operation name." + }, + "totalRequestCountMetric": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMetricDataQuery" + }, + "description": "This structure defines the metric that is used as the \"total requests\" number for a request-based SLO. The number observed for this metric is divided by the number of \"good requests\" or \"bad requests\" that is observed for the metric defined in `MonitoredRequestCountMetric`." + } + } + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetricMetricType": { + "type": "string" + }, "aws-native:applicationsignals:ServiceLevelObjectiveRollingInterval": { "type": "object", "properties": { @@ -100829,7 +102142,7 @@ "properties": { "s3AclOption": { "$ref": "#/types/aws-native:athena:WorkGroupS3AclOption", - "description": "The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* ." + "description": "The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* ." } }, "irreversibleNames": { @@ -108215,7 +109528,7 @@ "properties": { "key": { "type": "string", - "description": "*Required* . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services ( AWS ) have the reserved prefix: `aws:` ." + "description": "*Required* . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by AWS have the reserved prefix: `aws:` ." }, "value": { "type": "string", @@ -111314,7 +112627,7 @@ "properties": { "allowAdminCreateUserOnly": { "type": "boolean", - "description": "Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app." + "description": "The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation." }, "inviteMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolInviteMessageTemplate", @@ -111322,7 +112635,7 @@ }, "unusedAccountValidityDays": { "type": "integer", - "description": "The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `\"RESEND\"` for the `MessageAction` parameter. The default value for this parameter is 7.\n\n\u003e If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool." + "description": "This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` .\n\nThe password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter.\n\nThe default value for this parameter is 7." } } }, @@ -111343,15 +112656,15 @@ }, "applicationId": { "type": "string", - "description": "The application ID for an Amazon Pinpoint application." + "description": "Your Amazon Pinpoint project ID." }, "externalId": { "type": "string", - "description": "The external ID." + "description": "The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint." }, "roleArn": { "type": "string", - "description": "The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics." + "description": "The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics." }, "userDataShared": { "type": "boolean", @@ -111364,15 +112677,15 @@ "properties": { "accessToken": { "type": "string", - "description": "A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day." + "description": "A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day." }, "idToken": { "type": "string", - "description": "A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day." + "description": "A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day." }, "refreshToken": { "type": "string", - "description": "A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years." + "description": "A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years." } } }, @@ -111474,7 +112787,7 @@ "properties": { "createAuthChallenge": { "type": "string", - "description": "Creates an authentication challenge." + "description": "The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) ." }, "customEmailSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomEmailSender", @@ -111482,7 +112795,7 @@ }, "customMessage": { "type": "string", - "description": "A custom Message AWS Lambda trigger." + "description": "A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user." }, "customSmsSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomSmsSender", @@ -111490,7 +112803,7 @@ }, "defineAuthChallenge": { "type": "string", - "description": "Defines the authentication challenge." + "description": "The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) ." }, "kmsKeyId": { "type": "string", @@ -111498,35 +112811,35 @@ }, "postAuthentication": { "type": "string", - "description": "A post-authentication AWS Lambda trigger." + "description": "The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in." }, "postConfirmation": { "type": "string", - "description": "A post-confirmation AWS Lambda trigger." + "description": "The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number." }, "preAuthentication": { "type": "string", - "description": "A pre-authentication AWS Lambda trigger." + "description": "The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events." }, "preSignUp": { "type": "string", - "description": "A pre-registration AWS Lambda trigger." + "description": "The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests." }, "preTokenGeneration": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` .\n\nYou can set ``" + "description": "The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` ." }, "preTokenGenerationConfig": { "$ref": "#/types/aws-native:cognito:UserPoolPreTokenGenerationConfig", - "description": "The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` ." + "description": "The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` ." }, "userMigration": { "type": "string", - "description": "The user migration Lambda config type." + "description": "The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet." }, "verifyAuthChallengeResponse": { "type": "string", - "description": "Verifies the authentication challenge response." + "description": "The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) ." } }, "irreversibleNames": { @@ -111560,19 +112873,19 @@ }, "requireLowercase": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password." + "description": "The requirement in a password policy that users must include at least one lowercase letter in their password." }, "requireNumbers": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one number in their password." + "description": "The requirement in a password policy that users must include at least one number in their password." }, "requireSymbols": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password." + "description": "The requirement in a password policy that users must include at least one symbol in their password." }, "requireUppercase": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password." + "description": "The requirement in a password policy that users must include at least one uppercase letter in their password." }, "temporaryPasswordValidityDays": { "type": "integer", @@ -111585,7 +112898,7 @@ "properties": { "passwordPolicy": { "$ref": "#/types/aws-native:cognito:UserPoolPasswordPolicy", - "description": "The password policy." + "description": "The password policy settings for a user pool, including complexity, history, and length requirements." } } }, @@ -111620,11 +112933,11 @@ "properties": { "scopeDescription": { "type": "string", - "description": "A description of the scope." + "description": "A friendly description of a custom scope." }, "scopeName": { "type": "string", - "description": "The name of the scope." + "description": "The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` ." } } }, @@ -111633,11 +112946,11 @@ "properties": { "eventAction": { "type": "string", - "description": "The action to take in response to the account takeover action. Valid values are as follows:\n\n- `BLOCK` Choosing this action will block the request.\n- `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request.\n- `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request.\n- `NO_ACTION` Allow the user to sign in." + "description": "The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows:\n\n- `BLOCK` : Block the request.\n- `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request.\n- `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor.\n- `NO_ACTION` : Take no action. Permit sign-in." }, "notify": { "type": "boolean", - "description": "Flag specifying whether to send a notification." + "description": "Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level." } } }, @@ -111646,15 +112959,15 @@ "properties": { "highAction": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionType", - "description": "Action to take for a high risk." + "description": "The action that you assign to a high-risk assessment by advanced security features." }, "lowAction": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionType", - "description": "Action to take for a low risk." + "description": "The action that you assign to a low-risk assessment by advanced security features." }, "mediumAction": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionType", - "description": "Action to take for a medium risk." + "description": "The action that you assign to a medium-risk assessment by advanced security features." } } }, @@ -111663,11 +112976,11 @@ "properties": { "actions": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType", - "description": "Account takeover risk configuration actions." + "description": "A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features." }, "notifyConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyConfigurationType", - "description": "The notify configuration used to construct email notifications." + "description": "The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type." } } }, @@ -111676,7 +112989,7 @@ "properties": { "eventAction": { "type": "string", - "description": "The event action." + "description": "The action that Amazon Cognito takes when it detects compromised credentials." } } }, @@ -111685,14 +112998,14 @@ "properties": { "actions": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType", - "description": "The compromised credentials risk configuration actions." + "description": "Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials." }, "eventFilter": { "type": "array", "items": { "type": "string" }, - "description": "Perform the action for these events. The default is to perform all events if no event filter is specified." + "description": "Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events." } } }, @@ -111701,23 +113014,23 @@ "properties": { "blockEmail": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyEmailType", - "description": "Email template used when a detected risk event is blocked." + "description": "The template for the email message that your user pool sends when a detected risk event is blocked." }, "from": { "type": "string", - "description": "The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES." + "description": "The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES." }, "mfaEmail": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyEmailType", - "description": "The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk." + "description": "The template for the email message that your user pool sends when MFA is challenged in response to a detected risk." }, "noActionEmail": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyEmailType", - "description": "The email template used when a detected risk event is allowed." + "description": "The template for the email message that your user pool sends when no action is taken in response to a detected risk." }, "replyTo": { "type": "string", - "description": "The destination to which the receiver of an email should reply to." + "description": "The reply-to email address of an email template." }, "sourceArn": { "type": "string", @@ -111730,15 +113043,15 @@ "properties": { "htmlBody": { "type": "string", - "description": "The email HTML body." + "description": "The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively." }, "subject": { "type": "string", - "description": "The email subject." + "description": "The subject of the threat protection email notification." }, "textBody": { "type": "string", - "description": "The email text body." + "description": "The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively." } } }, @@ -111750,14 +113063,14 @@ "items": { "type": "string" }, - "description": "Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix." + "description": "An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation." }, "skippedIpRangeList": { "type": "array", "items": { "type": "string" }, - "description": "Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation." + "description": "An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation." } }, "irreversibleNames": { @@ -111824,7 +113137,7 @@ }, "minLength": { "type": "string", - "description": "The minimum length." + "description": "The minimum length of a string attribute value." } } }, @@ -111858,7 +113171,7 @@ "properties": { "caseSensitive": { "type": "boolean", - "description": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as \"UserName\". This is the default value.\n- **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute." + "description": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as \"UserName\". This is the default value.\n- **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute." } } }, @@ -111867,7 +113180,7 @@ "properties": { "defaultEmailOption": { "type": "string", - "description": "The default email option." + "description": "The configuration of verification emails to contain a clickable link or a verification code.\n\nFor link, your template body must contain link text in the format `{##Click here##}` . \"Click here\" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` ." }, "emailMessage": { "type": "string", @@ -123788,14 +125101,14 @@ "items": { "type": "string" }, - "description": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``.\n All specified security groups must be from the same VPC." + "description": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``.\n All specified security groups must be from the same VPC." }, "subnets": { "type": "array", "items": { "type": "string" }, - "description": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``.\n All specified subnets must be from the same VPC." + "description": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``.\n All specified subnets must be from the same VPC." } } }, @@ -123841,7 +125154,7 @@ }, "logConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceLogConfiguration", - "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/).\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to." + "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to." }, "namespace": { "type": "string", @@ -123960,11 +125273,11 @@ }, "maximumPercent": { "type": "integer", - "description": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service." + "description": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service." }, "minimumHealthyPercent": { "type": "integer", - "description": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service." + "description": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service." } } }, @@ -124032,7 +125345,7 @@ "properties": { "logDriver": { "type": "string", - "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software." + "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software." }, "options": { "type": "object", @@ -124128,7 +125441,7 @@ "properties": { "field": { "type": "string", - "description": "The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used." + "description": "The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used." }, "type": { "$ref": "#/types/aws-native:ecs:ServicePlacementStrategyType", @@ -124248,11 +125561,11 @@ "items": { "type": "string" }, - "description": "The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array." + "description": "The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array." }, "cpu": { "type": "integer", - "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU." + "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU." }, "credentialSpecs": { "type": "array", @@ -124270,49 +125583,49 @@ }, "disableNetworking": { "type": "boolean", - "description": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command.\n This parameter is not supported for Windows containers." + "description": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command.\n This parameter is not supported for Windows containers." }, "dnsSearchDomains": { "type": "array", "items": { "type": "string" }, - "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run.\n This parameter is not supported for Windows containers." + "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run.\n This parameter is not supported for Windows containers." }, "dnsServers": { "type": "array", "items": { "type": "string" }, - "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers." + "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers." }, "dockerLabels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" + "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" }, "dockerSecurityOptions": { "type": "array", "items": { "type": "string" }, - "description": "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"" + "description": "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"" }, "entryPoint": { "type": "array", "items": { "type": "string" }, - "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run." + "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run." }, "environment": { "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionKeyValuePair" }, - "description": "The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run.\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data." + "description": "The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run.\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data." }, "environmentFiles": { "type": "array", @@ -124330,7 +125643,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionHostEntry" }, - "description": "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode." + "description": "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode." }, "firelensConfiguration": { "$ref": "#/types/aws-native:ecs:TaskDefinitionFirelensConfiguration", @@ -124338,26 +125651,26 @@ }, "healthCheck": { "$ref": "#/types/aws-native:ecs:TaskDefinitionHealthCheck", - "description": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run." + "description": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run." }, "hostname": { "type": "string", - "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode." + "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode." }, "image": { "type": "string", - "description": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run.\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e:latest`` or ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``)." + "description": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run.\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e:latest`` or ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``)." }, "interactive": { "type": "boolean", - "description": "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run." + "description": "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run." }, "links": { "type": "array", "items": { "type": "string" }, - "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run.\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings." + "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run.\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings." }, "linuxParameters": { "$ref": "#/types/aws-native:ecs:TaskDefinitionLinuxParameters", @@ -124373,18 +125686,18 @@ }, "memoryReservation": { "type": "integer", - "description": "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run.\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers." + "description": "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run.\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers." }, "mountPoints": { "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionMountPoint" }, - "description": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives." + "description": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives." }, "name": { "type": "string", - "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run." + "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run." }, "portMappings": { "type": "array", @@ -124395,15 +125708,15 @@ }, "privileged": { "type": "boolean", - "description": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run\n This parameter is not supported for Windows containers or tasks run on FARGATElong." + "description": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run\n This parameter is not supported for Windows containers or tasks run on FARGATElong." }, "pseudoTerminal": { "type": "boolean", - "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run." + "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run." }, "readonlyRootFilesystem": { "type": "boolean", - "description": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run.\n This parameter is not supported for Windows containers." + "description": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run.\n This parameter is not supported for Windows containers." }, "repositoryCredentials": { "$ref": "#/types/aws-native:ecs:TaskDefinitionRepositoryCredentials", @@ -124418,7 +125731,7 @@ }, "restartPolicy": { "$ref": "#/types/aws-native:ecs:TaskDefinitionRestartPolicy", - "description": "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* ." + "description": "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*." }, "secrets": { "type": "array", @@ -124440,7 +125753,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionSystemControl" }, - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections." + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections." }, "ulimits": { "type": "array", @@ -124451,18 +125764,18 @@ }, "user": { "type": "string", - "description": "The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run.\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers." + "description": "The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run.\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers." }, "volumesFrom": { "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionVolumeFrom" }, - "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run." + "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run." }, "workingDirectory": { "type": "string", - "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run." + "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run." } } }, @@ -124508,7 +125821,7 @@ }, "driver": { "type": "string", - "description": "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create." + "description": "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create." }, "driverOpts": { "type": "object", @@ -124522,7 +125835,7 @@ "additionalProperties": { "type": "string" }, - "description": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create." + "description": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create." }, "scope": { "type": "string", @@ -124585,11 +125898,11 @@ "properties": { "credentialsParameter": { "type": "string", - "description": "The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials." + "description": "The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials." }, "domain": { "type": "string", - "description": "A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2." + "description": "A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2." } } }, @@ -124634,7 +125947,7 @@ "items": { "type": "string" }, - "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command" + "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command" }, "interval": { "type": "integer", @@ -124697,14 +126010,14 @@ "items": { "type": "string" }, - "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run.\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" + "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run.\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" }, "drop": { "type": "array", "items": { "type": "string" }, - "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" + "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" } } }, @@ -124733,7 +126046,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionDevice" }, - "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported." + "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported." }, "initProcessEnabled": { "type": "boolean", @@ -124903,7 +126216,7 @@ }, "restartAttemptPeriod": { "type": "integer", - "description": "A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted." + "description": "A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted." } } }, @@ -126181,6 +127494,17 @@ } } }, + "aws-native:elasticloadbalancingv2:ListenerAttribute": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:elasticloadbalancingv2:ListenerAuthenticateCognitoConfig": { "type": "object", "properties": { @@ -130321,7 +131645,7 @@ }, "locationCapacity": { "$ref": "#/types/aws-native:gamelift:FleetLocationCapacity", - "description": "Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" + "description": "Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" } } }, @@ -130713,6 +132037,10 @@ "aws-native:globalaccelerator:CrossAccountAttachmentResource": { "type": "object", "properties": { + "cidr": { + "type": "string", + "description": "An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator\n\nFor more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide." + }, "endpointId": { "type": "string", "description": "The endpoint ID for the endpoint that is specified as a AWS resource.\n\nAn endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator." @@ -148455,6 +149783,18 @@ } } }, + "aws-native:mediaconnect:FlowSourceMonitoringConfig": { + "type": "object", + "properties": { + "thumbnailState": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfigThumbnailState", + "description": "The state of thumbnail monitoring." + } + } + }, + "aws-native:mediaconnect:FlowSourceMonitoringConfigThumbnailState": { + "type": "string" + }, "aws-native:mediaconnect:FlowSourceProtocol": { "type": "string" }, @@ -148530,6 +149870,90 @@ "aws-native:mediaconnect:GatewayState": { "type": "string" }, + "aws-native:medialive:ChannelPlacementGroupState": { + "type": "string" + }, + "aws-native:medialive:ChannelPlacementGroupTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator": { + "type": "string" + }, + "aws-native:medialive:CloudWatchAlarmTemplateStatistic": { + "type": "string" + }, + "aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType": { + "type": "string" + }, + "aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData": { + "type": "string" + }, + "aws-native:medialive:ClusterInterfaceMapping": { + "type": "object", + "properties": { + "logicalInterfaceName": { + "type": "string", + "description": "logical interface name, unique in the list" + }, + "networkId": { + "type": "string", + "description": "Network Id to be associated with the logical interface name, can be duplicated in list" + } + } + }, + "aws-native:medialive:ClusterNetworkSettings": { + "type": "object", + "properties": { + "defaultRoute": { + "type": "string", + "description": "Default value if the customer does not define it in channel Output API" + }, + "interfaceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:ClusterInterfaceMapping" + }, + "description": "Network mappings for the cluster" + } + } + }, + "aws-native:medialive:ClusterState": { + "type": "string" + }, + "aws-native:medialive:ClusterTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:medialive:ClusterType": { + "type": "string" + }, + "aws-native:medialive:EventBridgeRuleTemplateEventType": { + "type": "string" + }, + "aws-native:medialive:EventBridgeRuleTemplateTarget": { + "type": "object", + "properties": { + "arn": { + "type": "string", + "description": "Target ARNs must be either an SNS topic or CloudWatch log group." + } + } + }, "aws-native:medialive:MultiplexOutputDestination": { "type": "object", "properties": { @@ -148696,6 +150120,130 @@ "aws-native:medialive:MultiplexprogramPreferredChannelPipeline": { "type": "string" }, + "aws-native:medialive:NetworkIpPool": { + "type": "object", + "properties": { + "cidr": { + "type": "string", + "description": "IP address cidr pool" + } + } + }, + "aws-native:medialive:NetworkRoute": { + "type": "object", + "properties": { + "cidr": { + "type": "string", + "description": "Ip address cidr" + }, + "gateway": { + "type": "string", + "description": "IP address for the route packet paths" + } + } + }, + "aws-native:medialive:NetworkState": { + "type": "string" + }, + "aws-native:medialive:NetworkTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:medialive:SdiSourceMode": { + "type": "string" + }, + "aws-native:medialive:SdiSourceState": { + "type": "string" + }, + "aws-native:medialive:SdiSourceTags": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:medialive:SdiSourceType": { + "type": "string" + }, + "aws-native:medialive:SignalMapMediaResource": { + "type": "object", + "properties": { + "destinations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResourceNeighbor" + } + }, + "name": { + "type": "string", + "description": "The logical name of an AWS media resource." + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResourceNeighbor" + } + } + } + }, + "aws-native:medialive:SignalMapMediaResourceNeighbor": { + "type": "object", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of a resource used in AWS media workflows." + }, + "name": { + "type": "string", + "description": "The logical name of an AWS media resource." + } + } + }, + "aws-native:medialive:SignalMapMonitorDeployment": { + "type": "object", + "properties": { + "detailsUri": { + "type": "string", + "description": "URI associated with a signal map's monitor deployment." + }, + "errorMessage": { + "type": "string", + "description": "Error message associated with a failed monitor deployment of a signal map." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeploymentStatus" + } + } + }, + "aws-native:medialive:SignalMapMonitorDeploymentStatus": { + "type": "string" + }, + "aws-native:medialive:SignalMapStatus": { + "type": "string" + }, + "aws-native:medialive:SignalMapSuccessfulMonitorDeployment": { + "type": "object", + "properties": { + "detailsUri": { + "type": "string", + "description": "URI associated with a signal map's monitor deployment." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeploymentStatus" + } + } + }, "aws-native:mediapackage:AssetEgressEndpoint": { "type": "object", "properties": { @@ -154591,6 +156139,26 @@ "aws-native:pcaconnectorad:TemplateValidityPeriodType": { "type": "string" }, + "aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement": { + "type": "object" + }, + "aws-native:pcaconnectorscep:ConnectorOpenIdConfiguration": { + "type": "object", + "properties": { + "audience": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "subject": { + "type": "string" + } + } + }, + "aws-native:pcaconnectorscep:ConnectorType": { + "type": "string" + }, "aws-native:personalize:DatasetGroupDomain": { "type": "string" }, @@ -159454,6 +161022,9 @@ }, "description": "An array of parameter declarations for an analysis.\n\nParameters are named variables that can transfer a value for use by an action or an object.\n\nFor more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* ." }, + "queryExecutionOptions": { + "$ref": "#/types/aws-native:quicksight:AnalysisQueryExecutionOptions" + }, "sheets": { "type": "array", "items": { @@ -163835,6 +165406,17 @@ } } }, + "aws-native:quicksight:AnalysisQueryExecutionMode": { + "type": "string" + }, + "aws-native:quicksight:AnalysisQueryExecutionOptions": { + "type": "object", + "properties": { + "queryExecutionMode": { + "$ref": "#/types/aws-native:quicksight:AnalysisQueryExecutionMode" + } + } + }, "aws-native:quicksight:AnalysisRadarChartAggregatedFieldWells": { "type": "object", "properties": { @@ -185332,6 +186914,17 @@ } } }, + "aws-native:quicksight:TemplateQueryExecutionMode": { + "type": "string" + }, + "aws-native:quicksight:TemplateQueryExecutionOptions": { + "type": "object", + "properties": { + "queryExecutionMode": { + "$ref": "#/types/aws-native:quicksight:TemplateQueryExecutionMode" + } + } + }, "aws-native:quicksight:TemplateRadarChartAggregatedFieldWells": { "type": "object", "properties": { @@ -187928,6 +189521,9 @@ }, "description": "An array of parameter declarations for a template.\n\n*Parameters* are named variables that can transfer a value for use by an action or an object.\n\nFor more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* ." }, + "queryExecutionOptions": { + "$ref": "#/types/aws-native:quicksight:TemplateQueryExecutionOptions" + }, "sheets": { "type": "array", "items": { @@ -194159,6 +195755,128 @@ "aws-native:sagemaker:AppType": { "type": "string" }, + "aws-native:sagemaker:ClusterDeepHealthCheckType": { + "type": "string" + }, + "aws-native:sagemaker:ClusterInstanceGroup": { + "type": "object", + "properties": { + "currentCount": { + "type": "integer", + "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster." + }, + "executionRole": { + "type": "string", + "replaceOnChanges": true + }, + "instanceCount": { + "type": "integer", + "description": "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster." + }, + "instanceGroupName": { + "type": "string", + "replaceOnChanges": true + }, + "instanceStorageConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceStorageConfig" + } + }, + "instanceType": { + "type": "string", + "replaceOnChanges": true + }, + "lifeCycleConfig": { + "$ref": "#/types/aws-native:sagemaker:ClusterLifeCycleConfig" + }, + "onStartDeepHealthChecks": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterDeepHealthCheckType" + } + }, + "threadsPerCore": { + "type": "integer", + "description": "The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.", + "replaceOnChanges": true + } + } + }, + "aws-native:sagemaker:ClusterInstanceStorageConfig": { + "type": "object" + }, + "aws-native:sagemaker:ClusterLifeCycleConfig": { + "type": "object", + "properties": { + "onCreate": { + "type": "string", + "description": "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation." + }, + "sourceS3Uri": { + "type": "string", + "description": "An Amazon S3 bucket path where your lifecycle scripts are stored." + } + }, + "irreversibleNames": { + "sourceS3Uri": "SourceS3Uri" + } + }, + "aws-native:sagemaker:ClusterNodeRecovery": { + "type": "string" + }, + "aws-native:sagemaker:ClusterOrchestrator": { + "type": "object", + "properties": { + "eks": { + "$ref": "#/types/aws-native:sagemaker:ClusterOrchestratorEksConfig" + } + } + }, + "aws-native:sagemaker:ClusterOrchestratorEksConfig": { + "type": "object", + "properties": { + "clusterArn": { + "type": "string", + "description": "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster" + } + } + }, + "aws-native:sagemaker:ClusterStatus": { + "type": "string" + }, + "aws-native:sagemaker:ClusterTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, + "aws-native:sagemaker:ClusterVpcConfig": { + "type": "object", + "properties": { + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field." + }, + "subnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the subnets in the VPC to which you want to connect your training job or model." + } + } + }, "aws-native:sagemaker:DataQualityJobDefinitionBatchTransformInput": { "type": "object", "properties": { @@ -194558,6 +196276,14 @@ } } }, + "aws-native:sagemaker:DomainAppLifecycleManagement": { + "type": "object", + "properties": { + "idleSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainIdleSettings" + } + } + }, "aws-native:sagemaker:DomainAppNetworkAccessType": { "type": "string" }, @@ -194573,6 +196299,9 @@ "aws-native:sagemaker:DomainCodeEditorAppSettings": { "type": "object", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:DomainAppLifecycleManagement" + }, "customImages": { "type": "array", "items": { @@ -194741,9 +196470,29 @@ } } }, + "aws-native:sagemaker:DomainIdleSettings": { + "type": "object", + "properties": { + "idleTimeoutInMinutes": { + "type": "integer" + }, + "lifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:DomainLifecycleManagement" + }, + "maxIdleTimeoutInMinutes": { + "type": "integer" + }, + "minIdleTimeoutInMinutes": { + "type": "integer" + } + } + }, "aws-native:sagemaker:DomainJupyterLabAppSettings": { "type": "object", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:DomainAppLifecycleManagement" + }, "codeRepositories": { "type": "array", "items": { @@ -194810,6 +196559,9 @@ } } }, + "aws-native:sagemaker:DomainLifecycleManagement": { + "type": "string" + }, "aws-native:sagemaker:DomainMlTools": { "type": "string" }, @@ -198537,12 +200289,23 @@ } } }, + "aws-native:sagemaker:SpaceAppLifecycleManagement": { + "type": "object", + "properties": { + "idleSettings": { + "$ref": "#/types/aws-native:sagemaker:SpaceIdleSettings" + } + } + }, "aws-native:sagemaker:SpaceAppType": { "type": "string" }, "aws-native:sagemaker:SpaceCodeEditorAppSettings": { "type": "object", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:SpaceAppLifecycleManagement" + }, "defaultResourceSpec": { "$ref": "#/types/aws-native:sagemaker:SpaceResourceSpec", "description": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on." @@ -198603,9 +200366,21 @@ } } }, + "aws-native:sagemaker:SpaceIdleSettings": { + "type": "object", + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "description": "The space idle timeout value set in minutes" + } + } + }, "aws-native:sagemaker:SpaceJupyterLabAppSettings": { "type": "object", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:SpaceAppLifecycleManagement" + }, "codeRepositories": { "type": "array", "items": { @@ -198777,12 +200552,23 @@ } } }, + "aws-native:sagemaker:UserProfileAppLifecycleManagement": { + "type": "object", + "properties": { + "idleSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileIdleSettings" + } + } + }, "aws-native:sagemaker:UserProfileAppType": { "type": "string" }, "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { "type": "object", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:UserProfileAppLifecycleManagement" + }, "customImages": { "type": "array", "items": { @@ -198889,9 +200675,29 @@ } } }, + "aws-native:sagemaker:UserProfileIdleSettings": { + "type": "object", + "properties": { + "idleTimeoutInMinutes": { + "type": "integer" + }, + "lifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:UserProfileLifecycleManagement" + }, + "maxIdleTimeoutInMinutes": { + "type": "integer" + }, + "minIdleTimeoutInMinutes": { + "type": "integer" + } + } + }, "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { "type": "object", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:UserProfileAppLifecycleManagement" + }, "codeRepositories": { "type": "array", "items": { @@ -198958,6 +200764,9 @@ } } }, + "aws-native:sagemaker:UserProfileLifecycleManagement": { + "type": "string" + }, "aws-native:sagemaker:UserProfileMlTools": { "type": "string" }, @@ -212787,6 +214596,43 @@ "gatewayArn" ] }, + "aws-native:medialive:getChannelPlacementGroup": { + "cf": "AWS::MediaLive::ChannelPlacementGroup", + "ids": [ + "id", + "clusterId" + ] + }, + "aws-native:medialive:getCloudWatchAlarmTemplate": { + "cf": "AWS::MediaLive::CloudWatchAlarmTemplate", + "ids": [ + "identifier" + ] + }, + "aws-native:medialive:getCloudWatchAlarmTemplateGroup": { + "cf": "AWS::MediaLive::CloudWatchAlarmTemplateGroup", + "ids": [ + "identifier" + ] + }, + "aws-native:medialive:getCluster": { + "cf": "AWS::MediaLive::Cluster", + "ids": [ + "id" + ] + }, + "aws-native:medialive:getEventBridgeRuleTemplate": { + "cf": "AWS::MediaLive::EventBridgeRuleTemplate", + "ids": [ + "identifier" + ] + }, + "aws-native:medialive:getEventBridgeRuleTemplateGroup": { + "cf": "AWS::MediaLive::EventBridgeRuleTemplateGroup", + "ids": [ + "identifier" + ] + }, "aws-native:medialive:getMultiplex": { "cf": "AWS::MediaLive::Multiplex", "ids": [ @@ -212800,6 +214646,24 @@ "multiplexId" ] }, + "aws-native:medialive:getNetwork": { + "cf": "AWS::MediaLive::Network", + "ids": [ + "id" + ] + }, + "aws-native:medialive:getSdiSource": { + "cf": "AWS::MediaLive::SdiSource", + "ids": [ + "id" + ] + }, + "aws-native:medialive:getSignalMap": { + "cf": "AWS::MediaLive::SignalMap", + "ids": [ + "identifier" + ] + }, "aws-native:mediapackage:getAsset": { "cf": "AWS::MediaPackage::Asset", "ids": [ @@ -213308,6 +215172,18 @@ "templateArn" ] }, + "aws-native:pcaconnectorscep:getChallenge": { + "cf": "AWS::PCAConnectorSCEP::Challenge", + "ids": [ + "challengeArn" + ] + }, + "aws-native:pcaconnectorscep:getConnector": { + "cf": "AWS::PCAConnectorSCEP::Connector", + "ids": [ + "connectorArn" + ] + }, "aws-native:personalize:getDataset": { "cf": "AWS::Personalize::Dataset", "ids": [ @@ -214018,6 +215894,12 @@ "appImageConfigName" ] }, + "aws-native:sagemaker:getCluster": { + "cf": "AWS::SageMaker::Cluster", + "ids": [ + "clusterArn" + ] + }, "aws-native:sagemaker:getDataQualityJobDefinition": { "cf": "AWS::SageMaker::DataQualityJobDefinition", "ids": [ @@ -214420,6 +216302,12 @@ "name" ] }, + "aws-native:sns:getSubscription": { + "cf": "AWS::SNS::Subscription", + "ids": [ + "arn" + ] + }, "aws-native:sns:getTopic": { "cf": "AWS::SNS::Topic", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index a6d965ce8a..d512a89fb4 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -170,6 +170,7 @@ "panorama": "Panorama", "paymentcryptography": "PaymentCryptography", "pcaconnectorad": "PcaConnectorAd", + "pcaconnectorscep": "PcaConnectorScep", "personalize": "Personalize", "pinpoint": "Pinpoint", "pipes": "Pipes", @@ -1233,6 +1234,29 @@ }, "type": "object" }, + "aws-native:amplify:AppCacheConfig": { + "properties": { + "type": { + "$ref": "#/types/aws-native:amplify:AppCacheConfigType", + "description": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key." + } + }, + "type": "object" + }, + "aws-native:amplify:AppCacheConfigType": { + "description": "The type of cache configuration to use for an Amplify app.\n\nThe `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting.\n\nThe `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key.", + "type": "string", + "enum": [ + { + "name": "AmplifyManaged", + "value": "AMPLIFY_MANAGED" + }, + { + "name": "AmplifyManagedNoCookies", + "value": "AMPLIFY_MANAGED_NO_COOKIES" + } + ] + }, "aws-native:amplify:AppCustomRule": { "properties": { "condition": { @@ -1276,7 +1300,7 @@ ] }, "aws-native:amplify:AppPlatform": { - "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .", + "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* .", "type": "string", "enum": [ { @@ -8471,6 +8495,20 @@ } ] }, + "aws-native:applicationsignals:ServiceLevelObjectiveEvaluationType": { + "description": "Displays whether this is a period-based SLO or a request-based SLO.", + "type": "string", + "enum": [ + { + "name": "PeriodBased", + "value": "PeriodBased" + }, + { + "name": "RequestBased", + "value": "RequestBased" + } + ] + }, "aws-native:applicationsignals:ServiceLevelObjectiveGoal": { "description": "A structure that contains the attributes that determine the goal of the SLO. This includes the time period for evaluation and the attainment threshold.", "properties": { @@ -8579,6 +8617,115 @@ "stat" ] }, + "aws-native:applicationsignals:ServiceLevelObjectiveMonitoredRequestCountMetric": { + "description": "This structure defines the metric that is used as the \"good request\" or \"bad request\" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks.", + "properties": { + "badCountMetric": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMetricDataQuery" + }, + "description": "If you want to count \"bad requests\" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as \"bad requests\" in this structure." + }, + "goodCountMetric": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMetricDataQuery" + }, + "description": "If you want to count \"good requests\" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as \"good requests\" in this structure." + } + }, + "type": "object" + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli": { + "description": "This structure contains information about the performance metric that a request-based SLO monitors.", + "properties": { + "comparisonOperator": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliComparisonOperator", + "description": "The arithmetic operation used when comparing the specified metric to the threshold." + }, + "metricThreshold": { + "type": "number", + "description": "The value that the SLI metric is compared to." + }, + "requestBasedSliMetric": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetric", + "description": "A structure that contains information about the metric that the SLO monitors." + } + }, + "type": "object", + "required": [ + "requestBasedSliMetric" + ] + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliComparisonOperator": { + "description": "The arithmetic operation used when comparing the specified metric to the threshold.", + "type": "string", + "enum": [ + { + "name": "GreaterThanOrEqualTo", + "value": "GreaterThanOrEqualTo" + }, + { + "name": "LessThanOrEqualTo", + "value": "LessThanOrEqualTo" + }, + { + "name": "LessThan", + "value": "LessThan" + }, + { + "name": "GreaterThan", + "value": "GreaterThan" + } + ] + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetric": { + "description": "This structure contains the information about the metric that is used for a request-based SLO.", + "properties": { + "keyAttributes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields.\n\n- `Type` designates the type of object that this SLO is related to.\n- `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` .\n- `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` .\n- `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` .\n- `Environment` specifies the location where this object is hosted, or what it belongs to." + }, + "metricType": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetricMetricType", + "description": "If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used." + }, + "monitoredRequestCountMetric": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMonitoredRequestCountMetric", + "description": "Use this structure to define the metric that you want to use as the \"good request\" or \"bad request\" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks." + }, + "operationName": { + "type": "string", + "description": "If the SLO monitors a specific operation of the service, this field displays that operation name." + }, + "totalRequestCountMetric": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveMetricDataQuery" + }, + "description": "This structure defines the metric that is used as the \"total requests\" number for a request-based SLO. The number observed for this metric is divided by the number of \"good requests\" or \"bad requests\" that is observed for the metric defined in `MonitoredRequestCountMetric`." + } + }, + "type": "object" + }, + "aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSliMetricMetricType": { + "description": "If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.", + "type": "string", + "enum": [ + { + "name": "Latency", + "value": "LATENCY" + }, + { + "name": "Availability", + "value": "AVAILABILITY" + } + ] + }, "aws-native:applicationsignals:ServiceLevelObjectiveRollingInterval": { "description": "If the interval is a calendar interval, this structure contains the interval specifications.", "properties": { @@ -10123,7 +10270,7 @@ "properties": { "s3AclOption": { "$ref": "#/types/aws-native:athena:WorkGroupS3AclOption", - "description": "The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* ." + "description": "The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* ." } }, "type": "object", @@ -21314,7 +21461,7 @@ "properties": { "key": { "type": "string", - "description": "*Required* . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services ( AWS ) have the reserved prefix: `aws:` ." + "description": "*Required* . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by AWS have the reserved prefix: `aws:` ." }, "value": { "type": "string", @@ -23812,7 +23959,7 @@ ] }, "aws-native:codebuild:FleetComputeType": { - "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*", + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*", "type": "string", "enum": [ { @@ -23838,7 +23985,7 @@ ] }, "aws-native:codebuild:FleetEnvironmentType": { - "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* .", "type": "string", "enum": [ { @@ -25268,7 +25415,7 @@ "properties": { "allowAdminCreateUserOnly": { "type": "boolean", - "description": "Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app." + "description": "The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation." }, "inviteMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolInviteMessageTemplate", @@ -25276,7 +25423,7 @@ }, "unusedAccountValidityDays": { "type": "integer", - "description": "The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `\"RESEND\"` for the `MessageAction` parameter. The default value for this parameter is 7.\n\n\u003e If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool." + "description": "This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` .\n\nThe password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter.\n\nThe default value for this parameter is 7." } }, "type": "object" @@ -25297,15 +25444,15 @@ }, "applicationId": { "type": "string", - "description": "The application ID for an Amazon Pinpoint application." + "description": "Your Amazon Pinpoint project ID." }, "externalId": { "type": "string", - "description": "The external ID." + "description": "The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint." }, "roleArn": { "type": "string", - "description": "The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics." + "description": "The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics." }, "userDataShared": { "type": "boolean", @@ -25318,15 +25465,15 @@ "properties": { "accessToken": { "type": "string", - "description": "A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day." + "description": "A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day." }, "idToken": { "type": "string", - "description": "A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day." + "description": "A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day." }, "refreshToken": { "type": "string", - "description": "A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years." + "description": "A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years." } }, "type": "object" @@ -25425,7 +25572,7 @@ "properties": { "createAuthChallenge": { "type": "string", - "description": "Creates an authentication challenge." + "description": "The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) ." }, "customEmailSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomEmailSender", @@ -25433,7 +25580,7 @@ }, "customMessage": { "type": "string", - "description": "A custom Message AWS Lambda trigger." + "description": "A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user." }, "customSmsSender": { "$ref": "#/types/aws-native:cognito:UserPoolCustomSmsSender", @@ -25441,7 +25588,7 @@ }, "defineAuthChallenge": { "type": "string", - "description": "Defines the authentication challenge." + "description": "The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) ." }, "kmsKeyId": { "type": "string", @@ -25449,35 +25596,35 @@ }, "postAuthentication": { "type": "string", - "description": "A post-authentication AWS Lambda trigger." + "description": "The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in." }, "postConfirmation": { "type": "string", - "description": "A post-confirmation AWS Lambda trigger." + "description": "The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number." }, "preAuthentication": { "type": "string", - "description": "A pre-authentication AWS Lambda trigger." + "description": "The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events." }, "preSignUp": { "type": "string", - "description": "A pre-registration AWS Lambda trigger." + "description": "The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests." }, "preTokenGeneration": { "type": "string", - "description": "The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` .\n\nYou can set ``" + "description": "The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool.\n\nSet this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` ." }, "preTokenGenerationConfig": { "$ref": "#/types/aws-native:cognito:UserPoolPreTokenGenerationConfig", - "description": "The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` ." + "description": "The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` ." }, "userMigration": { "type": "string", - "description": "The user migration Lambda config type." + "description": "The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet." }, "verifyAuthChallengeResponse": { "type": "string", - "description": "Verifies the authentication challenge response." + "description": "The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) ." } }, "type": "object" @@ -25507,19 +25654,19 @@ }, "requireLowercase": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password." + "description": "The requirement in a password policy that users must include at least one lowercase letter in their password." }, "requireNumbers": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one number in their password." + "description": "The requirement in a password policy that users must include at least one number in their password." }, "requireSymbols": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password." + "description": "The requirement in a password policy that users must include at least one symbol in their password." }, "requireUppercase": { "type": "boolean", - "description": "In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password." + "description": "The requirement in a password policy that users must include at least one uppercase letter in their password." }, "temporaryPasswordValidityDays": { "type": "integer", @@ -25532,7 +25679,7 @@ "properties": { "passwordPolicy": { "$ref": "#/types/aws-native:cognito:UserPoolPasswordPolicy", - "description": "The password policy." + "description": "The password policy settings for a user pool, including complexity, history, and length requirements." } }, "type": "object" @@ -25567,11 +25714,11 @@ "properties": { "scopeDescription": { "type": "string", - "description": "A description of the scope." + "description": "A friendly description of a custom scope." }, "scopeName": { "type": "string", - "description": "The name of the scope." + "description": "The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` ." } }, "type": "object", @@ -25584,11 +25731,11 @@ "properties": { "eventAction": { "type": "string", - "description": "The action to take in response to the account takeover action. Valid values are as follows:\n\n- `BLOCK` Choosing this action will block the request.\n- `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request.\n- `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request.\n- `NO_ACTION` Allow the user to sign in." + "description": "The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows:\n\n- `BLOCK` : Block the request.\n- `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request.\n- `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor.\n- `NO_ACTION` : Take no action. Permit sign-in." }, "notify": { "type": "boolean", - "description": "Flag specifying whether to send a notification." + "description": "Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level." } }, "type": "object", @@ -25601,15 +25748,15 @@ "properties": { "highAction": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionType", - "description": "Action to take for a high risk." + "description": "The action that you assign to a high-risk assessment by advanced security features." }, "lowAction": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionType", - "description": "Action to take for a low risk." + "description": "The action that you assign to a low-risk assessment by advanced security features." }, "mediumAction": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionType", - "description": "Action to take for a medium risk." + "description": "The action that you assign to a medium-risk assessment by advanced security features." } }, "type": "object" @@ -25618,11 +25765,11 @@ "properties": { "actions": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType", - "description": "Account takeover risk configuration actions." + "description": "A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features." }, "notifyConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyConfigurationType", - "description": "The notify configuration used to construct email notifications." + "description": "The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type." } }, "type": "object", @@ -25634,7 +25781,7 @@ "properties": { "eventAction": { "type": "string", - "description": "The event action." + "description": "The action that Amazon Cognito takes when it detects compromised credentials." } }, "type": "object", @@ -25646,14 +25793,14 @@ "properties": { "actions": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType", - "description": "The compromised credentials risk configuration actions." + "description": "Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials." }, "eventFilter": { "type": "array", "items": { "type": "string" }, - "description": "Perform the action for these events. The default is to perform all events if no event filter is specified." + "description": "Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events." } }, "type": "object", @@ -25665,23 +25812,23 @@ "properties": { "blockEmail": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyEmailType", - "description": "Email template used when a detected risk event is blocked." + "description": "The template for the email message that your user pool sends when a detected risk event is blocked." }, "from": { "type": "string", - "description": "The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES." + "description": "The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES." }, "mfaEmail": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyEmailType", - "description": "The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk." + "description": "The template for the email message that your user pool sends when MFA is challenged in response to a detected risk." }, "noActionEmail": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentNotifyEmailType", - "description": "The email template used when a detected risk event is allowed." + "description": "The template for the email message that your user pool sends when no action is taken in response to a detected risk." }, "replyTo": { "type": "string", - "description": "The destination to which the receiver of an email should reply to." + "description": "The reply-to email address of an email template." }, "sourceArn": { "type": "string", @@ -25697,15 +25844,15 @@ "properties": { "htmlBody": { "type": "string", - "description": "The email HTML body." + "description": "The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively." }, "subject": { "type": "string", - "description": "The email subject." + "description": "The subject of the threat protection email notification." }, "textBody": { "type": "string", - "description": "The email text body." + "description": "The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively." } }, "type": "object", @@ -25720,14 +25867,14 @@ "items": { "type": "string" }, - "description": "Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix." + "description": "An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation." }, "skippedIpRangeList": { "type": "array", "items": { "type": "string" }, - "description": "Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation." + "description": "An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation." } }, "type": "object" @@ -25790,7 +25937,7 @@ }, "minLength": { "type": "string", - "description": "The minimum length." + "description": "The minimum length of a string attribute value." } }, "type": "object" @@ -25827,7 +25974,7 @@ "properties": { "caseSensitive": { "type": "boolean", - "description": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as \"UserName\". This is the default value.\n- **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute." + "description": "Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to `False` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.\n\nValid values include:\n\n- **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as \"UserName\". This is the default value.\n- **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute." } }, "type": "object" @@ -25836,7 +25983,7 @@ "properties": { "defaultEmailOption": { "type": "string", - "description": "The default email option." + "description": "The configuration of verification emails to contain a clickable link or a verification code.\n\nFor link, your template body must contain link text in the format `{##Click here##}` . \"Click here\" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` ." }, "emailMessage": { "type": "string", @@ -43777,7 +43924,7 @@ "type": "object" }, "aws-native:ecs:ServiceAwsVpcConfiguration": { - "description": "An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=[\"subnet-12344321\"],securityGroups=[\"sg-12344321\"]}``", + "description": "An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=[\"subnet-12344321\"],securityGroups=[\"sg-12344321\"]}``.", "properties": { "assignPublicIp": { "$ref": "#/types/aws-native:ecs:ServiceAwsVpcConfigurationAssignPublicIp", @@ -43788,14 +43935,14 @@ "items": { "type": "string" }, - "description": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``.\n All specified security groups must be from the same VPC." + "description": "The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``.\n All specified security groups must be from the same VPC." }, "subnets": { "type": "array", "items": { "type": "string" }, - "description": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``.\n All specified subnets must be from the same VPC." + "description": "The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``.\n All specified subnets must be from the same VPC." } }, "type": "object" @@ -43858,7 +44005,7 @@ }, "logConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceLogConfiguration", - "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/).\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to." + "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to." }, "namespace": { "type": "string", @@ -43914,7 +44061,7 @@ ] }, "aws-native:ecs:ServiceConnectTlsCertificateAuthority": { - "description": "An object that represents the AWS Private Certificate Authority certificate.", + "description": "The certificate root authority that secures your service.", "properties": { "awsPcaAuthorityArn": { "type": "string", @@ -43924,7 +44071,7 @@ "type": "object" }, "aws-native:ecs:ServiceConnectTlsConfiguration": { - "description": "An object that represents the configuration for Service Connect TLS.", + "description": "The key that encrypts and decrypts your resources for Service Connect TLS.", "properties": { "issuerCertificateAuthority": { "$ref": "#/types/aws-native:ecs:ServiceConnectTlsCertificateAuthority", @@ -43989,7 +44136,7 @@ ] }, "aws-native:ecs:ServiceDeploymentConfiguration": { - "description": "The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.", + "description": "Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.", "properties": { "alarms": { "$ref": "#/types/aws-native:ecs:ServiceDeploymentAlarms", @@ -44001,11 +44148,11 @@ }, "maximumPercent": { "type": "integer", - "description": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service." + "description": "If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service." }, "minimumHealthyPercent": { "type": "integer", - "description": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service." + "description": "If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. \n For services that *do not* use a load balancer, the following should be noted:\n + A service is considered healthy if all essential containers within the tasks in the service pass their health checks.\n + If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total.\n + If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. \n \n For services that *do* use a load balancer, the following should be noted:\n + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.\n \n The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console.\n The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.\n You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.\n If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service." } }, "type": "object" @@ -44117,11 +44264,11 @@ "type": "object" }, "aws-native:ecs:ServiceLogConfiguration": { - "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/).\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", + "description": "The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.\n By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.\n Understand the following when specifying a log configuration for your containers.\n + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``.\n + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.\n + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.", "properties": { "logDriver": { "type": "string", - "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software." + "description": "The log driver to use for the container.\n For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``.\n For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``.\n For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*.\n For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).\n If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software." }, "options": { "type": "object", @@ -44193,7 +44340,7 @@ ] }, "aws-native:ecs:ServiceNetworkConfiguration": { - "description": "The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service.", + "description": "The network configuration for a task or service.", "properties": { "awsvpcConfiguration": { "$ref": "#/types/aws-native:ecs:ServiceAwsVpcConfiguration", @@ -44203,7 +44350,7 @@ "type": "object" }, "aws-native:ecs:ServicePlacementConstraint": { - "description": "The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*.", + "description": "An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*.\n If you're using the Fargate launch type, task placement constraints aren't supported.", "properties": { "expression": { "type": "string", @@ -44234,11 +44381,11 @@ ] }, "aws-native:ecs:ServicePlacementStrategy": { - "description": "The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*.", + "description": "The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*.", "properties": { "field": { "type": "string", - "description": "The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used." + "description": "The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used." }, "type": { "$ref": "#/types/aws-native:ecs:ServicePlacementStrategyType", @@ -44269,7 +44416,7 @@ ] }, "aws-native:ecs:ServicePropagateTags": { - "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``.", + "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``.", "type": "string", "enum": [ { @@ -44283,7 +44430,7 @@ ] }, "aws-native:ecs:ServiceRegistry": { - "description": "The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*.", + "description": "The details for the service registry.\n Each service may be associated with one service registry. Multiple service registries for each service are not supported.\n When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration.", "properties": { "containerName": { "type": "string", @@ -44417,11 +44564,11 @@ "items": { "type": "string" }, - "description": "The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array." + "description": "The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array." }, "cpu": { "type": "integer", - "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU." + "description": "The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.\n This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.\n You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024.\n Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units.\n On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version:\n + *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.\n + *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2.\n + *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares.\n \n On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0``, which Windows interprets as 1% of one CPU." }, "credentialSpecs": { "type": "array", @@ -44439,49 +44586,49 @@ }, "disableNetworking": { "type": "boolean", - "description": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command.\n This parameter is not supported for Windows containers." + "description": "When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command.\n This parameter is not supported for Windows containers." }, "dnsSearchDomains": { "type": "array", "items": { "type": "string" }, - "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run.\n This parameter is not supported for Windows containers." + "description": "A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run.\n This parameter is not supported for Windows containers." }, "dnsServers": { "type": "array", "items": { "type": "string" }, - "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers." + "description": "A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run.\n This parameter is not supported for Windows containers." }, "dockerLabels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" + "description": "A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``" }, "dockerSecurityOptions": { "type": "array", "items": { "type": "string" }, - "description": "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"" + "description": "A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type.\n For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.\n For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*.\n This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run.\n The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*.\n Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" | \"credentialspec:CredentialSpecFilePath\"" }, "entryPoint": { "type": "array", "items": { "type": "string" }, - "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run." + "description": "Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead.\n The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run." }, "environment": { "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionKeyValuePair" }, - "description": "The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run.\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data." + "description": "The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run.\n We don't recommend that you use plaintext environment variables for sensitive information, such as credential data." }, "environmentFiles": { "type": "array", @@ -44499,7 +44646,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionHostEntry" }, - "description": "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode." + "description": "A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run.\n This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode." }, "firelensConfiguration": { "$ref": "#/types/aws-native:ecs:TaskDefinitionFirelensConfiguration", @@ -44507,26 +44654,26 @@ }, "healthCheck": { "$ref": "#/types/aws-native:ecs:TaskDefinitionHealthCheck", - "description": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run." + "description": "The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run." }, "hostname": { "type": "string", - "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode." + "description": "The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.\n The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode." }, "image": { "type": "string", - "description": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run.\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e:latest`` or ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``)." + "description": "The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run.\n + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.\n + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e:latest`` or ``012345678910.dkr.ecr.\u003cregion-name\u003e.amazonaws.com/\u003crepository-name\u003e@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. \n + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``).\n + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``).\n + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``)." }, "interactive": { "type": "boolean", - "description": "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run." + "description": "When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run." }, "links": { "type": "array", "items": { "type": "string" }, - "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run.\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings." + "description": "The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run.\n This parameter is not supported for Windows containers.\n Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings." }, "linuxParameters": { "$ref": "#/types/aws-native:ecs:TaskDefinitionLinuxParameters", @@ -44542,18 +44689,18 @@ }, "memoryReservation": { "type": "integer", - "description": "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run.\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers." + "description": "The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run.\n If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.\n For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.\n The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. \n The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers." }, "mountPoints": { "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionMountPoint" }, - "description": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives." + "description": "The mount points for data volumes in your container.\n This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run.\n Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives." }, "name": { "type": "string", - "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run." + "description": "The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run." }, "portMappings": { "type": "array", @@ -44564,15 +44711,15 @@ }, "privileged": { "type": "boolean", - "description": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run\n This parameter is not supported for Windows containers or tasks run on FARGATElong." + "description": "When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run\n This parameter is not supported for Windows containers or tasks run on FARGATElong." }, "pseudoTerminal": { "type": "boolean", - "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run." + "description": "When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run." }, "readonlyRootFilesystem": { "type": "boolean", - "description": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run.\n This parameter is not supported for Windows containers." + "description": "When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run.\n This parameter is not supported for Windows containers." }, "repositoryCredentials": { "$ref": "#/types/aws-native:ecs:TaskDefinitionRepositoryCredentials", @@ -44587,7 +44734,7 @@ }, "restartPolicy": { "$ref": "#/types/aws-native:ecs:TaskDefinitionRestartPolicy", - "description": "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* ." + "description": "The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*." }, "secrets": { "type": "array", @@ -44609,7 +44756,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionSystemControl" }, - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections." + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections." }, "ulimits": { "type": "array", @@ -44620,18 +44767,18 @@ }, "user": { "type": "string", - "description": "The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run.\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers." + "description": "The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run.\n When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security.\n You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.\n + ``user`` \n + ``user:group`` \n + ``uid`` \n + ``uid:gid`` \n + ``user:gid`` \n + ``uid:group`` \n \n This parameter is not supported for Windows containers." }, "volumesFrom": { "type": "array", "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionVolumeFrom" }, - "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run." + "description": "Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run." }, "workingDirectory": { "type": "string", - "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run." + "description": "The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run." } }, "type": "object", @@ -44684,7 +44831,7 @@ }, "driver": { "type": "string", - "description": "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create." + "description": "The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create." }, "driverOpts": { "type": "object", @@ -44698,7 +44845,7 @@ "additionalProperties": { "type": "string" }, - "description": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create." + "description": "Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create." }, "scope": { "type": "string", @@ -44775,14 +44922,15 @@ "type": "object" }, "aws-native:ecs:TaskDefinitionFSxAuthorizationConfig": { + "description": "The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*.\n For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*.", "properties": { "credentialsParameter": { "type": "string", - "description": "The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials." + "description": "The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials." }, "domain": { "type": "string", - "description": "A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2." + "description": "A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2." } }, "type": "object", @@ -44838,7 +44986,7 @@ "items": { "type": "string" }, - "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command" + "description": "A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. \n When you use the AWS Management Console JSON panel, the CLIlong, or the APIs, enclose the list of commands in double quotes and brackets.\n ``[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]`` \n You don't include the double quotes and brackets when you use the AWS Management Console.\n ``CMD-SHELL, curl -f http://localhost/ || exit 1`` \n An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command" }, "interval": { "type": "integer", @@ -44905,14 +45053,14 @@ "items": { "type": "string" }, - "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run.\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" + "description": "The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run.\n Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" }, "drop": { "type": "array", "items": { "type": "string" }, - "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" + "description": "The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run.\n Valid values: ``\"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"``" } }, "type": "object" @@ -44943,7 +45091,7 @@ "items": { "$ref": "#/types/aws-native:ecs:TaskDefinitionDevice" }, - "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported." + "description": "Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.\n If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported." }, "initProcessEnabled": { "type": "boolean", @@ -45134,6 +45282,7 @@ ] }, "aws-native:ecs:TaskDefinitionRestartPolicy": { + "description": "You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*.", "properties": { "enabled": { "type": "boolean", @@ -45148,7 +45297,7 @@ }, "restartAttemptPeriod": { "type": "integer", - "description": "A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted." + "description": "A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted." } }, "type": "object" @@ -45186,7 +45335,7 @@ ] }, "aws-native:ecs:TaskDefinitionSystemControl": { - "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", + "description": "A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.\n We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:\n + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect.\n + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported.\n \n If you're setting an IPC resource namespace to use for the containers in the task, the following conditions apply to your system controls. For more information, see [IPC mode](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_definition_ipcmode).\n + For tasks that use the ``host`` IPC mode, IPC namespace ``systemControls`` aren't supported.\n + For tasks that use the ``task`` IPC mode, IPC namespace ``systemControls`` values apply to all containers within a task.\n \n This parameter is not supported for Windows containers.\n This parameter is only supported for tasks that are hosted on FARGATElong if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.", "properties": { "namespace": { "type": "string", @@ -46794,257 +46943,268 @@ "type" ] }, - "aws-native:elasticloadbalancingv2:ListenerAuthenticateCognitoConfig": { - "description": "Specifies information required when integrating with Amazon Cognito to authenticate users.", - "properties": { - "authenticationRequestExtraParams": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint." - }, - "onUnauthenticatedRequest": { - "type": "string", - "description": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value." - }, - "scope": { - "type": "string", - "description": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP." - }, - "sessionCookieName": { - "type": "string", - "description": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie." - }, - "sessionTimeout": { - "type": "string", - "description": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days)." - }, - "userPoolArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the Amazon Cognito user pool." - }, - "userPoolClientId": { - "type": "string", - "description": "The ID of the Amazon Cognito user pool client." - }, - "userPoolDomain": { - "type": "string", - "description": "The domain prefix or fully-qualified domain name of the Amazon Cognito user pool." - } - }, - "type": "object", - "required": [ - "userPoolArn", - "userPoolClientId", - "userPoolDomain" - ] - }, - "aws-native:elasticloadbalancingv2:ListenerAuthenticateOidcConfig": { - "description": "Specifies information required using an identity provide (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.", - "properties": { - "authenticationRequestExtraParams": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint." - }, - "authorizationEndpoint": { - "type": "string", - "description": "The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." - }, - "clientId": { - "type": "string", - "description": "The OAuth 2.0 client identifier." - }, - "clientSecret": { - "type": "string", - "description": "The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set ``UseExistingClientSecret`` to true." - }, - "issuer": { - "type": "string", - "description": "The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." - }, - "onUnauthenticatedRequest": { - "type": "string", - "description": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value." - }, - "scope": { - "type": "string", - "description": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP." - }, - "sessionCookieName": { - "type": "string", - "description": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie." - }, - "sessionTimeout": { - "type": "string", - "description": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days)." - }, - "tokenEndpoint": { - "type": "string", - "description": "The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." - }, - "useExistingClientSecret": { - "type": "boolean", - "description": "Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false." - }, - "userInfoEndpoint": { - "type": "string", - "description": "The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." - } - }, - "type": "object", - "required": [ - "authorizationEndpoint", - "clientId", - "issuer", - "tokenEndpoint", - "userInfoEndpoint" - ] - }, - "aws-native:elasticloadbalancingv2:ListenerCertificate": { - "description": "Specifies an SSL server certificate to use as the default certificate for a secure listener.", - "properties": { - "certificateArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the certificate." - } - }, - "type": "object" - }, - "aws-native:elasticloadbalancingv2:ListenerFixedResponseConfig": { - "description": "Specifies information required when returning a custom HTTP response.", - "properties": { - "contentType": { - "type": "string", - "description": "The content type.\n Valid Values: text/plain | text/css | text/html | application/javascript | application/json" - }, - "messageBody": { - "type": "string", - "description": "The message." - }, - "statusCode": { - "type": "string", - "description": "The HTTP response code (2XX, 4XX, or 5XX)." - } - }, - "type": "object", - "required": [ - "statusCode" - ] - }, - "aws-native:elasticloadbalancingv2:ListenerForwardConfig": { - "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.", - "properties": { - "targetGroupStickinessConfig": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerTargetGroupStickinessConfig", - "description": "Information about the target group stickiness for a rule." - }, - "targetGroups": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerTargetGroupTuple" - }, - "description": "Information about how traffic will be distributed between multiple target groups in a forward rule." - } - }, - "type": "object" - }, - "aws-native:elasticloadbalancingv2:ListenerMutualAuthentication": { - "description": "Specifies the configuration information for mutual authentication.", + "aws-native:elasticloadbalancingv2:ListenerAttribute": { "properties": { - "ignoreClientCertificateExpiry": { - "type": "boolean", - "description": "Indicates whether expired client certificates are ignored." - }, - "mode": { - "type": "string", - "description": "The client certificate handling method. Options are ``off``, ``passthrough`` or ``verify``. The default value is ``off``." + "key": { + "type": "string" }, - "trustStoreArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the trust store." + "value": { + "type": "string" } }, "type": "object" }, - "aws-native:elasticloadbalancingv2:ListenerRedirectConfig": { - "description": "Information about a redirect action.\n A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.\n You can reuse URI components using the following reserved keywords:\n + #{protocol}\n + #{host}\n + #{port}\n + #{path} (the leading \"/\" is removed)\n + #{query}\n \n For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}\u0026value=xyz\".", - "properties": { - "host": { - "type": "string", - "description": "The hostname. This component is not percent-encoded. The hostname can contain #{host}." - }, - "path": { - "type": "string", - "description": "The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}." - }, - "port": { - "type": "string", - "description": "The port. You can specify a value from 1 to 65535 or #{port}." - }, - "protocol": { - "type": "string", - "description": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP." - }, - "query": { - "type": "string", - "description": "The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \"?\", as it is automatically added. You can specify any of the reserved keywords." - }, - "statusCode": { - "type": "string", - "description": "The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302)." - } - }, - "type": "object", - "required": [ - "statusCode" - ] - }, - "aws-native:elasticloadbalancingv2:ListenerRuleAction": { - "description": "Specifies an action for a listener rule.", - "properties": { - "authenticateCognitoConfig": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleAuthenticateCognitoConfig", - "description": "[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when ``Type`` is ``authenticate-cognito``." - }, - "authenticateOidcConfig": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleAuthenticateOidcConfig", - "description": "[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when ``Type`` is ``authenticate-oidc``." - }, - "fixedResponseConfig": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleFixedResponseConfig", - "description": "[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when ``Type`` is ``fixed-response``." - }, - "forwardConfig": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleForwardConfig", - "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``." - }, - "order": { - "type": "integer", - "description": "The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first." - }, - "redirectConfig": { - "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleRedirectConfig", - "description": "[Application Load Balancer] Information for creating a redirect action. Specify only when ``Type`` is ``redirect``." - }, - "targetGroupArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the target group. Specify only when ``Type`` is ``forward`` and you want to route to a single target group. To route to one or more target groups, use ``ForwardConfig`` instead." - }, - "type": { - "type": "string", - "description": "The type of action." - } - }, - "type": "object", - "required": [ - "type" - ] - }, - "aws-native:elasticloadbalancingv2:ListenerRuleAuthenticateCognitoConfig": { + "aws-native:elasticloadbalancingv2:ListenerAuthenticateCognitoConfig": { + "description": "Specifies information required when integrating with Amazon Cognito to authenticate users.", + "properties": { + "authenticationRequestExtraParams": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint." + }, + "onUnauthenticatedRequest": { + "type": "string", + "description": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value." + }, + "scope": { + "type": "string", + "description": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP." + }, + "sessionCookieName": { + "type": "string", + "description": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie." + }, + "sessionTimeout": { + "type": "string", + "description": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days)." + }, + "userPoolArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the Amazon Cognito user pool." + }, + "userPoolClientId": { + "type": "string", + "description": "The ID of the Amazon Cognito user pool client." + }, + "userPoolDomain": { + "type": "string", + "description": "The domain prefix or fully-qualified domain name of the Amazon Cognito user pool." + } + }, + "type": "object", + "required": [ + "userPoolArn", + "userPoolClientId", + "userPoolDomain" + ] + }, + "aws-native:elasticloadbalancingv2:ListenerAuthenticateOidcConfig": { + "description": "Specifies information required using an identity provide (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.", + "properties": { + "authenticationRequestExtraParams": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The query parameters (up to 10) to include in the redirect request to the authorization endpoint." + }, + "authorizationEndpoint": { + "type": "string", + "description": "The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." + }, + "clientId": { + "type": "string", + "description": "The OAuth 2.0 client identifier." + }, + "clientSecret": { + "type": "string", + "description": "The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set ``UseExistingClientSecret`` to true." + }, + "issuer": { + "type": "string", + "description": "The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." + }, + "onUnauthenticatedRequest": { + "type": "string", + "description": "The behavior if the user is not authenticated. The following are possible values:\n + deny```` - Return an HTTP 401 Unauthorized error.\n + allow```` - Allow the request to be forwarded to the target.\n + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value." + }, + "scope": { + "type": "string", + "description": "The set of user claims to be requested from the IdP. The default is ``openid``.\n To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP." + }, + "sessionCookieName": { + "type": "string", + "description": "The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie." + }, + "sessionTimeout": { + "type": "string", + "description": "The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days)." + }, + "tokenEndpoint": { + "type": "string", + "description": "The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." + }, + "useExistingClientSecret": { + "type": "boolean", + "description": "Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false." + }, + "userInfoEndpoint": { + "type": "string", + "description": "The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path." + } + }, + "type": "object", + "required": [ + "authorizationEndpoint", + "clientId", + "issuer", + "tokenEndpoint", + "userInfoEndpoint" + ] + }, + "aws-native:elasticloadbalancingv2:ListenerCertificate": { + "description": "Specifies an SSL server certificate to use as the default certificate for a secure listener.", + "properties": { + "certificateArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the certificate." + } + }, + "type": "object" + }, + "aws-native:elasticloadbalancingv2:ListenerFixedResponseConfig": { + "description": "Specifies information required when returning a custom HTTP response.", + "properties": { + "contentType": { + "type": "string", + "description": "The content type.\n Valid Values: text/plain | text/css | text/html | application/javascript | application/json" + }, + "messageBody": { + "type": "string", + "description": "The message." + }, + "statusCode": { + "type": "string", + "description": "The HTTP response code (2XX, 4XX, or 5XX)." + } + }, + "type": "object", + "required": [ + "statusCode" + ] + }, + "aws-native:elasticloadbalancingv2:ListenerForwardConfig": { + "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.", + "properties": { + "targetGroupStickinessConfig": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerTargetGroupStickinessConfig", + "description": "Information about the target group stickiness for a rule." + }, + "targetGroups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerTargetGroupTuple" + }, + "description": "Information about how traffic will be distributed between multiple target groups in a forward rule." + } + }, + "type": "object" + }, + "aws-native:elasticloadbalancingv2:ListenerMutualAuthentication": { + "description": "Specifies the configuration information for mutual authentication.", + "properties": { + "ignoreClientCertificateExpiry": { + "type": "boolean", + "description": "Indicates whether expired client certificates are ignored." + }, + "mode": { + "type": "string", + "description": "The client certificate handling method. Options are ``off``, ``passthrough`` or ``verify``. The default value is ``off``." + }, + "trustStoreArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the trust store." + } + }, + "type": "object" + }, + "aws-native:elasticloadbalancingv2:ListenerRedirectConfig": { + "description": "Information about a redirect action.\n A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.\n You can reuse URI components using the following reserved keywords:\n + #{protocol}\n + #{host}\n + #{port}\n + #{path} (the leading \"/\" is removed)\n + #{query}\n \n For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}\u0026value=xyz\".", + "properties": { + "host": { + "type": "string", + "description": "The hostname. This component is not percent-encoded. The hostname can contain #{host}." + }, + "path": { + "type": "string", + "description": "The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}." + }, + "port": { + "type": "string", + "description": "The port. You can specify a value from 1 to 65535 or #{port}." + }, + "protocol": { + "type": "string", + "description": "The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP." + }, + "query": { + "type": "string", + "description": "The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \"?\", as it is automatically added. You can specify any of the reserved keywords." + }, + "statusCode": { + "type": "string", + "description": "The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302)." + } + }, + "type": "object", + "required": [ + "statusCode" + ] + }, + "aws-native:elasticloadbalancingv2:ListenerRuleAction": { + "description": "Specifies an action for a listener rule.", + "properties": { + "authenticateCognitoConfig": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleAuthenticateCognitoConfig", + "description": "[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when ``Type`` is ``authenticate-cognito``." + }, + "authenticateOidcConfig": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleAuthenticateOidcConfig", + "description": "[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when ``Type`` is ``authenticate-oidc``." + }, + "fixedResponseConfig": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleFixedResponseConfig", + "description": "[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when ``Type`` is ``fixed-response``." + }, + "forwardConfig": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleForwardConfig", + "description": "Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``." + }, + "order": { + "type": "integer", + "description": "The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first." + }, + "redirectConfig": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerRuleRedirectConfig", + "description": "[Application Load Balancer] Information for creating a redirect action. Specify only when ``Type`` is ``redirect``." + }, + "targetGroupArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the target group. Specify only when ``Type`` is ``forward`` and you want to route to a single target group. To route to one or more target groups, use ``ForwardConfig`` instead." + }, + "type": { + "type": "string", + "description": "The type of action." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws-native:elasticloadbalancingv2:ListenerRuleAuthenticateCognitoConfig": { "description": "Specifies information required when integrating with Amazon Cognito to authenticate users.", "properties": { "authenticationRequestExtraParams": { @@ -52832,7 +52992,7 @@ }, "locationCapacity": { "$ref": "#/types/aws-native:gamelift:FleetLocationCapacity", - "description": "Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" + "description": "Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region.\n\n*Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html)" } }, "type": "object", @@ -53547,6 +53707,10 @@ "aws-native:globalaccelerator:CrossAccountAttachmentResource": { "description": "ARN of resource to share.", "properties": { + "cidr": { + "type": "string", + "description": "An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator\n\nFor more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide." + }, "endpointId": { "type": "string", "description": "The endpoint ID for the endpoint that is specified as a AWS resource.\n\nAn endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator." @@ -53556,10 +53720,7 @@ "description": "The AWS Region where a shared endpoint resource is located." } }, - "type": "object", - "required": [ - "endpointId" - ] + "type": "object" }, "aws-native:globalaccelerator:CrossAccountAttachmentTag": { "description": "Tag is a key-value pair associated with Cross Account Attachment.", @@ -78508,6 +78669,33 @@ "bridgeArn" ] }, + "aws-native:mediaconnect:FlowSourceMonitoringConfig": { + "description": "The settings for source monitoring.", + "properties": { + "thumbnailState": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfigThumbnailState", + "description": "The state of thumbnail monitoring." + } + }, + "type": "object", + "required": [ + "thumbnailState" + ] + }, + "aws-native:mediaconnect:FlowSourceMonitoringConfigThumbnailState": { + "description": "The state of thumbnail monitoring.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:mediaconnect:FlowSourceProtocol": { "description": "The protocol that is used by the source.", "type": "string", @@ -78674,6 +78862,318 @@ } ] }, + "aws-native:medialive:ChannelPlacementGroupState": { + "description": "The current state of the ChannelPlacementGroupState", + "type": "string", + "enum": [ + { + "name": "Unassigned", + "value": "UNASSIGNED" + }, + { + "name": "Assigning", + "value": "ASSIGNING" + }, + { + "name": "Assigned", + "value": "ASSIGNED" + }, + { + "name": "Deleting", + "value": "DELETING" + }, + { + "name": "Deleted", + "value": "DELETED" + }, + { + "name": "Unassigning", + "value": "UNASSIGNING" + } + ] + }, + "aws-native:medialive:ChannelPlacementGroupTags": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator": { + "description": "The comparison operator used to compare the specified statistic and the threshold.", + "type": "string", + "enum": [ + { + "name": "GreaterThanOrEqualToThreshold", + "value": "GreaterThanOrEqualToThreshold" + }, + { + "name": "GreaterThanThreshold", + "value": "GreaterThanThreshold" + }, + { + "name": "LessThanThreshold", + "value": "LessThanThreshold" + }, + { + "name": "LessThanOrEqualToThreshold", + "value": "LessThanOrEqualToThreshold" + } + ] + }, + "aws-native:medialive:CloudWatchAlarmTemplateStatistic": { + "description": "The statistic to apply to the alarm's metric data.", + "type": "string", + "enum": [ + { + "name": "SampleCount", + "value": "SampleCount" + }, + { + "name": "Average", + "value": "Average" + }, + { + "name": "Sum", + "value": "Sum" + }, + { + "name": "Minimum", + "value": "Minimum" + }, + { + "name": "Maximum", + "value": "Maximum" + } + ] + }, + "aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType": { + "description": "The resource type this template should dynamically generate cloudwatch metric alarms for.", + "type": "string", + "enum": [ + { + "name": "CloudfrontDistribution", + "value": "CLOUDFRONT_DISTRIBUTION" + }, + { + "name": "MedialiveMultiplex", + "value": "MEDIALIVE_MULTIPLEX" + }, + { + "name": "MedialiveChannel", + "value": "MEDIALIVE_CHANNEL" + }, + { + "name": "MedialiveInputDevice", + "value": "MEDIALIVE_INPUT_DEVICE" + }, + { + "name": "MediapackageChannel", + "value": "MEDIAPACKAGE_CHANNEL" + }, + { + "name": "MediapackageOriginEndpoint", + "value": "MEDIAPACKAGE_ORIGIN_ENDPOINT" + }, + { + "name": "MediaconnectFlow", + "value": "MEDIACONNECT_FLOW" + }, + { + "name": "S3Bucket", + "value": "S3_BUCKET" + } + ] + }, + "aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData": { + "description": "Specifies how missing data points are treated when evaluating the alarm's condition.", + "type": "string", + "enum": [ + { + "name": "NotBreaching", + "value": "notBreaching" + }, + { + "name": "Breaching", + "value": "breaching" + }, + { + "name": "Ignore", + "value": "ignore" + }, + { + "name": "Missing", + "value": "missing" + } + ] + }, + "aws-native:medialive:ClusterInterfaceMapping": { + "description": "Network mappings for the cluster", + "properties": { + "logicalInterfaceName": { + "type": "string", + "description": "logical interface name, unique in the list" + }, + "networkId": { + "type": "string", + "description": "Network Id to be associated with the logical interface name, can be duplicated in list" + } + }, + "type": "object" + }, + "aws-native:medialive:ClusterNetworkSettings": { + "description": "On premises settings which will have the interface network mappings and default Output logical interface", + "properties": { + "defaultRoute": { + "type": "string", + "description": "Default value if the customer does not define it in channel Output API" + }, + "interfaceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:ClusterInterfaceMapping" + }, + "description": "Network mappings for the cluster" + } + }, + "type": "object" + }, + "aws-native:medialive:ClusterState": { + "description": "The current state of the Cluster.", + "type": "string", + "enum": [ + { + "name": "Creating", + "value": "CREATING" + }, + { + "name": "CreateFailed", + "value": "CREATE_FAILED" + }, + { + "name": "Active", + "value": "ACTIVE" + }, + { + "name": "Deleting", + "value": "DELETING" + }, + { + "name": "Deleted", + "value": "DELETED" + } + ] + }, + "aws-native:medialive:ClusterTags": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:medialive:ClusterType": { + "description": "The hardware type for the cluster.", + "type": "string", + "enum": [ + { + "name": "OnPremises", + "value": "ON_PREMISES" + }, + { + "name": "OutpostsRack", + "value": "OUTPOSTS_RACK" + }, + { + "name": "OutpostsServer", + "value": "OUTPOSTS_SERVER" + }, + { + "name": "Ec2", + "value": "EC2" + } + ] + }, + "aws-native:medialive:EventBridgeRuleTemplateEventType": { + "description": "The type of event to match with the rule.", + "type": "string", + "enum": [ + { + "name": "MedialiveMultiplexAlert", + "value": "MEDIALIVE_MULTIPLEX_ALERT" + }, + { + "name": "MedialiveMultiplexStateChange", + "value": "MEDIALIVE_MULTIPLEX_STATE_CHANGE" + }, + { + "name": "MedialiveChannelAlert", + "value": "MEDIALIVE_CHANNEL_ALERT" + }, + { + "name": "MedialiveChannelInputChange", + "value": "MEDIALIVE_CHANNEL_INPUT_CHANGE" + }, + { + "name": "MedialiveChannelStateChange", + "value": "MEDIALIVE_CHANNEL_STATE_CHANGE" + }, + { + "name": "MediapackageInputNotification", + "value": "MEDIAPACKAGE_INPUT_NOTIFICATION" + }, + { + "name": "MediapackageKeyProviderNotification", + "value": "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION" + }, + { + "name": "MediapackageHarvestJobNotification", + "value": "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION" + }, + { + "name": "SignalMapActiveAlarm", + "value": "SIGNAL_MAP_ACTIVE_ALARM" + }, + { + "name": "MediaconnectAlert", + "value": "MEDIACONNECT_ALERT" + }, + { + "name": "MediaconnectSourceHealth", + "value": "MEDIACONNECT_SOURCE_HEALTH" + }, + { + "name": "MediaconnectOutputHealth", + "value": "MEDIACONNECT_OUTPUT_HEALTH" + }, + { + "name": "MediaconnectFlowStatusChange", + "value": "MEDIACONNECT_FLOW_STATUS_CHANGE" + } + ] + }, + "aws-native:medialive:EventBridgeRuleTemplateTarget": { + "description": "The target to which to send matching events.", + "properties": { + "arn": { + "type": "string", + "description": "Target ARNs must be either an SNS topic or CloudWatch log group." + } + }, + "type": "object", + "required": [ + "arn" + ] + }, "aws-native:medialive:MultiplexOutputDestination": { "description": "Multiplex MediaConnect output destination settings.", "properties": { @@ -78910,6 +79410,304 @@ } ] }, + "aws-native:medialive:NetworkIpPool": { + "description": "IP address cidr pool", + "properties": { + "cidr": { + "type": "string", + "description": "IP address cidr pool" + } + }, + "type": "object" + }, + "aws-native:medialive:NetworkRoute": { + "properties": { + "cidr": { + "type": "string", + "description": "Ip address cidr" + }, + "gateway": { + "type": "string", + "description": "IP address for the route packet paths" + } + }, + "type": "object" + }, + "aws-native:medialive:NetworkState": { + "type": "string", + "enum": [ + { + "name": "Creating", + "value": "CREATING" + }, + { + "name": "CreateFailed", + "value": "CREATE_FAILED" + }, + { + "name": "Active", + "value": "ACTIVE" + }, + { + "name": "Deleting", + "value": "DELETING" + }, + { + "name": "Idle", + "value": "IDLE" + }, + { + "name": "InUse", + "value": "IN_USE" + }, + { + "name": "Updating", + "value": "UPDATING" + }, + { + "name": "Deleted", + "value": "DELETED" + }, + { + "name": "DeleteFailed", + "value": "DELETE_FAILED" + } + ] + }, + "aws-native:medialive:NetworkTags": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:medialive:SdiSourceMode": { + "description": "The current state of the SdiSource.", + "type": "string", + "enum": [ + { + "name": "Quadrant", + "value": "QUADRANT" + }, + { + "name": "Interleave", + "value": "INTERLEAVE" + } + ] + }, + "aws-native:medialive:SdiSourceState": { + "description": "The current state of the SdiSource.", + "type": "string", + "enum": [ + { + "name": "Idle", + "value": "IDLE" + }, + { + "name": "InUse", + "value": "IN_USE" + }, + { + "name": "Deleted", + "value": "DELETED" + } + ] + }, + "aws-native:medialive:SdiSourceTags": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:medialive:SdiSourceType": { + "description": "The interface mode of the SdiSource.", + "type": "string", + "enum": [ + { + "name": "Single", + "value": "SINGLE" + }, + { + "name": "Quad", + "value": "QUAD" + } + ] + }, + "aws-native:medialive:SignalMapMediaResource": { + "description": "An AWS resource used in media workflows.", + "properties": { + "destinations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResourceNeighbor" + } + }, + "name": { + "type": "string", + "description": "The logical name of an AWS media resource." + }, + "sources": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResourceNeighbor" + } + } + }, + "type": "object" + }, + "aws-native:medialive:SignalMapMediaResourceNeighbor": { + "description": "A direct source or destination neighbor to an AWS media resource.", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of a resource used in AWS media workflows." + }, + "name": { + "type": "string", + "description": "The logical name of an AWS media resource." + } + }, + "type": "object", + "required": [ + "arn" + ] + }, + "aws-native:medialive:SignalMapMonitorDeployment": { + "description": "Represents the latest monitor deployment of a signal map.", + "properties": { + "detailsUri": { + "type": "string", + "description": "URI associated with a signal map's monitor deployment." + }, + "errorMessage": { + "type": "string", + "description": "Error message associated with a failed monitor deployment of a signal map." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeploymentStatus" + } + }, + "type": "object", + "required": [ + "status" + ] + }, + "aws-native:medialive:SignalMapMonitorDeploymentStatus": { + "description": "A signal map's monitor deployment status.", + "type": "string", + "enum": [ + { + "name": "NotDeployed", + "value": "NOT_DEPLOYED" + }, + { + "name": "DryRunDeploymentComplete", + "value": "DRY_RUN_DEPLOYMENT_COMPLETE" + }, + { + "name": "DryRunDeploymentFailed", + "value": "DRY_RUN_DEPLOYMENT_FAILED" + }, + { + "name": "DryRunDeploymentInProgress", + "value": "DRY_RUN_DEPLOYMENT_IN_PROGRESS" + }, + { + "name": "DeploymentComplete", + "value": "DEPLOYMENT_COMPLETE" + }, + { + "name": "DeploymentFailed", + "value": "DEPLOYMENT_FAILED" + }, + { + "name": "DeploymentInProgress", + "value": "DEPLOYMENT_IN_PROGRESS" + }, + { + "name": "DeleteComplete", + "value": "DELETE_COMPLETE" + }, + { + "name": "DeleteFailed", + "value": "DELETE_FAILED" + }, + { + "name": "DeleteInProgress", + "value": "DELETE_IN_PROGRESS" + } + ] + }, + "aws-native:medialive:SignalMapStatus": { + "description": "A signal map's current status which is dependent on its lifecycle actions or associated jobs.", + "type": "string", + "enum": [ + { + "name": "CreateInProgress", + "value": "CREATE_IN_PROGRESS" + }, + { + "name": "CreateComplete", + "value": "CREATE_COMPLETE" + }, + { + "name": "CreateFailed", + "value": "CREATE_FAILED" + }, + { + "name": "UpdateInProgress", + "value": "UPDATE_IN_PROGRESS" + }, + { + "name": "UpdateComplete", + "value": "UPDATE_COMPLETE" + }, + { + "name": "UpdateReverted", + "value": "UPDATE_REVERTED" + }, + { + "name": "UpdateFailed", + "value": "UPDATE_FAILED" + }, + { + "name": "Ready", + "value": "READY" + }, + { + "name": "NotReady", + "value": "NOT_READY" + } + ] + }, + "aws-native:medialive:SignalMapSuccessfulMonitorDeployment": { + "description": "Represents the latest successful monitor deployment of a signal map.", + "properties": { + "detailsUri": { + "type": "string", + "description": "URI associated with a signal map's monitor deployment." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeploymentStatus" + } + }, + "type": "object", + "required": [ + "detailsUri", + "status" + ] + }, "aws-native:mediapackage:AssetEgressEndpoint": { "description": "The endpoint URL used to access an Asset using one PackagingConfiguration.", "properties": { @@ -86655,6 +87453,14 @@ { "name": "Rsa4096", "value": "RSA_4096" + }, + { + "name": "EccNistP256", + "value": "ECC_NIST_P256" + }, + { + "name": "EccNistP384", + "value": "ECC_NIST_P384" } ] }, @@ -86808,7 +87614,8 @@ }, "type": "object", "required": [ - "key" + "key", + "value" ] }, "aws-native:paymentcryptography:KeyUsage": { @@ -88081,6 +88888,36 @@ } ] }, + "aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement": { + "type": "object" + }, + "aws-native:pcaconnectorscep:ConnectorOpenIdConfiguration": { + "properties": { + "audience": { + "type": "string" + }, + "issuer": { + "type": "string" + }, + "subject": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:pcaconnectorscep:ConnectorType": { + "type": "string", + "enum": [ + { + "name": "GeneralPurpose", + "value": "GENERAL_PURPOSE" + }, + { + "name": "Intune", + "value": "INTUNE" + } + ] + }, "aws-native:personalize:DatasetGroupDomain": { "description": "The domain of a Domain dataset group.", "type": "string", @@ -94518,6 +95355,9 @@ }, "description": "An array of parameter declarations for an analysis.\n\nParameters are named variables that can transfer a value for use by an action or an object.\n\nFor more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* ." }, + "queryExecutionOptions": { + "$ref": "#/types/aws-native:quicksight:AnalysisQueryExecutionOptions" + }, "sheets": { "type": "array", "items": { @@ -99879,6 +100719,27 @@ }, "type": "object" }, + "aws-native:quicksight:AnalysisQueryExecutionMode": { + "type": "string", + "enum": [ + { + "name": "Auto", + "value": "AUTO" + }, + { + "name": "Manual", + "value": "MANUAL" + } + ] + }, + "aws-native:quicksight:AnalysisQueryExecutionOptions": { + "properties": { + "queryExecutionMode": { + "$ref": "#/types/aws-native:quicksight:AnalysisQueryExecutionMode" + } + }, + "type": "object" + }, "aws-native:quicksight:AnalysisRadarChartAggregatedFieldWells": { "properties": { "category": { @@ -127009,6 +127870,27 @@ }, "type": "object" }, + "aws-native:quicksight:TemplateQueryExecutionMode": { + "type": "string", + "enum": [ + { + "name": "Auto", + "value": "AUTO" + }, + { + "name": "Manual", + "value": "MANUAL" + } + ] + }, + "aws-native:quicksight:TemplateQueryExecutionOptions": { + "properties": { + "queryExecutionMode": { + "$ref": "#/types/aws-native:quicksight:TemplateQueryExecutionMode" + } + }, + "type": "object" + }, "aws-native:quicksight:TemplateRadarChartAggregatedFieldWells": { "properties": { "category": { @@ -130331,6 +131213,9 @@ }, "description": "An array of parameter declarations for a template.\n\n*Parameters* are named variables that can transfer a value for use by an action or an object.\n\nFor more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* ." }, + "queryExecutionOptions": { + "$ref": "#/types/aws-native:quicksight:TemplateQueryExecutionOptions" + }, "sheets": { "type": "array", "items": { @@ -140038,6 +140923,210 @@ } ] }, + "aws-native:sagemaker:ClusterDeepHealthCheckType": { + "description": "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.", + "type": "string", + "enum": [ + { + "name": "InstanceStress", + "value": "InstanceStress" + }, + { + "name": "InstanceConnectivity", + "value": "InstanceConnectivity" + } + ] + }, + "aws-native:sagemaker:ClusterInstanceGroup": { + "description": "Details of an instance group in a SageMaker HyperPod cluster.", + "properties": { + "currentCount": { + "type": "integer", + "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster." + }, + "executionRole": { + "type": "string", + "replaceOnChanges": true + }, + "instanceCount": { + "type": "integer", + "description": "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster." + }, + "instanceGroupName": { + "type": "string", + "replaceOnChanges": true + }, + "instanceStorageConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceStorageConfig" + } + }, + "instanceType": { + "type": "string", + "replaceOnChanges": true + }, + "lifeCycleConfig": { + "$ref": "#/types/aws-native:sagemaker:ClusterLifeCycleConfig" + }, + "onStartDeepHealthChecks": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterDeepHealthCheckType" + } + }, + "threadsPerCore": { + "type": "integer", + "description": "The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "executionRole", + "instanceCount", + "instanceGroupName", + "instanceType", + "lifeCycleConfig" + ] + }, + "aws-native:sagemaker:ClusterInstanceStorageConfig": { + "description": "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.", + "type": "object" + }, + "aws-native:sagemaker:ClusterLifeCycleConfig": { + "description": "The lifecycle configuration for a SageMaker HyperPod cluster.", + "properties": { + "onCreate": { + "type": "string", + "description": "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation." + }, + "sourceS3Uri": { + "type": "string", + "description": "An Amazon S3 bucket path where your lifecycle scripts are stored." + } + }, + "type": "object", + "required": [ + "onCreate", + "sourceS3Uri" + ] + }, + "aws-native:sagemaker:ClusterNodeRecovery": { + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected.", + "type": "string", + "enum": [ + { + "name": "Automatic", + "value": "Automatic" + }, + { + "name": "None", + "value": "None" + } + ] + }, + "aws-native:sagemaker:ClusterOrchestrator": { + "description": "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.", + "properties": { + "eks": { + "$ref": "#/types/aws-native:sagemaker:ClusterOrchestratorEksConfig" + } + }, + "type": "object", + "required": [ + "eks" + ] + }, + "aws-native:sagemaker:ClusterOrchestratorEksConfig": { + "description": "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,", + "properties": { + "clusterArn": { + "type": "string", + "description": "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster" + } + }, + "type": "object", + "required": [ + "clusterArn" + ] + }, + "aws-native:sagemaker:ClusterStatus": { + "description": "The status of the HyperPod Cluster.", + "type": "string", + "enum": [ + { + "name": "Creating", + "value": "Creating" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Failed", + "value": "Failed" + }, + { + "name": "InService", + "value": "InService" + }, + { + "name": "RollingBack", + "value": "RollingBack" + }, + { + "name": "SystemUpdating", + "value": "SystemUpdating" + }, + { + "name": "Updating", + "value": "Updating" + } + ] + }, + "aws-native:sagemaker:ClusterTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:sagemaker:ClusterVpcConfig": { + "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC.", + "properties": { + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field." + }, + "subnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ID of the subnets in the VPC to which you want to connect your training job or model." + } + }, + "type": "object", + "required": [ + "securityGroupIds", + "subnets" + ] + }, "aws-native:sagemaker:DataQualityJobDefinitionBatchTransformInput": { "description": "The batch transform input for a monitoring job.", "properties": { @@ -140540,6 +141629,14 @@ "value" ] }, + "aws-native:sagemaker:DomainAppLifecycleManagement": { + "properties": { + "idleSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainIdleSettings" + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainAppNetworkAccessType": { "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", "type": "string", @@ -140618,6 +141715,9 @@ "aws-native:sagemaker:DomainCodeEditorAppSettings": { "description": "The CodeEditor app settings.", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:DomainAppLifecycleManagement" + }, "customImages": { "type": "array", "items": { @@ -140821,9 +141921,29 @@ "fileSystemId" ] }, + "aws-native:sagemaker:DomainIdleSettings": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer" + }, + "lifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:DomainLifecycleManagement" + }, + "maxIdleTimeoutInMinutes": { + "type": "integer" + }, + "minIdleTimeoutInMinutes": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainJupyterLabAppSettings": { "description": "The JupyterLab app settings.", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:DomainAppLifecycleManagement" + }, "codeRepositories": { "type": "array", "items": { @@ -140893,6 +142013,20 @@ }, "type": "object" }, + "aws-native:sagemaker:DomainLifecycleManagement": { + "description": "A flag to enable/disable AppLifecycleManagement settings", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:DomainMlTools": { "type": "string", "enum": [ @@ -140947,6 +142081,10 @@ { "name": "Projects", "value": "Projects" + }, + { + "name": "InferenceOptimization", + "value": "InferenceOptimization" } ] }, @@ -146366,6 +147504,14 @@ "productId" ] }, + "aws-native:sagemaker:SpaceAppLifecycleManagement": { + "properties": { + "idleSettings": { + "$ref": "#/types/aws-native:sagemaker:SpaceIdleSettings" + } + }, + "type": "object" + }, "aws-native:sagemaker:SpaceAppType": { "type": "string", "enum": [ @@ -146402,6 +147548,9 @@ "aws-native:sagemaker:SpaceCodeEditorAppSettings": { "description": "The CodeEditor app settings.", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:SpaceAppLifecycleManagement" + }, "defaultResourceSpec": { "$ref": "#/types/aws-native:sagemaker:SpaceResourceSpec", "description": "Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on." @@ -146475,9 +147624,21 @@ "fileSystemId" ] }, + "aws-native:sagemaker:SpaceIdleSettings": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "description": "The space idle timeout value set in minutes" + } + }, + "type": "object" + }, "aws-native:sagemaker:SpaceJupyterLabAppSettings": { "description": "The JupyterServer app settings.", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:SpaceAppLifecycleManagement" + }, "codeRepositories": { "type": "array", "items": { @@ -146952,6 +148113,14 @@ "value" ] }, + "aws-native:sagemaker:UserProfileAppLifecycleManagement": { + "properties": { + "idleSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileIdleSettings" + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileAppType": { "type": "string", "enum": [ @@ -146988,6 +148157,9 @@ "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { "description": "The CodeEditor app settings.", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:UserProfileAppLifecycleManagement" + }, "customImages": { "type": "array", "items": { @@ -147113,9 +148285,29 @@ "fileSystemId" ] }, + "aws-native:sagemaker:UserProfileIdleSettings": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer" + }, + "lifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:UserProfileLifecycleManagement" + }, + "maxIdleTimeoutInMinutes": { + "type": "integer" + }, + "minIdleTimeoutInMinutes": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { "description": "The JupyterLab app settings.", "properties": { + "appLifecycleManagement": { + "$ref": "#/types/aws-native:sagemaker:UserProfileAppLifecycleManagement" + }, "codeRepositories": { "type": "array", "items": { @@ -147185,6 +148377,20 @@ }, "type": "object" }, + "aws-native:sagemaker:UserProfileLifecycleManagement": { + "description": "A flag to enable/disable AppLifecycleManagement settings", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:UserProfileMlTools": { "type": "string", "enum": [ @@ -147239,6 +148445,10 @@ { "name": "Projects", "value": "Projects" + }, + { + "name": "InferenceOptimization", + "value": "InferenceOptimization" } ] }, @@ -162799,6 +164009,10 @@ "type": "string", "description": "The build specification (build spec) for an Amplify app." }, + "cacheConfig": { + "$ref": "#/types/aws-native:amplify:AppCacheConfig", + "description": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting." + }, "customHeaders": { "type": "string", "description": "The custom HTTP headers for an Amplify app." @@ -162843,7 +164057,7 @@ }, "platform": { "$ref": "#/types/aws-native:amplify:AppPlatform", - "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` ." + "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* ." }, "repository": { "type": "string", @@ -162882,6 +164096,10 @@ "type": "string", "description": "The build specification (build spec) for an Amplify app." }, + "cacheConfig": { + "$ref": "#/types/aws-native:amplify:AppCacheConfig", + "description": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting." + }, "customHeaders": { "type": "string", "description": "The custom HTTP headers for an Amplify app." @@ -162922,7 +164140,7 @@ }, "platform": { "$ref": "#/types/aws-native:amplify:AppPlatform", - "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` ." + "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* ." }, "repository": { "type": "string", @@ -167525,6 +168743,10 @@ "type": "string", "description": "An optional description for this SLO. Default is 'No description'" }, + "evaluationType": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveEvaluationType", + "description": "Displays whether this is a period-based SLO or a request-based SLO." + }, "goal": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveGoal", "description": "This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold." @@ -167538,9 +168760,13 @@ "description": "The name of this SLO.", "replaceOnChanges": true }, + "requestBasedSli": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli", + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO." + }, "sli": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveSli", - "description": "A structure containing information about the performance metric that this SLO monitors." + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO." }, "tags": { "type": "array", @@ -167554,9 +168780,9 @@ "required": [ "arn", "createdTime", + "evaluationType", "lastUpdatedTime", - "name", - "sli" + "name" ], "inputProperties": { "description": { @@ -167571,9 +168797,13 @@ "type": "string", "description": "The name of this SLO." }, + "requestBasedSli": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli", + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO." + }, "sli": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveSli", - "description": "A structure containing information about the performance metric that this SLO monitors." + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO." }, "tags": { "type": "array", @@ -167582,10 +168812,7 @@ }, "description": "A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission.\n\nTags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values." } - }, - "requiredInputs": [ - "sli" - ] + } }, "aws-native:apprunner:AutoScalingConfiguration": { "description": "Describes an AWS App Runner automatic configuration resource that enables automatic scaling of instances used to process web requests. You can share an auto scaling configuration across multiple services.", @@ -175777,7 +177004,7 @@ "items": { "type": "string" }, - "description": "The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." + "description": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." }, "outputs": { "type": "array", @@ -175795,7 +177022,7 @@ }, "parentId": { "type": "string", - "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.\n\nFor more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." + "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.\n\nFor more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." }, "roleArn": { "type": "string", @@ -175803,7 +177030,7 @@ }, "rootId": { "type": "string", - "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.\n\nFor more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." + "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.\n\nFor more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." }, "stackId": { "type": "string", @@ -175835,7 +177062,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." + "description": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." }, "templateBody": { "$ref": "pulumi.json#/Any", @@ -175887,7 +177114,7 @@ "items": { "type": "string" }, - "description": "The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." + "description": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." }, "parameters": { "type": "object", @@ -175921,7 +177148,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." + "description": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." }, "templateBody": { "$ref": "pulumi.json#/Any", @@ -177967,11 +179194,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -177979,11 +179206,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "Information about the VPC configuration that AWS CodeBuild accesses." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "The Amazon Machine Image (AMI) of the compute fleet." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -178012,11 +179239,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -178024,11 +179251,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "Information about the VPC configuration that AWS CodeBuild accesses." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "The Amazon Machine Image (AMI) of the compute fleet." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -179298,7 +180525,7 @@ }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", - "description": "The configuration for creating a new user profile." + "description": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "aliasAttributes": { "type": "array", @@ -179347,7 +180574,7 @@ }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", - "description": "The Lambda trigger configuration information for the new user pool.\n\n\u003e In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function.\n\u003e \n\u003e For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) .\n\u003e \n\u003e For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) ." + "description": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them." }, "mfaConfiguration": { "type": "string", @@ -179355,7 +180582,7 @@ }, "policies": { "$ref": "#/types/aws-native:cognito:UserPoolPolicies", - "description": "The policy associated with a user pool." + "description": "A list of user pool policies. Contains the policy that sets password-complexity requirements.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "providerName": { "type": "string", @@ -179420,7 +180647,7 @@ }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", - "description": "The template for the verification message that the user sees when the app requests permission to access the user's information." + "description": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error." } }, "type": "object", @@ -179437,7 +180664,7 @@ }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", - "description": "The configuration for creating a new user profile." + "description": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "aliasAttributes": { "type": "array", @@ -179482,7 +180709,7 @@ }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", - "description": "The Lambda trigger configuration information for the new user pool.\n\n\u003e In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function.\n\u003e \n\u003e For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) .\n\u003e \n\u003e For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) ." + "description": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them." }, "mfaConfiguration": { "type": "string", @@ -179490,7 +180717,7 @@ }, "policies": { "$ref": "#/types/aws-native:cognito:UserPoolPolicies", - "description": "The policy associated with a user pool." + "description": "A list of user pool policies. Contains the policy that sets password-complexity requirements.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "schema": { "type": "array", @@ -179543,7 +180770,7 @@ }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", - "description": "The template for the verification message that the user sees when the app requests permission to access the user's information." + "description": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error." } } }, @@ -179645,7 +180872,7 @@ "items": { "type": "string" }, - "description": "The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." + "description": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." }, "refreshTokenValidity": { "type": "integer", @@ -179767,7 +180994,7 @@ "items": { "type": "string" }, - "description": "The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." + "description": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." }, "refreshTokenValidity": { "type": "integer", @@ -180049,7 +181276,7 @@ "properties": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType", - "description": "The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover." + "description": "The settings for automated responses and notification templates for adaptive authentication with advanced security features." }, "clientId": { "type": "string", @@ -180058,15 +181285,15 @@ }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", - "description": "The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` ." + "description": "Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode." }, "riskExceptionConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType", - "description": "The configuration to override the risk decision." + "description": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges." }, "userPoolId": { "type": "string", - "description": "The user pool ID.", + "description": "The ID of the user pool that has the risk configuration applied.", "replaceOnChanges": true } }, @@ -180078,7 +181305,7 @@ "inputProperties": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType", - "description": "The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover." + "description": "The settings for automated responses and notification templates for adaptive authentication with advanced security features." }, "clientId": { "type": "string", @@ -180086,15 +181313,15 @@ }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", - "description": "The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` ." + "description": "Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode." }, "riskExceptionConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType", - "description": "The configuration to override the risk decision." + "description": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges." }, "userPoolId": { "type": "string", - "description": "The user pool ID." + "description": "The ID of the user pool that has the risk configuration applied." } }, "requiredInputs": [ @@ -184071,9 +185298,10 @@ "tags": { "type": "array", "items": { - "$ref": "#/types/aws-native:index:Tag" + "$ref": "#/types/aws-native:index:CreateOnlyTag" }, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." + "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .", + "replaceOnChanges": true }, "targetArn": { "type": "string", @@ -184106,7 +185334,7 @@ "tags": { "type": "array", "items": { - "$ref": "#/types/aws-native:index:Tag" + "$ref": "#/types/aws-native:index:CreateOnlyTag" }, "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." }, @@ -196957,7 +198185,7 @@ ] }, "aws-native:ecs:Service": { - "description": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", + "description": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", "properties": { "capacityProviderStrategy": { "type": "array", @@ -197036,7 +198264,7 @@ }, "propagateTags": { "$ref": "#/types/aws-native:ecs:ServicePropagateTags", - "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``." + "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``." }, "role": { "type": "string", @@ -197163,7 +198391,7 @@ }, "propagateTags": { "$ref": "#/types/aws-native:ecs:ServicePropagateTags", - "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``." + "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``." }, "role": { "type": "string", @@ -199582,6 +200810,12 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the listener." }, + "listenerAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerAttribute" + } + }, "loadBalancerArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the load balancer.", @@ -199632,6 +200866,12 @@ }, "description": "The actions for the default rule. You cannot define a condition for a default rule.\n To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)." }, + "listenerAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerAttribute" + } + }, "loadBalancerArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the load balancer." @@ -204063,7 +205303,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", + "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`", "replaceOnChanges": true }, "description": { @@ -204212,7 +205452,7 @@ }, "containerGroupsConfiguration": { "$ref": "#/types/aws-native:gamelift:FleetContainerGroupsConfiguration", - "description": "*This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" + "description": "*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*\n\nConfiguration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` .\n\n*Used with:* `CreateFleet`" }, "description": { "type": "string", @@ -221361,7 +222601,7 @@ }, "maintenance": { "$ref": "#/types/aws-native:mediaconnect:FlowMaintenance", - "description": "The maintenance settings you want to use for the flow. " + "description": "The maintenance settings you want to use for the flow." }, "mediaStreams": { "type": "array", @@ -221383,6 +222623,10 @@ "$ref": "#/types/aws-native:mediaconnect:FlowFailoverConfig", "description": "The source failover config of the flow." }, + "sourceMonitoringConfig": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfig", + "description": "The source monitoring config of the flow." + }, "vpcInterfaces": { "type": "array", "items": { @@ -221406,7 +222650,7 @@ }, "maintenance": { "$ref": "#/types/aws-native:mediaconnect:FlowMaintenance", - "description": "The maintenance settings you want to use for the flow. " + "description": "The maintenance settings you want to use for the flow." }, "mediaStreams": { "type": "array", @@ -221427,6 +222671,10 @@ "$ref": "#/types/aws-native:mediaconnect:FlowFailoverConfig", "description": "The source failover config of the flow." }, + "sourceMonitoringConfig": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfig", + "description": "The source monitoring config of the flow." + }, "vpcInterfaces": { "type": "array", "items": { @@ -222007,6 +223255,552 @@ "networks" ] }, + "aws-native:medialive:ChannelPlacementGroup": { + "description": "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the channel placement group." + }, + "awsId": { + "type": "string", + "description": "Unique internal identifier." + }, + "channels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of channel IDs added to the channel placement group." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster the node is on.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name of the channel placement group." + }, + "nodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nodes added to the channel placement group" + }, + "state": { + "$ref": "#/types/aws-native:medialive:ChannelPlacementGroupState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "channels", + "state" + ], + "inputProperties": { + "clusterId": { + "type": "string", + "description": "The ID of the cluster the node is on." + }, + "name": { + "type": "string", + "description": "The name of the channel placement group." + }, + "nodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nodes added to the channel placement group" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + } + }, + "aws-native:medialive:CloudWatchAlarmTemplate": { + "description": "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "A cloudwatch alarm template's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-`" + }, + "comparisonOperator": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator" + }, + "createdAt": { + "type": "string" + }, + "datapointsToAlarm": { + "type": "number", + "description": "The number of datapoints within the evaluation period that must be breaching to trigger the alarm." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "evaluationPeriods": { + "type": "number", + "description": "The number of periods over which data is compared to the specified threshold." + }, + "groupId": { + "type": "string", + "description": "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "groupIdentifier": { + "type": "string", + "description": "A cloudwatch alarm template group's identifier. Can be either be its id or current name." + }, + "identifier": { + "type": "string" + }, + "metricName": { + "type": "string", + "description": "The name of the metric associated with the alarm. Must be compatible with targetResourceType." + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "period": { + "type": "number", + "description": "The period, in seconds, over which the specified statistic is applied." + }, + "statistic": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateStatistic" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + }, + "targetResourceType": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType" + }, + "threshold": { + "type": "number", + "description": "The threshold value to compare with the specified statistic." + }, + "treatMissingData": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData" + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "comparisonOperator", + "createdAt", + "evaluationPeriods", + "groupId", + "groupIdentifier", + "identifier", + "metricName", + "modifiedAt", + "name", + "period", + "statistic", + "targetResourceType", + "threshold", + "treatMissingData" + ], + "inputProperties": { + "comparisonOperator": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator" + }, + "datapointsToAlarm": { + "type": "number", + "description": "The number of datapoints within the evaluation period that must be breaching to trigger the alarm." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "evaluationPeriods": { + "type": "number", + "description": "The number of periods over which data is compared to the specified threshold." + }, + "groupIdentifier": { + "type": "string", + "description": "A cloudwatch alarm template group's identifier. Can be either be its id or current name." + }, + "metricName": { + "type": "string", + "description": "The name of the metric associated with the alarm. Must be compatible with targetResourceType." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "period": { + "type": "number", + "description": "The period, in seconds, over which the specified statistic is applied." + }, + "statistic": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateStatistic" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetResourceType": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType" + }, + "threshold": { + "type": "number", + "description": "The threshold value to compare with the specified statistic." + }, + "treatMissingData": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData" + } + }, + "requiredInputs": [ + "comparisonOperator", + "evaluationPeriods", + "groupIdentifier", + "metricName", + "period", + "statistic", + "targetResourceType", + "threshold", + "treatMissingData" + ] + }, + "aws-native:medialive:CloudWatchAlarmTemplateGroup": { + "description": "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "A cloudwatch alarm template group's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "createdAt": { + "type": "string", + "description": "The date and time of resource creation." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "identifier": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "description": "The date and time of latest resource modification." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region.", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "createdAt", + "identifier", + "modifiedAt", + "name" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "aws-native:medialive:Cluster": { + "description": "Definition of AWS::MediaLive::Cluster Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the Cluster." + }, + "awsId": { + "type": "string", + "description": "The unique ID of the Cluster." + }, + "channelIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The MediaLive Channels that are currently running on Nodes in this Cluster." + }, + "clusterType": { + "$ref": "#/types/aws-native:medialive:ClusterType", + "replaceOnChanges": true + }, + "instanceRoleArn": { + "type": "string", + "description": "The IAM role your nodes will use.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The user-specified name of the Cluster to be created." + }, + "networkSettings": { + "$ref": "#/types/aws-native:medialive:ClusterNetworkSettings" + }, + "state": { + "$ref": "#/types/aws-native:medialive:ClusterState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "channelIds", + "state" + ], + "inputProperties": { + "clusterType": { + "$ref": "#/types/aws-native:medialive:ClusterType" + }, + "instanceRoleArn": { + "type": "string", + "description": "The IAM role your nodes will use." + }, + "name": { + "type": "string", + "description": "The user-specified name of the Cluster to be created." + }, + "networkSettings": { + "$ref": "#/types/aws-native:medialive:ClusterNetworkSettings" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + } + }, + "aws-native:medialive:EventBridgeRuleTemplate": { + "description": "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "An eventbridge rule template's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "An eventbridge rule template's id. AWS provided templates have ids that start with `aws-`" + }, + "createdAt": { + "type": "string", + "description": "Placeholder documentation for __timestampIso8601" + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "eventTargets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateTarget" + }, + "description": "Placeholder documentation for __listOfEventBridgeRuleTemplateTarget" + }, + "eventType": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateEventType" + }, + "groupId": { + "type": "string", + "description": "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "groupIdentifier": { + "type": "string", + "description": "An eventbridge rule template group's identifier. Can be either be its id or current name." + }, + "identifier": { + "type": "string", + "description": "Placeholder documentation for __string" + }, + "modifiedAt": { + "type": "string", + "description": "Placeholder documentation for __timestampIso8601" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "createdAt", + "eventType", + "groupId", + "groupIdentifier", + "identifier", + "modifiedAt", + "name" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "eventTargets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateTarget" + }, + "description": "Placeholder documentation for __listOfEventBridgeRuleTemplateTarget" + }, + "eventType": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateEventType" + }, + "groupIdentifier": { + "type": "string", + "description": "An eventbridge rule template group's identifier. Can be either be its id or current name." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "eventType", + "groupIdentifier" + ] + }, + "aws-native:medialive:EventBridgeRuleTemplateGroup": { + "description": "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "An eventbridge rule template group's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "createdAt": { + "type": "string", + "description": "The date and time of resource creation." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "identifier": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "description": "The date and time of latest resource modification." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region.", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "createdAt", + "identifier", + "modifiedAt", + "name" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, "aws-native:medialive:Multiplex": { "description": "Resource schema for AWS::MediaLive::Multiplex", "properties": { @@ -222179,6 +223973,324 @@ } } }, + "aws-native:medialive:Network": { + "description": "Resource schema for AWS::MediaLive::Network.", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the Network." + }, + "associatedClusterIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "awsId": { + "type": "string", + "description": "The unique ID of the Network." + }, + "ipPools": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkIpPool" + }, + "description": "The list of IP address cidr pools for the network" + }, + "name": { + "type": "string", + "description": "The user-specified name of the Network to be created." + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkRoute" + }, + "description": "The routes for the network" + }, + "state": { + "$ref": "#/types/aws-native:medialive:NetworkState", + "description": "The current state of the Network." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "type": "object", + "required": [ + "arn", + "associatedClusterIds", + "awsId", + "ipPools", + "name", + "state" + ], + "inputProperties": { + "ipPools": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkIpPool" + }, + "description": "The list of IP address cidr pools for the network" + }, + "name": { + "type": "string", + "description": "The user-specified name of the Network to be created." + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkRoute" + }, + "description": "The routes for the network" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + }, + "requiredInputs": [ + "ipPools" + ] + }, + "aws-native:medialive:SdiSource": { + "description": "Definition of AWS::MediaLive::SdiSource Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "The unique arn of the SdiSource." + }, + "awsId": { + "type": "string", + "description": "The unique identifier of the SdiSource." + }, + "inputs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of inputs currently using this SDI source." + }, + "mode": { + "$ref": "#/types/aws-native:medialive:SdiSourceMode" + }, + "name": { + "type": "string", + "description": "The name of the SdiSource." + }, + "state": { + "$ref": "#/types/aws-native:medialive:SdiSourceState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + }, + "type": { + "$ref": "#/types/aws-native:medialive:SdiSourceType" + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "inputs", + "name", + "state", + "type" + ], + "inputProperties": { + "mode": { + "$ref": "#/types/aws-native:medialive:SdiSourceMode" + }, + "name": { + "type": "string", + "description": "The name of the SdiSource." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + }, + "type": { + "$ref": "#/types/aws-native:medialive:SdiSourceType" + } + }, + "requiredInputs": [ + "type" + ] + }, + "aws-native:medialive:SignalMap": { + "description": "Definition of AWS::MediaLive::SignalMap Resource Type", + "properties": { + "arn": { + "type": "string", + "description": "A signal map's ARN (Amazon Resource Name)" + }, + "awsId": { + "type": "string", + "description": "A signal map's id." + }, + "cloudWatchAlarmTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "cloudWatchAlarmTemplateGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "discoveryEntryPointArn": { + "type": "string", + "description": "A top-level supported AWS resource ARN to discovery a signal map from." + }, + "errorMessage": { + "type": "string", + "description": "Error message associated with a failed creation or failed update attempt of a signal map." + }, + "eventBridgeRuleTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "eventBridgeRuleTemplateGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "failedMediaResourceMap": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResource" + } + }, + "forceRediscovery": { + "type": "boolean", + "description": "If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided." + }, + "identifier": { + "type": "string" + }, + "lastDiscoveredAt": { + "type": "string" + }, + "lastSuccessfulMonitorDeployment": { + "$ref": "#/types/aws-native:medialive:SignalMapSuccessfulMonitorDeployment" + }, + "mediaResourceMap": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResource" + } + }, + "modifiedAt": { + "type": "string" + }, + "monitorChangesPendingDeployment": { + "type": "boolean", + "description": "If true, there are pending monitor changes for this signal map that can be deployed." + }, + "monitorDeployment": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeployment" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapStatus" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "cloudWatchAlarmTemplateGroupIds", + "createdAt", + "discoveryEntryPointArn", + "errorMessage", + "eventBridgeRuleTemplateGroupIds", + "failedMediaResourceMap", + "identifier", + "lastDiscoveredAt", + "lastSuccessfulMonitorDeployment", + "mediaResourceMap", + "modifiedAt", + "monitorChangesPendingDeployment", + "monitorDeployment", + "name", + "status" + ], + "inputProperties": { + "cloudWatchAlarmTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "discoveryEntryPointArn": { + "type": "string", + "description": "A top-level supported AWS resource ARN to discovery a signal map from." + }, + "eventBridgeRuleTemplateGroupIdentifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "forceRediscovery": { + "type": "boolean", + "description": "If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided." + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "discoveryEntryPointArn" + ] + }, "aws-native:mediapackage:Asset": { "description": "Resource schema for AWS::MediaPackage::Asset", "properties": { @@ -230201,6 +232313,99 @@ "groupDisplayName" ] }, + "aws-native:pcaconnectorscep:Challenge": { + "description": "Represents a SCEP Challenge that is used for certificate enrollment", + "properties": { + "challengeArn": { + "type": "string" + }, + "connectorArn": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "challengeArn", + "connectorArn" + ], + "inputProperties": { + "connectorArn": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "connectorArn" + ] + }, + "aws-native:pcaconnectorscep:Connector": { + "description": "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP)", + "properties": { + "certificateAuthorityArn": { + "type": "string", + "replaceOnChanges": true + }, + "connectorArn": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "mobileDeviceManagement": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement", + "replaceOnChanges": true + }, + "openIdConfiguration": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorOpenIdConfiguration" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorType" + } + }, + "type": "object", + "required": [ + "certificateAuthorityArn", + "connectorArn", + "endpoint", + "openIdConfiguration", + "type" + ], + "inputProperties": { + "certificateAuthorityArn": { + "type": "string" + }, + "mobileDeviceManagement": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "certificateAuthorityArn" + ] + }, "aws-native:personalize:Dataset": { "description": "Resource schema for AWS::Personalize::Dataset.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDataset = new AwsNative.Personalize.Dataset(\"myDataset\", new()\n {\n Name = \"my-dataset-name\",\n DatasetType = AwsNative.Personalize.DatasetType.Interactions,\n DatasetGroupArn = \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n SchemaArn = \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n DatasetImportJob = new AwsNative.Personalize.Inputs.DatasetImportJobArgs\n {\n JobName = \"my-import-job-name\",\n DataSource = new AwsNative.Personalize.Inputs.DatasetImportJobDataSourcePropertiesArgs\n {\n DataLocation = \"s3://bucket-name/file-name.csv\",\n },\n RoleArn = \"arn:aws:iam::123456789012:role/personalize-role\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/personalize\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := personalize.NewDataset(ctx, \"myDataset\", \u0026personalize.DatasetArgs{\n\t\t\tName: pulumi.String(\"my-dataset-name\"),\n\t\t\tDatasetType: personalize.DatasetTypeInteractions,\n\t\t\tDatasetGroupArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\"),\n\t\t\tSchemaArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\"),\n\t\t\tDatasetImportJob: \u0026personalize.DatasetImportJobArgs{\n\t\t\t\tJobName: pulumi.String(\"my-import-job-name\"),\n\t\t\t\tDataSource: \u0026personalize.DatasetImportJobDataSourcePropertiesArgs{\n\t\t\t\t\tDataLocation: pulumi.String(\"s3://bucket-name/file-name.csv\"),\n\t\t\t\t},\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/personalize-role\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDataset = new aws_native.personalize.Dataset(\"myDataset\", {\n name: \"my-dataset-name\",\n datasetType: aws_native.personalize.DatasetType.Interactions,\n datasetGroupArn: \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schemaArn: \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n datasetImportJob: {\n jobName: \"my-import-job-name\",\n dataSource: {\n dataLocation: \"s3://bucket-name/file-name.csv\",\n },\n roleArn: \"arn:aws:iam::123456789012:role/personalize-role\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dataset = aws_native.personalize.Dataset(\"myDataset\",\n name=\"my-dataset-name\",\n dataset_type=aws_native.personalize.DatasetType.INTERACTIONS,\n dataset_group_arn=\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schema_arn=\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n dataset_import_job={\n \"job_name\": \"my-import-job-name\",\n \"data_source\": {\n \"data_location\": \"s3://bucket-name/file-name.csv\",\n },\n \"role_arn\": \"arn:aws:iam::123456789012:role/personalize-role\",\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDataset = new AwsNative.Personalize.Dataset(\"myDataset\", new()\n {\n Name = \"my-dataset-name\",\n DatasetType = AwsNative.Personalize.DatasetType.Interactions,\n DatasetGroupArn = \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n SchemaArn = \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n DatasetImportJob = new AwsNative.Personalize.Inputs.DatasetImportJobArgs\n {\n JobName = \"my-import-job-name\",\n DataSource = new AwsNative.Personalize.Inputs.DatasetImportJobDataSourcePropertiesArgs\n {\n DataLocation = \"s3://bucket-name/file-name.csv\",\n },\n RoleArn = \"arn:aws:iam::123456789012:role/personalize-role\",\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/personalize\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := personalize.NewDataset(ctx, \"myDataset\", \u0026personalize.DatasetArgs{\n\t\t\tName: pulumi.String(\"my-dataset-name\"),\n\t\t\tDatasetType: personalize.DatasetTypeInteractions,\n\t\t\tDatasetGroupArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\"),\n\t\t\tSchemaArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\"),\n\t\t\tDatasetImportJob: \u0026personalize.DatasetImportJobArgs{\n\t\t\t\tJobName: pulumi.String(\"my-import-job-name\"),\n\t\t\t\tDataSource: \u0026personalize.DatasetImportJobDataSourcePropertiesArgs{\n\t\t\t\t\tDataLocation: pulumi.String(\"s3://bucket-name/file-name.csv\"),\n\t\t\t\t},\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/personalize-role\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDataset = new aws_native.personalize.Dataset(\"myDataset\", {\n name: \"my-dataset-name\",\n datasetType: aws_native.personalize.DatasetType.Interactions,\n datasetGroupArn: \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schemaArn: \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n datasetImportJob: {\n jobName: \"my-import-job-name\",\n dataSource: {\n dataLocation: \"s3://bucket-name/file-name.csv\",\n },\n roleArn: \"arn:aws:iam::123456789012:role/personalize-role\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dataset = aws_native.personalize.Dataset(\"myDataset\",\n name=\"my-dataset-name\",\n dataset_type=aws_native.personalize.DatasetType.INTERACTIONS,\n dataset_group_arn=\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schema_arn=\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n dataset_import_job={\n \"job_name\": \"my-import-job-name\",\n \"data_source\": {\n \"data_location\": \"s3://bucket-name/file-name.csv\",\n },\n \"role_arn\": \"arn:aws:iam::123456789012:role/personalize-role\",\n })\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -230981,7 +233186,7 @@ }, "roleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics." + "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role." }, "status": { "$ref": "#/types/aws-native:qbusiness:ApplicationStatus", @@ -231058,7 +233263,7 @@ }, "roleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics." + "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role." }, "tags": { "type": "array", @@ -241360,6 +243565,99 @@ } } }, + "aws-native:sagemaker:Cluster": { + "description": "Resource Type definition for AWS::SageMaker::Cluster", + "properties": { + "clusterArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the HyperPod Cluster." + }, + "clusterName": { + "type": "string", + "description": "The name of the HyperPod Cluster.", + "replaceOnChanges": true + }, + "clusterStatus": { + "$ref": "#/types/aws-native:sagemaker:ClusterStatus", + "description": "The status of the HyperPod Cluster." + }, + "creationTime": { + "type": "string", + "description": "The time at which the HyperPod cluster was created." + }, + "failureMessage": { + "type": "string", + "description": "The failure message of the HyperPod Cluster." + }, + "instanceGroups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceGroup" + } + }, + "nodeRecovery": { + "$ref": "#/types/aws-native:sagemaker:ClusterNodeRecovery", + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected." + }, + "orchestrator": { + "$ref": "#/types/aws-native:sagemaker:ClusterOrchestrator", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging." + }, + "vpcConfig": { + "$ref": "#/types/aws-native:sagemaker:ClusterVpcConfig", + "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) .", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "clusterArn", + "clusterStatus", + "creationTime", + "failureMessage", + "instanceGroups" + ], + "inputProperties": { + "clusterName": { + "type": "string", + "description": "The name of the HyperPod Cluster." + }, + "instanceGroups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceGroup" + } + }, + "nodeRecovery": { + "$ref": "#/types/aws-native:sagemaker:ClusterNodeRecovery", + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected." + }, + "orchestrator": { + "$ref": "#/types/aws-native:sagemaker:ClusterOrchestrator" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging." + }, + "vpcConfig": { + "$ref": "#/types/aws-native:sagemaker:ClusterVpcConfig", + "description": "Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) ." + } + }, + "requiredInputs": [ + "instanceGroups" + ] + }, "aws-native:sagemaker:DataQualityJobDefinition": { "description": "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition", "properties": { @@ -246808,8 +249106,120 @@ "roleArn" ] }, + "aws-native:sns:Subscription": { + "description": "Resource Type definition for AWS::SNS::Subscription", + "properties": { + "arn": { + "type": "string", + "description": "Arn of the subscription" + }, + "deliveryPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "endpoint": { + "type": "string", + "description": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. ", + "replaceOnChanges": true + }, + "filterPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicyScope": { + "type": "string", + "description": "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." + }, + "protocol": { + "type": "string", + "description": "The subscription's protocol.", + "replaceOnChanges": true + }, + "rawMessageDelivery": { + "type": "boolean", + "description": "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." + }, + "redrivePolicy": { + "$ref": "pulumi.json#/Any", + "description": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "region": { + "type": "string", + "description": "For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default." + }, + "replayPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "subscriptionRoleArn": { + "type": "string", + "description": "This property applies only to Amazon Data Firehose delivery stream subscriptions." + }, + "topicArn": { + "type": "string", + "description": "The ARN of the topic to subscribe to.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "arn", + "protocol", + "topicArn" + ], + "inputProperties": { + "deliveryPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "endpoint": { + "type": "string", + "description": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. " + }, + "filterPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicyScope": { + "type": "string", + "description": "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." + }, + "protocol": { + "type": "string", + "description": "The subscription's protocol." + }, + "rawMessageDelivery": { + "type": "boolean", + "description": "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." + }, + "redrivePolicy": { + "$ref": "pulumi.json#/Any", + "description": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "region": { + "type": "string", + "description": "For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default." + }, + "replayPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "subscriptionRoleArn": { + "type": "string", + "description": "This property applies only to Amazon Data Firehose delivery stream subscriptions." + }, + "topicArn": { + "type": "string", + "description": "The ARN of the topic to subscribe to." + } + }, + "requiredInputs": [ + "protocol", + "topicArn" + ] + }, "aws-native:sns:Topic": { - "description": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*.", + "description": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var carSalesTopic = new AwsNative.Sns.Topic(\"carSalesTopic\");\n\n var erpIntegrationQueue = new AwsNative.Sqs.Queue(\"erpIntegrationQueue\");\n\n var erpSubscription = new AwsNative.Sns.Subscription(\"erpSubscription\", new()\n {\n TopicArn = carSalesTopic.Id,\n Endpoint = erpIntegrationQueue.Arn,\n Protocol = \"sqs\",\n RawMessageDelivery = true,\n });\n\n var crmIntegrationQueue = new AwsNative.Sqs.Queue(\"crmIntegrationQueue\");\n\n var crmSubscription = new AwsNative.Sns.Subscription(\"crmSubscription\", new()\n {\n TopicArn = carSalesTopic.Id,\n Endpoint = crmIntegrationQueue.Arn,\n Protocol = \"sqs\",\n RawMessageDelivery = true,\n FilterPolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"buyer-class\"] = new[]\n {\n \"vip\",\n },\n },\n });\n\n var config = new Config();\n var myHttpEndpoint = config.Require(\"myHttpEndpoint\");\n var scmSubscription = new AwsNative.Sns.Subscription(\"scmSubscription\", new()\n {\n TopicArn = carSalesTopic.Id,\n Endpoint = myHttpEndpoint,\n Protocol = \"https\",\n DeliveryPolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"healthyRetryPolicy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"numRetries\"] = 20,\n [\"minDelayTarget\"] = 10,\n [\"maxDelayTarget\"] = 30,\n [\"numMinDelayRetries\"] = 3,\n [\"numMaxDelayRetries\"] = 17,\n [\"numNoDelayRetries\"] = 0,\n [\"backoffFunction\"] = \"exponential\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcarSalesTopic, err := sns.NewTopic(ctx, \"carSalesTopic\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\terpIntegrationQueue, err := sqs.NewQueue(ctx, \"erpIntegrationQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewSubscription(ctx, \"erpSubscription\", \u0026sns.SubscriptionArgs{\n\t\t\tTopicArn: carSalesTopic.ID(),\n\t\t\tEndpoint: erpIntegrationQueue.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tRawMessageDelivery: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcrmIntegrationQueue, err := sqs.NewQueue(ctx, \"crmIntegrationQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewSubscription(ctx, \"crmSubscription\", \u0026sns.SubscriptionArgs{\n\t\t\tTopicArn: carSalesTopic.ID(),\n\t\t\tEndpoint: crmIntegrationQueue.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tRawMessageDelivery: pulumi.Bool(true),\n\t\t\tFilterPolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"buyer-class\": []string{\n\t\t\t\t\t\"vip\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tmyHttpEndpoint := cfg.Require(\"myHttpEndpoint\")\n\t\t_, err = sns.NewSubscription(ctx, \"scmSubscription\", \u0026sns.SubscriptionArgs{\n\t\t\tTopicArn: carSalesTopic.ID(),\n\t\t\tEndpoint: pulumi.String(myHttpEndpoint),\n\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\tDeliveryPolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"healthyRetryPolicy\": map[string]interface{}{\n\t\t\t\t\t\"numRetries\": 20,\n\t\t\t\t\t\"minDelayTarget\": 10,\n\t\t\t\t\t\"maxDelayTarget\": 30,\n\t\t\t\t\t\"numMinDelayRetries\": 3,\n\t\t\t\t\t\"numMaxDelayRetries\": 17,\n\t\t\t\t\t\"numNoDelayRetries\": 0,\n\t\t\t\t\t\"backoffFunction\": \"exponential\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst carSalesTopic = new aws_native.sns.Topic(\"carSalesTopic\", {});\nconst erpIntegrationQueue = new aws_native.sqs.Queue(\"erpIntegrationQueue\", {});\nconst erpSubscription = new aws_native.sns.Subscription(\"erpSubscription\", {\n topicArn: carSalesTopic.id,\n endpoint: erpIntegrationQueue.arn,\n protocol: \"sqs\",\n rawMessageDelivery: true,\n});\nconst crmIntegrationQueue = new aws_native.sqs.Queue(\"crmIntegrationQueue\", {});\nconst crmSubscription = new aws_native.sns.Subscription(\"crmSubscription\", {\n topicArn: carSalesTopic.id,\n endpoint: crmIntegrationQueue.arn,\n protocol: \"sqs\",\n rawMessageDelivery: true,\n filterPolicy: {\n \"buyer-class\": [\"vip\"],\n },\n});\nconst config = new pulumi.Config();\nconst myHttpEndpoint = config.require(\"myHttpEndpoint\");\nconst scmSubscription = new aws_native.sns.Subscription(\"scmSubscription\", {\n topicArn: carSalesTopic.id,\n endpoint: myHttpEndpoint,\n protocol: \"https\",\n deliveryPolicy: {\n healthyRetryPolicy: {\n numRetries: 20,\n minDelayTarget: 10,\n maxDelayTarget: 30,\n numMinDelayRetries: 3,\n numMaxDelayRetries: 17,\n numNoDelayRetries: 0,\n backoffFunction: \"exponential\",\n },\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncar_sales_topic = aws_native.sns.Topic(\"carSalesTopic\")\nerp_integration_queue = aws_native.sqs.Queue(\"erpIntegrationQueue\")\nerp_subscription = aws_native.sns.Subscription(\"erpSubscription\",\n topic_arn=car_sales_topic.id,\n endpoint=erp_integration_queue.arn,\n protocol=\"sqs\",\n raw_message_delivery=True)\ncrm_integration_queue = aws_native.sqs.Queue(\"crmIntegrationQueue\")\ncrm_subscription = aws_native.sns.Subscription(\"crmSubscription\",\n topic_arn=car_sales_topic.id,\n endpoint=crm_integration_queue.arn,\n protocol=\"sqs\",\n raw_message_delivery=True,\n filter_policy={\n \"buyer-class\": [\"vip\"],\n })\nconfig = pulumi.Config()\nmy_http_endpoint = config.require(\"myHttpEndpoint\")\nscm_subscription = aws_native.sns.Subscription(\"scmSubscription\",\n topic_arn=car_sales_topic.id,\n endpoint=my_http_endpoint,\n protocol=\"https\",\n delivery_policy={\n \"healthyRetryPolicy\": {\n \"numRetries\": 20,\n \"minDelayTarget\": 10,\n \"maxDelayTarget\": 30,\n \"numMinDelayRetries\": 3,\n \"numMaxDelayRetries\": 17,\n \"numNoDelayRetries\": 0,\n \"backoffFunction\": \"exponential\",\n },\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var carSalesTopic = new AwsNative.Sns.Topic(\"carSalesTopic\");\n\n var erpIntegrationQueue = new AwsNative.Sqs.Queue(\"erpIntegrationQueue\");\n\n var erpSubscription = new AwsNative.Sns.Subscription(\"erpSubscription\", new()\n {\n TopicArn = carSalesTopic.Id,\n Endpoint = erpIntegrationQueue.Arn,\n Protocol = \"sqs\",\n RawMessageDelivery = true,\n });\n\n var crmIntegrationQueue = new AwsNative.Sqs.Queue(\"crmIntegrationQueue\");\n\n var crmSubscription = new AwsNative.Sns.Subscription(\"crmSubscription\", new()\n {\n TopicArn = carSalesTopic.Id,\n Endpoint = crmIntegrationQueue.Arn,\n Protocol = \"sqs\",\n RawMessageDelivery = true,\n FilterPolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"buyer-class\"] = new[]\n {\n \"vip\",\n },\n },\n });\n\n var config = new Config();\n var myHttpEndpoint = config.Require(\"myHttpEndpoint\");\n var scmSubscription = new AwsNative.Sns.Subscription(\"scmSubscription\", new()\n {\n TopicArn = carSalesTopic.Id,\n Endpoint = myHttpEndpoint,\n Protocol = \"https\",\n DeliveryPolicy = new Dictionary\u003cstring, object?\u003e\n {\n [\"healthyRetryPolicy\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"numRetries\"] = 20,\n [\"minDelayTarget\"] = 10,\n [\"maxDelayTarget\"] = 30,\n [\"numMinDelayRetries\"] = 3,\n [\"numMaxDelayRetries\"] = 17,\n [\"numNoDelayRetries\"] = 0,\n [\"backoffFunction\"] = \"exponential\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcarSalesTopic, err := sns.NewTopic(ctx, \"carSalesTopic\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\terpIntegrationQueue, err := sqs.NewQueue(ctx, \"erpIntegrationQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewSubscription(ctx, \"erpSubscription\", \u0026sns.SubscriptionArgs{\n\t\t\tTopicArn: carSalesTopic.ID(),\n\t\t\tEndpoint: erpIntegrationQueue.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tRawMessageDelivery: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcrmIntegrationQueue, err := sqs.NewQueue(ctx, \"crmIntegrationQueue\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sns.NewSubscription(ctx, \"crmSubscription\", \u0026sns.SubscriptionArgs{\n\t\t\tTopicArn: carSalesTopic.ID(),\n\t\t\tEndpoint: crmIntegrationQueue.Arn,\n\t\t\tProtocol: pulumi.String(\"sqs\"),\n\t\t\tRawMessageDelivery: pulumi.Bool(true),\n\t\t\tFilterPolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"buyer-class\": []string{\n\t\t\t\t\t\"vip\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tcfg := config.New(ctx, \"\")\n\t\tmyHttpEndpoint := cfg.Require(\"myHttpEndpoint\")\n\t\t_, err = sns.NewSubscription(ctx, \"scmSubscription\", \u0026sns.SubscriptionArgs{\n\t\t\tTopicArn: carSalesTopic.ID(),\n\t\t\tEndpoint: pulumi.String(myHttpEndpoint),\n\t\t\tProtocol: pulumi.String(\"https\"),\n\t\t\tDeliveryPolicy: pulumi.Any(map[string]interface{}{\n\t\t\t\t\"healthyRetryPolicy\": map[string]interface{}{\n\t\t\t\t\t\"numRetries\": 20,\n\t\t\t\t\t\"minDelayTarget\": 10,\n\t\t\t\t\t\"maxDelayTarget\": 30,\n\t\t\t\t\t\"numMinDelayRetries\": 3,\n\t\t\t\t\t\"numMaxDelayRetries\": 17,\n\t\t\t\t\t\"numNoDelayRetries\": 0,\n\t\t\t\t\t\"backoffFunction\": \"exponential\",\n\t\t\t\t},\n\t\t\t}),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst carSalesTopic = new aws_native.sns.Topic(\"carSalesTopic\", {});\nconst erpIntegrationQueue = new aws_native.sqs.Queue(\"erpIntegrationQueue\", {});\nconst erpSubscription = new aws_native.sns.Subscription(\"erpSubscription\", {\n topicArn: carSalesTopic.id,\n endpoint: erpIntegrationQueue.arn,\n protocol: \"sqs\",\n rawMessageDelivery: true,\n});\nconst crmIntegrationQueue = new aws_native.sqs.Queue(\"crmIntegrationQueue\", {});\nconst crmSubscription = new aws_native.sns.Subscription(\"crmSubscription\", {\n topicArn: carSalesTopic.id,\n endpoint: crmIntegrationQueue.arn,\n protocol: \"sqs\",\n rawMessageDelivery: true,\n filterPolicy: {\n \"buyer-class\": [\"vip\"],\n },\n});\nconst config = new pulumi.Config();\nconst myHttpEndpoint = config.require(\"myHttpEndpoint\");\nconst scmSubscription = new aws_native.sns.Subscription(\"scmSubscription\", {\n topicArn: carSalesTopic.id,\n endpoint: myHttpEndpoint,\n protocol: \"https\",\n deliveryPolicy: {\n healthyRetryPolicy: {\n numRetries: 20,\n minDelayTarget: 10,\n maxDelayTarget: 30,\n numMinDelayRetries: 3,\n numMaxDelayRetries: 17,\n numNoDelayRetries: 0,\n backoffFunction: \"exponential\",\n },\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncar_sales_topic = aws_native.sns.Topic(\"carSalesTopic\")\nerp_integration_queue = aws_native.sqs.Queue(\"erpIntegrationQueue\")\nerp_subscription = aws_native.sns.Subscription(\"erpSubscription\",\n topic_arn=car_sales_topic.id,\n endpoint=erp_integration_queue.arn,\n protocol=\"sqs\",\n raw_message_delivery=True)\ncrm_integration_queue = aws_native.sqs.Queue(\"crmIntegrationQueue\")\ncrm_subscription = aws_native.sns.Subscription(\"crmSubscription\",\n topic_arn=car_sales_topic.id,\n endpoint=crm_integration_queue.arn,\n protocol=\"sqs\",\n raw_message_delivery=True,\n filter_policy={\n \"buyer-class\": [\"vip\"],\n })\nconfig = pulumi.Config()\nmy_http_endpoint = config.require(\"myHttpEndpoint\")\nscm_subscription = aws_native.sns.Subscription(\"scmSubscription\",\n topic_arn=car_sales_topic.id,\n endpoint=my_http_endpoint,\n protocol=\"https\",\n delivery_policy={\n \"healthyRetryPolicy\": {\n \"numRetries\": 20,\n \"minDelayTarget\": 10,\n \"maxDelayTarget\": 30,\n \"numMinDelayRetries\": 3,\n \"numMaxDelayRetries\": 17,\n \"numNoDelayRetries\": 0,\n \"backoffFunction\": \"exponential\",\n },\n })\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { "archivePolicy": { "$ref": "pulumi.json#/Any", @@ -253777,6 +256187,10 @@ "type": "string", "description": "The build specification (build spec) for an Amplify app." }, + "cacheConfig": { + "$ref": "#/types/aws-native:amplify:AppCacheConfig", + "description": "The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting." + }, "customHeaders": { "type": "string", "description": "The custom HTTP headers for an Amplify app." @@ -253817,7 +256231,7 @@ }, "platform": { "$ref": "#/types/aws-native:amplify:AppPlatform", - "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` ." + "description": "The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` .\n\nIf you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* ." }, "repository": { "type": "string", @@ -256368,6 +258782,10 @@ "type": "string", "description": "An optional description for this SLO. Default is 'No description'" }, + "evaluationType": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveEvaluationType", + "description": "Displays whether this is a period-based SLO or a request-based SLO." + }, "goal": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveGoal", "description": "This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold." @@ -256376,9 +258794,13 @@ "type": "integer", "description": "Epoch time in seconds of the time that this SLO was most recently updated" }, + "requestBasedSli": { + "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveRequestBasedSli", + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO." + }, "sli": { "$ref": "#/types/aws-native:applicationsignals:ServiceLevelObjectiveSli", - "description": "A structure containing information about the performance metric that this SLO monitors." + "description": "A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO." }, "tags": { "type": "array", @@ -260672,7 +263094,7 @@ "items": { "type": "string" }, - "description": "The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." + "description": "The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI)." }, "outputs": { "type": "array", @@ -260690,7 +263112,7 @@ }, "parentId": { "type": "string", - "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.\n\nFor more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." + "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.\n\nFor more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." }, "roleArn": { "type": "string", @@ -260698,7 +263120,7 @@ }, "rootId": { "type": "string", - "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.\n\nFor more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." + "description": "For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.\n\nFor more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* ." }, "stackId": { "type": "string", @@ -260721,7 +263143,7 @@ "items": { "$ref": "#/types/aws-native:index:Tag" }, - "description": "Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." + "description": "Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified." }, "templateBody": { "$ref": "pulumi.json#/Any", @@ -261968,11 +264390,11 @@ }, "computeType": { "$ref": "#/types/aws-native:codebuild:FleetComputeType", - "description": "Information about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the compute resources the compute fleet uses. Available values include:\n\n- `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds.\n- `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds.\n- `BUILD_GENERAL1_LARGE` : Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_XLARGE` : Use up to 70 GB memory and 36 vCPUs for builds, depending on your environment type.\n- `BUILD_GENERAL1_2XLARGE` : Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.\n\nIf you use `BUILD_GENERAL1_SMALL` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 3 GB memory and 2 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 16 GB memory, 4 vCPUs, and 1 NVIDIA A10G Tensor Core GPU for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 4 GB memory and 2 vCPUs on ARM-based processors for builds.\n\nIf you use `BUILD_GENERAL1_LARGE` :\n\n- For environment type `LINUX_CONTAINER` , you can use up to 15 GB memory and 8 vCPUs for builds.\n- For environment type `LINUX_GPU_CONTAINER` , you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.\n- For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.*" }, "environmentType": { "$ref": "#/types/aws-native:codebuild:FleetEnvironmentType", - "description": "The environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe environment type of the compute fleet.\n\n- The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo).\n- The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai).\n- The environment type `LINUX_GPU_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney).\n- The environment type `WINDOWS_SERVER_2019_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland).\n- The environment type `WINDOWS_SERVER_2022_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Sydney), Asia Pacific (Singapore), Asia Pacific (Tokyo), South America (São Paulo) and Asia Pacific (Mumbai).\n\nFor more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* ." }, "fleetServiceRole": { "type": "string", @@ -261980,11 +264402,11 @@ }, "fleetVpcConfig": { "$ref": "#/types/aws-native:codebuild:FleetVpcConfig", - "description": "Information about the VPC configuration that AWS CodeBuild accesses." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nInformation about the VPC configuration that AWS CodeBuild accesses." }, "imageId": { "type": "string", - "description": "The Amazon Machine Image (AMI) of the compute fleet." + "description": "\u003e Updating this field is not allowed for `MAC_ARM` . \n\nThe Amazon Machine Image (AMI) of the compute fleet." }, "name": { "type": "string", @@ -262635,7 +265057,7 @@ }, "adminCreateUserConfig": { "$ref": "#/types/aws-native:cognito:UserPoolAdminCreateUserConfig", - "description": "The configuration for creating a new user profile." + "description": "The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "aliasAttributes": { "type": "array", @@ -262677,7 +265099,7 @@ }, "lambdaConfig": { "$ref": "#/types/aws-native:cognito:UserPoolLambdaConfig", - "description": "The Lambda trigger configuration information for the new user pool.\n\n\u003e In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function.\n\u003e \n\u003e For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) .\n\u003e \n\u003e For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) ." + "description": "A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them." }, "mfaConfiguration": { "type": "string", @@ -262685,7 +265107,7 @@ }, "policies": { "$ref": "#/types/aws-native:cognito:UserPoolPolicies", - "description": "The policy associated with a user pool." + "description": "A list of user pool policies. Contains the policy that sets password-complexity requirements.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." }, "providerName": { "type": "string", @@ -262750,7 +265172,7 @@ }, "verificationMessageTemplate": { "$ref": "#/types/aws-native:cognito:UserPoolVerificationMessageTemplate", - "description": "The template for the verification message that the user sees when the app requests permission to access the user's information." + "description": "The template for the verification message that your user pool delivers to users who set an email address or phone number attribute.\n\nSet the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error." } } } @@ -262865,7 +265287,7 @@ "items": { "type": "string" }, - "description": "The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." + "description": "The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data.\n\nWhen you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes." }, "refreshTokenValidity": { "type": "integer", @@ -263038,7 +265460,7 @@ }, "userPoolId": { "type": "string", - "description": "The user pool ID." + "description": "The ID of the user pool that has the risk configuration applied." } }, "required": [ @@ -263050,15 +265472,15 @@ "properties": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType", - "description": "The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover." + "description": "The settings for automated responses and notification templates for adaptive authentication with advanced security features." }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", - "description": "The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` ." + "description": "Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode." }, "riskExceptionConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType", - "description": "The configuration to override the risk decision." + "description": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges." } } } @@ -265183,13 +267605,6 @@ "$ref": "#/types/aws-native:databrew:RulesetRule" }, "description": "List of the data quality rules in the ruleset" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:index:Tag" - }, - "description": "An array of key-value pairs to apply to this resource.\n\nFor more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) ." } } } @@ -271596,7 +274011,7 @@ } }, "aws-native:ecs:getService": { - "description": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", + "description": "The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.\n The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace.\n Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.", "inputs": { "properties": { "cluster": { @@ -271677,7 +274092,7 @@ }, "propagateTags": { "$ref": "#/types/aws-native:ecs:ServicePropagateTags", - "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n The default is ``NONE``." + "description": "Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action.\n You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*.\n The default is ``NONE``." }, "serviceArn": { "type": "string", @@ -272696,6 +275111,12 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the listener." }, + "listenerAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerAttribute" + } + }, "mutualAuthentication": { "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerMutualAuthentication", "description": "The mutual authentication configuration information." @@ -284506,7 +286927,7 @@ }, "maintenance": { "$ref": "#/types/aws-native:mediaconnect:FlowMaintenance", - "description": "The maintenance settings you want to use for the flow. " + "description": "The maintenance settings you want to use for the flow." }, "mediaStreams": { "type": "array", @@ -284523,6 +286944,10 @@ "$ref": "#/types/aws-native:mediaconnect:FlowFailoverConfig", "description": "The source failover config of the flow." }, + "sourceMonitoringConfig": { + "$ref": "#/types/aws-native:mediaconnect:FlowSourceMonitoringConfig", + "description": "The source monitoring config of the flow." + }, "vpcInterfaces": { "type": "array", "items": { @@ -284747,6 +287172,333 @@ } } }, + "aws-native:medialive:getChannelPlacementGroup": { + "description": "Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type", + "inputs": { + "properties": { + "clusterId": { + "type": "string", + "description": "The ID of the cluster the node is on." + }, + "id": { + "type": "string", + "description": "Unique internal identifier." + } + }, + "required": [ + "id", + "clusterId" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the channel placement group." + }, + "channels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of channel IDs added to the channel placement group." + }, + "id": { + "type": "string", + "description": "Unique internal identifier." + }, + "name": { + "type": "string", + "description": "The name of the channel placement group." + }, + "nodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nodes added to the channel placement group" + }, + "state": { + "$ref": "#/types/aws-native:medialive:ChannelPlacementGroupState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + } + } + }, + "aws-native:medialive:getCloudWatchAlarmTemplate": { + "description": "Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type", + "inputs": { + "properties": { + "identifier": { + "type": "string" + } + }, + "required": [ + "identifier" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "A cloudwatch alarm template's ARN (Amazon Resource Name)" + }, + "comparisonOperator": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateComparisonOperator" + }, + "createdAt": { + "type": "string" + }, + "datapointsToAlarm": { + "type": "number", + "description": "The number of datapoints within the evaluation period that must be breaching to trigger the alarm." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "evaluationPeriods": { + "type": "number", + "description": "The number of periods over which data is compared to the specified threshold." + }, + "groupId": { + "type": "string", + "description": "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "id": { + "type": "string", + "description": "A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-`" + }, + "identifier": { + "type": "string" + }, + "metricName": { + "type": "string", + "description": "The name of the metric associated with the alarm. Must be compatible with targetResourceType." + }, + "modifiedAt": { + "type": "string" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "period": { + "type": "number", + "description": "The period, in seconds, over which the specified statistic is applied." + }, + "statistic": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateStatistic" + }, + "targetResourceType": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTargetResourceType" + }, + "threshold": { + "type": "number", + "description": "The threshold value to compare with the specified statistic." + }, + "treatMissingData": { + "$ref": "#/types/aws-native:medialive:CloudWatchAlarmTemplateTreatMissingData" + } + } + } + }, + "aws-native:medialive:getCloudWatchAlarmTemplateGroup": { + "description": "Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type", + "inputs": { + "properties": { + "identifier": { + "type": "string" + } + }, + "required": [ + "identifier" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "A cloudwatch alarm template group's ARN (Amazon Resource Name)" + }, + "createdAt": { + "type": "string", + "description": "The date and time of resource creation." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "id": { + "type": "string", + "description": "A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "identifier": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "description": "The date and time of latest resource modification." + } + } + } + }, + "aws-native:medialive:getCluster": { + "description": "Definition of AWS::MediaLive::Cluster Resource Type", + "inputs": { + "properties": { + "id": { + "type": "string", + "description": "The unique ID of the Cluster." + } + }, + "required": [ + "id" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the Cluster." + }, + "channelIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The MediaLive Channels that are currently running on Nodes in this Cluster." + }, + "id": { + "type": "string", + "description": "The unique ID of the Cluster." + }, + "name": { + "type": "string", + "description": "The user-specified name of the Cluster to be created." + }, + "networkSettings": { + "$ref": "#/types/aws-native:medialive:ClusterNetworkSettings" + }, + "state": { + "$ref": "#/types/aws-native:medialive:ClusterState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + } + } + }, + "aws-native:medialive:getEventBridgeRuleTemplate": { + "description": "Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type", + "inputs": { + "properties": { + "identifier": { + "type": "string", + "description": "Placeholder documentation for __string" + } + }, + "required": [ + "identifier" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "An eventbridge rule template's ARN (Amazon Resource Name)" + }, + "createdAt": { + "type": "string", + "description": "Placeholder documentation for __timestampIso8601" + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "eventTargets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateTarget" + }, + "description": "Placeholder documentation for __listOfEventBridgeRuleTemplateTarget" + }, + "eventType": { + "$ref": "#/types/aws-native:medialive:EventBridgeRuleTemplateEventType" + }, + "groupId": { + "type": "string", + "description": "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "id": { + "type": "string", + "description": "An eventbridge rule template's id. AWS provided templates have ids that start with `aws-`" + }, + "identifier": { + "type": "string", + "description": "Placeholder documentation for __string" + }, + "modifiedAt": { + "type": "string", + "description": "Placeholder documentation for __timestampIso8601" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + } + } + } + }, + "aws-native:medialive:getEventBridgeRuleTemplateGroup": { + "description": "Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type", + "inputs": { + "properties": { + "identifier": { + "type": "string" + } + }, + "required": [ + "identifier" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "An eventbridge rule template group's ARN (Amazon Resource Name)" + }, + "createdAt": { + "type": "string", + "description": "The date and time of resource creation." + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "id": { + "type": "string", + "description": "An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-`" + }, + "identifier": { + "type": "string" + }, + "modifiedAt": { + "type": "string", + "description": "The date and time of latest resource modification." + } + } + } + }, "aws-native:medialive:getMultiplex": { "description": "Resource schema for AWS::MediaLive::Multiplex", "inputs": { @@ -284849,6 +287601,210 @@ } } }, + "aws-native:medialive:getNetwork": { + "description": "Resource schema for AWS::MediaLive::Network.", + "inputs": { + "properties": { + "id": { + "type": "string", + "description": "The unique ID of the Network." + } + }, + "required": [ + "id" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the Network." + }, + "associatedClusterIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string", + "description": "The unique ID of the Network." + }, + "ipPools": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkIpPool" + }, + "description": "The list of IP address cidr pools for the network" + }, + "name": { + "type": "string", + "description": "The user-specified name of the Network to be created." + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:medialive:NetworkRoute" + }, + "description": "The routes for the network" + }, + "state": { + "$ref": "#/types/aws-native:medialive:NetworkState", + "description": "The current state of the Network." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + } + } + } + }, + "aws-native:medialive:getSdiSource": { + "description": "Definition of AWS::MediaLive::SdiSource Resource Type", + "inputs": { + "properties": { + "id": { + "type": "string", + "description": "The unique identifier of the SdiSource." + } + }, + "required": [ + "id" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The unique arn of the SdiSource." + }, + "id": { + "type": "string", + "description": "The unique identifier of the SdiSource." + }, + "inputs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of inputs currently using this SDI source." + }, + "mode": { + "$ref": "#/types/aws-native:medialive:SdiSourceMode" + }, + "name": { + "type": "string", + "description": "The name of the SdiSource." + }, + "state": { + "$ref": "#/types/aws-native:medialive:SdiSourceState" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of key-value pairs." + }, + "type": { + "$ref": "#/types/aws-native:medialive:SdiSourceType" + } + } + } + }, + "aws-native:medialive:getSignalMap": { + "description": "Definition of AWS::MediaLive::SignalMap Resource Type", + "inputs": { + "properties": { + "identifier": { + "type": "string" + } + }, + "required": [ + "identifier" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "A signal map's ARN (Amazon Resource Name)" + }, + "cloudWatchAlarmTemplateGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A resource's optional description." + }, + "discoveryEntryPointArn": { + "type": "string", + "description": "A top-level supported AWS resource ARN to discovery a signal map from." + }, + "errorMessage": { + "type": "string", + "description": "Error message associated with a failed creation or failed update attempt of a signal map." + }, + "eventBridgeRuleTemplateGroupIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "failedMediaResourceMap": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResource" + } + }, + "id": { + "type": "string", + "description": "A signal map's id." + }, + "identifier": { + "type": "string" + }, + "lastDiscoveredAt": { + "type": "string" + }, + "lastSuccessfulMonitorDeployment": { + "$ref": "#/types/aws-native:medialive:SignalMapSuccessfulMonitorDeployment" + }, + "mediaResourceMap": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:medialive:SignalMapMediaResource" + } + }, + "modifiedAt": { + "type": "string" + }, + "monitorChangesPendingDeployment": { + "type": "boolean", + "description": "If true, there are pending monitor changes for this signal map that can be deployed." + }, + "monitorDeployment": { + "$ref": "#/types/aws-native:medialive:SignalMapMonitorDeployment" + }, + "name": { + "type": "string", + "description": "A resource's name. Names must be unique within the scope of a resource type in a specific region." + }, + "status": { + "$ref": "#/types/aws-native:medialive:SignalMapStatus" + } + } + } + }, "aws-native:mediapackage:getAsset": { "description": "Resource schema for AWS::MediaPackage::Asset", "inputs": { @@ -288997,6 +291953,67 @@ } } }, + "aws-native:pcaconnectorscep:getChallenge": { + "description": "Represents a SCEP Challenge that is used for certificate enrollment", + "inputs": { + "properties": { + "challengeArn": { + "type": "string" + } + }, + "required": [ + "challengeArn" + ] + }, + "outputs": { + "properties": { + "challengeArn": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "aws-native:pcaconnectorscep:getConnector": { + "description": "Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP)", + "inputs": { + "properties": { + "connectorArn": { + "type": "string" + } + }, + "required": [ + "connectorArn" + ] + }, + "outputs": { + "properties": { + "connectorArn": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "openIdConfiguration": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorOpenIdConfiguration" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorType" + } + } + } + }, "aws-native:personalize:getDataset": { "description": "Resource schema for AWS::Personalize::Dataset.", "inputs": { @@ -289399,7 +292416,7 @@ }, "roleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics." + "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role." }, "status": { "$ref": "#/types/aws-native:qbusiness:ApplicationStatus", @@ -294676,6 +297693,57 @@ } } }, + "aws-native:sagemaker:getCluster": { + "description": "Resource Type definition for AWS::SageMaker::Cluster", + "inputs": { + "properties": { + "clusterArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the HyperPod Cluster." + } + }, + "required": [ + "clusterArn" + ] + }, + "outputs": { + "properties": { + "clusterArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the HyperPod Cluster." + }, + "clusterStatus": { + "$ref": "#/types/aws-native:sagemaker:ClusterStatus", + "description": "The status of the HyperPod Cluster." + }, + "creationTime": { + "type": "string", + "description": "The time at which the HyperPod cluster was created." + }, + "failureMessage": { + "type": "string", + "description": "The failure message of the HyperPod Cluster." + }, + "instanceGroups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:ClusterInstanceGroup" + } + }, + "nodeRecovery": { + "$ref": "#/types/aws-native:sagemaker:ClusterNodeRecovery", + "description": "If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging." + } + } + } + }, "aws-native:sagemaker:getDataQualityJobDefinition": { "description": "Resource Type definition for AWS::SageMaker::DataQualityJobDefinition", "inputs": { @@ -297518,6 +300586,56 @@ } } }, + "aws-native:sns:getSubscription": { + "description": "Resource Type definition for AWS::SNS::Subscription", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "Arn of the subscription" + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "Arn of the subscription" + }, + "deliveryPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicyScope": { + "type": "string", + "description": "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." + }, + "rawMessageDelivery": { + "type": "boolean", + "description": "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." + }, + "redrivePolicy": { + "$ref": "pulumi.json#/Any", + "description": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "replayPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "subscriptionRoleArn": { + "type": "string", + "description": "This property applies only to Amazon Data Firehose delivery stream subscriptions." + } + } + } + }, "aws-native:sns:getTopic": { "description": "The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published.\n One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*.\n The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*.", "inputs": { diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index ef370047c3..495c072f93 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -2017,7 +2017,7 @@ "properties": { "accountTakeoverRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType", - "description": "The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover." + "description": "The settings for automated responses and notification templates for adaptive authentication with advanced security features." }, "clientId": { "type": "string", @@ -2025,15 +2025,15 @@ }, "compromisedCredentialsRiskConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType", - "description": "The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` ." + "description": "Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode." }, "riskExceptionConfiguration": { "$ref": "#/types/aws-native:cognito:UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType", - "description": "The configuration to override the risk decision." + "description": "Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges." }, "userPoolId": { "type": "string", - "description": "The user pool ID." + "description": "The ID of the user pool that has the risk configuration applied." } } }, @@ -6605,6 +6605,12 @@ }, "description": "The actions for the default rule. You cannot define a condition for a default rule.\n To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html)." }, + "listenerAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:elasticloadbalancingv2:ListenerAttribute" + } + }, "loadBalancerArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the load balancer." @@ -9555,6 +9561,37 @@ } } }, + "aws-native:pcaconnectorscep:Challenge": { + "cfTypeName": "AWS::PCAConnectorSCEP::Challenge", + "properties": { + "connectorArn": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "aws-native:pcaconnectorscep:Connector": { + "cfTypeName": "AWS::PCAConnectorSCEP::Connector", + "properties": { + "certificateAuthorityArn": { + "type": "string" + }, + "mobileDeviceManagement": { + "$ref": "#/types/aws-native:pcaconnectorscep:ConnectorMobileDeviceManagement" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, "aws-native:proton:EnvironmentAccountConnection": { "cfTypeName": "AWS::Proton::EnvironmentAccountConnection", "properties": { @@ -9642,7 +9679,7 @@ }, "roleArn": { "type": "string", - "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics." + "description": "The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role." }, "tags": { "type": "array", @@ -11812,6 +11849,55 @@ } } }, + "aws-native:sns:Subscription": { + "cfTypeName": "AWS::SNS::Subscription", + "properties": { + "deliveryPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "endpoint": { + "type": "string", + "description": "The subscription's endpoint. The endpoint value depends on the protocol that you specify. " + }, + "filterPolicy": { + "$ref": "pulumi.json#/Any", + "description": "The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "filterPolicyScope": { + "type": "string", + "description": "This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody." + }, + "protocol": { + "type": "string", + "description": "The subscription's protocol." + }, + "rawMessageDelivery": { + "type": "boolean", + "description": "When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints." + }, + "redrivePolicy": { + "$ref": "pulumi.json#/Any", + "description": "When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "region": { + "type": "string", + "description": "For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default." + }, + "replayPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes.\n\nSearch the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property." + }, + "subscriptionRoleArn": { + "type": "string", + "description": "This property applies only to Amazon Data Firehose delivery stream subscriptions." + }, + "topicArn": { + "type": "string", + "description": "The ARN of the topic to subscribe to." + } + } + }, "aws-native:sns:TopicInlinePolicy": { "cfTypeName": "AWS::SNS::TopicInlinePolicy", "properties": { diff --git a/sdk/dotnet/Amplify/App.cs b/sdk/dotnet/Amplify/App.cs index 1a3f104ddd..6b04bfd537 100644 --- a/sdk/dotnet/Amplify/App.cs +++ b/sdk/dotnet/Amplify/App.cs @@ -63,6 +63,12 @@ public partial class App : global::Pulumi.CustomResource [Output("buildSpec")] public Output BuildSpec { get; private set; } = null!; + /// + /// The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + /// + [Output("cacheConfig")] + public Output CacheConfig { get; private set; } = null!; + /// /// The custom HTTP headers for an Amplify app. /// @@ -127,6 +133,8 @@ public partial class App : global::Pulumi.CustomResource /// /// The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + /// + /// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . /// [Output("platform")] public Output Platform { get; private set; } = null!; @@ -218,6 +226,12 @@ public sealed class AppArgs : global::Pulumi.ResourceArgs [Input("buildSpec")] public Input? BuildSpec { get; set; } + /// + /// The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + /// + [Input("cacheConfig")] + public Input? CacheConfig { get; set; } + /// /// The custom HTTP headers for an Amplify app. /// @@ -288,6 +302,8 @@ public InputList EnvironmentVariables /// /// The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + /// + /// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . /// [Input("platform")] public Input? Platform { get; set; } diff --git a/sdk/dotnet/Amplify/Enums.cs b/sdk/dotnet/Amplify/Enums.cs index 01f5e20b48..a5ff32c3e4 100644 --- a/sdk/dotnet/Amplify/Enums.cs +++ b/sdk/dotnet/Amplify/Enums.cs @@ -41,8 +41,45 @@ private AppAutoBranchCreationConfigStage(string value) public override string ToString() => _value; } + /// + /// The type of cache configuration to use for an Amplify app. + /// + /// The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + /// + /// The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + /// + [EnumType] + public readonly struct AppCacheConfigType : IEquatable + { + private readonly string _value; + + private AppCacheConfigType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AppCacheConfigType AmplifyManaged { get; } = new AppCacheConfigType("AMPLIFY_MANAGED"); + public static AppCacheConfigType AmplifyManagedNoCookies { get; } = new AppCacheConfigType("AMPLIFY_MANAGED_NO_COOKIES"); + + public static bool operator ==(AppCacheConfigType left, AppCacheConfigType right) => left.Equals(right); + public static bool operator !=(AppCacheConfigType left, AppCacheConfigType right) => !left.Equals(right); + + public static explicit operator string(AppCacheConfigType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AppCacheConfigType other && Equals(other); + public bool Equals(AppCacheConfigType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + /// + /// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . /// [EnumType] public readonly struct AppPlatform : IEquatable diff --git a/sdk/dotnet/Amplify/GetApp.cs b/sdk/dotnet/Amplify/GetApp.cs index f4a66f27b2..e5a43c7dbb 100644 --- a/sdk/dotnet/Amplify/GetApp.cs +++ b/sdk/dotnet/Amplify/GetApp.cs @@ -74,6 +74,10 @@ public sealed class GetAppResult /// public readonly string? BuildSpec; /// + /// The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + /// + public readonly Outputs.AppCacheConfig? CacheConfig; + /// /// The custom HTTP headers for an Amplify app. /// public readonly string? CustomHeaders; @@ -109,6 +113,8 @@ public sealed class GetAppResult public readonly string? Name; /// /// The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + /// + /// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . /// public readonly Pulumi.AwsNative.Amplify.AppPlatform? Platform; /// @@ -130,6 +136,8 @@ private GetAppResult( string? buildSpec, + Outputs.AppCacheConfig? cacheConfig, + string? customHeaders, ImmutableArray customRules, @@ -156,6 +164,7 @@ private GetAppResult( AppName = appName; Arn = arn; BuildSpec = buildSpec; + CacheConfig = cacheConfig; CustomHeaders = customHeaders; CustomRules = customRules; DefaultDomain = defaultDomain; diff --git a/sdk/dotnet/Amplify/Inputs/AppCacheConfigArgs.cs b/sdk/dotnet/Amplify/Inputs/AppCacheConfigArgs.cs new file mode 100644 index 0000000000..d3b26cbae1 --- /dev/null +++ b/sdk/dotnet/Amplify/Inputs/AppCacheConfigArgs.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Amplify.Inputs +{ + + public sealed class AppCacheConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of cache configuration to use for an Amplify app. + /// + /// The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + /// + /// The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + /// + [Input("type")] + public Input? Type { get; set; } + + public AppCacheConfigArgs() + { + } + public static new AppCacheConfigArgs Empty => new AppCacheConfigArgs(); + } +} diff --git a/sdk/dotnet/Amplify/Outputs/AppCacheConfig.cs b/sdk/dotnet/Amplify/Outputs/AppCacheConfig.cs new file mode 100644 index 0000000000..c2a3aaa7ca --- /dev/null +++ b/sdk/dotnet/Amplify/Outputs/AppCacheConfig.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Amplify.Outputs +{ + + [OutputType] + public sealed class AppCacheConfig + { + /// + /// The type of cache configuration to use for an Amplify app. + /// + /// The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + /// + /// The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + /// + public readonly Pulumi.AwsNative.Amplify.AppCacheConfigType? Type; + + [OutputConstructor] + private AppCacheConfig(Pulumi.AwsNative.Amplify.AppCacheConfigType? type) + { + Type = type; + } + } +} diff --git a/sdk/dotnet/ApplicationSignals/Enums.cs b/sdk/dotnet/ApplicationSignals/Enums.cs index 4aac0d739a..014ea80690 100644 --- a/sdk/dotnet/ApplicationSignals/Enums.cs +++ b/sdk/dotnet/ApplicationSignals/Enums.cs @@ -38,6 +38,101 @@ private ServiceLevelObjectiveDurationUnit(string value) public override string ToString() => _value; } + /// + /// Displays whether this is a period-based SLO or a request-based SLO. + /// + [EnumType] + public readonly struct ServiceLevelObjectiveEvaluationType : IEquatable + { + private readonly string _value; + + private ServiceLevelObjectiveEvaluationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServiceLevelObjectiveEvaluationType PeriodBased { get; } = new ServiceLevelObjectiveEvaluationType("PeriodBased"); + public static ServiceLevelObjectiveEvaluationType RequestBased { get; } = new ServiceLevelObjectiveEvaluationType("RequestBased"); + + public static bool operator ==(ServiceLevelObjectiveEvaluationType left, ServiceLevelObjectiveEvaluationType right) => left.Equals(right); + public static bool operator !=(ServiceLevelObjectiveEvaluationType left, ServiceLevelObjectiveEvaluationType right) => !left.Equals(right); + + public static explicit operator string(ServiceLevelObjectiveEvaluationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServiceLevelObjectiveEvaluationType other && Equals(other); + public bool Equals(ServiceLevelObjectiveEvaluationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The arithmetic operation used when comparing the specified metric to the threshold. + /// + [EnumType] + public readonly struct ServiceLevelObjectiveRequestBasedSliComparisonOperator : IEquatable + { + private readonly string _value; + + private ServiceLevelObjectiveRequestBasedSliComparisonOperator(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServiceLevelObjectiveRequestBasedSliComparisonOperator GreaterThanOrEqualTo { get; } = new ServiceLevelObjectiveRequestBasedSliComparisonOperator("GreaterThanOrEqualTo"); + public static ServiceLevelObjectiveRequestBasedSliComparisonOperator LessThanOrEqualTo { get; } = new ServiceLevelObjectiveRequestBasedSliComparisonOperator("LessThanOrEqualTo"); + public static ServiceLevelObjectiveRequestBasedSliComparisonOperator LessThan { get; } = new ServiceLevelObjectiveRequestBasedSliComparisonOperator("LessThan"); + public static ServiceLevelObjectiveRequestBasedSliComparisonOperator GreaterThan { get; } = new ServiceLevelObjectiveRequestBasedSliComparisonOperator("GreaterThan"); + + public static bool operator ==(ServiceLevelObjectiveRequestBasedSliComparisonOperator left, ServiceLevelObjectiveRequestBasedSliComparisonOperator right) => left.Equals(right); + public static bool operator !=(ServiceLevelObjectiveRequestBasedSliComparisonOperator left, ServiceLevelObjectiveRequestBasedSliComparisonOperator right) => !left.Equals(right); + + public static explicit operator string(ServiceLevelObjectiveRequestBasedSliComparisonOperator value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServiceLevelObjectiveRequestBasedSliComparisonOperator other && Equals(other); + public bool Equals(ServiceLevelObjectiveRequestBasedSliComparisonOperator other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + /// + [EnumType] + public readonly struct ServiceLevelObjectiveRequestBasedSliMetricMetricType : IEquatable + { + private readonly string _value; + + private ServiceLevelObjectiveRequestBasedSliMetricMetricType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ServiceLevelObjectiveRequestBasedSliMetricMetricType Latency { get; } = new ServiceLevelObjectiveRequestBasedSliMetricMetricType("LATENCY"); + public static ServiceLevelObjectiveRequestBasedSliMetricMetricType Availability { get; } = new ServiceLevelObjectiveRequestBasedSliMetricMetricType("AVAILABILITY"); + + public static bool operator ==(ServiceLevelObjectiveRequestBasedSliMetricMetricType left, ServiceLevelObjectiveRequestBasedSliMetricMetricType right) => left.Equals(right); + public static bool operator !=(ServiceLevelObjectiveRequestBasedSliMetricMetricType left, ServiceLevelObjectiveRequestBasedSliMetricMetricType right) => !left.Equals(right); + + public static explicit operator string(ServiceLevelObjectiveRequestBasedSliMetricMetricType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ServiceLevelObjectiveRequestBasedSliMetricMetricType other && Equals(other); + public bool Equals(ServiceLevelObjectiveRequestBasedSliMetricMetricType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The arithmetic operation used when comparing the specified metric to the threshold. /// diff --git a/sdk/dotnet/ApplicationSignals/GetServiceLevelObjective.cs b/sdk/dotnet/ApplicationSignals/GetServiceLevelObjective.cs index 9a4e023d77..450730e5e0 100644 --- a/sdk/dotnet/ApplicationSignals/GetServiceLevelObjective.cs +++ b/sdk/dotnet/ApplicationSignals/GetServiceLevelObjective.cs @@ -70,6 +70,10 @@ public sealed class GetServiceLevelObjectiveResult /// public readonly string? Description; /// + /// Displays whether this is a period-based SLO or a request-based SLO. + /// + public readonly Pulumi.AwsNative.ApplicationSignals.ServiceLevelObjectiveEvaluationType? EvaluationType; + /// /// This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. /// public readonly Outputs.ServiceLevelObjectiveGoal? Goal; @@ -78,7 +82,11 @@ public sealed class GetServiceLevelObjectiveResult /// public readonly int? LastUpdatedTime; /// - /// A structure containing information about the performance metric that this SLO monitors. + /// A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + /// + public readonly Outputs.ServiceLevelObjectiveRequestBasedSli? RequestBasedSli; + /// + /// A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. /// public readonly Outputs.ServiceLevelObjectiveSli? Sli; /// @@ -96,10 +104,14 @@ private GetServiceLevelObjectiveResult( string? description, + Pulumi.AwsNative.ApplicationSignals.ServiceLevelObjectiveEvaluationType? evaluationType, + Outputs.ServiceLevelObjectiveGoal? goal, int? lastUpdatedTime, + Outputs.ServiceLevelObjectiveRequestBasedSli? requestBasedSli, + Outputs.ServiceLevelObjectiveSli? sli, ImmutableArray tags) @@ -107,8 +119,10 @@ private GetServiceLevelObjectiveResult( Arn = arn; CreatedTime = createdTime; Description = description; + EvaluationType = evaluationType; Goal = goal; LastUpdatedTime = lastUpdatedTime; + RequestBasedSli = requestBasedSli; Sli = sli; Tags = tags; } diff --git a/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveMonitoredRequestCountMetricArgs.cs b/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveMonitoredRequestCountMetricArgs.cs new file mode 100644 index 0000000000..9df2699cf4 --- /dev/null +++ b/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveMonitoredRequestCountMetricArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ApplicationSignals.Inputs +{ + + /// + /// This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + /// + public sealed class ServiceLevelObjectiveMonitoredRequestCountMetricArgs : global::Pulumi.ResourceArgs + { + [Input("badCountMetric")] + private InputList? _badCountMetric; + + /// + /// If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + /// + public InputList BadCountMetric + { + get => _badCountMetric ?? (_badCountMetric = new InputList()); + set => _badCountMetric = value; + } + + [Input("goodCountMetric")] + private InputList? _goodCountMetric; + + /// + /// If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + /// + public InputList GoodCountMetric + { + get => _goodCountMetric ?? (_goodCountMetric = new InputList()); + set => _goodCountMetric = value; + } + + public ServiceLevelObjectiveMonitoredRequestCountMetricArgs() + { + } + public static new ServiceLevelObjectiveMonitoredRequestCountMetricArgs Empty => new ServiceLevelObjectiveMonitoredRequestCountMetricArgs(); + } +} diff --git a/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliArgs.cs b/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliArgs.cs new file mode 100644 index 0000000000..f20754b4c8 --- /dev/null +++ b/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ApplicationSignals.Inputs +{ + + /// + /// This structure contains information about the performance metric that a request-based SLO monitors. + /// + public sealed class ServiceLevelObjectiveRequestBasedSliArgs : global::Pulumi.ResourceArgs + { + /// + /// The arithmetic operation used when comparing the specified metric to the threshold. + /// + [Input("comparisonOperator")] + public Input? ComparisonOperator { get; set; } + + /// + /// The value that the SLI metric is compared to. + /// + [Input("metricThreshold")] + public Input? MetricThreshold { get; set; } + + /// + /// A structure that contains information about the metric that the SLO monitors. + /// + [Input("requestBasedSliMetric", required: true)] + public Input RequestBasedSliMetric { get; set; } = null!; + + public ServiceLevelObjectiveRequestBasedSliArgs() + { + } + public static new ServiceLevelObjectiveRequestBasedSliArgs Empty => new ServiceLevelObjectiveRequestBasedSliArgs(); + } +} diff --git a/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliMetricArgs.cs b/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliMetricArgs.cs new file mode 100644 index 0000000000..728ebcbf6f --- /dev/null +++ b/sdk/dotnet/ApplicationSignals/Inputs/ServiceLevelObjectiveRequestBasedSliMetricArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ApplicationSignals.Inputs +{ + + /// + /// This structure contains the information about the metric that is used for a request-based SLO. + /// + public sealed class ServiceLevelObjectiveRequestBasedSliMetricArgs : global::Pulumi.ResourceArgs + { + [Input("keyAttributes")] + private InputMap? _keyAttributes; + + /// + /// This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + /// + /// - `Type` designates the type of object that this SLO is related to. + /// - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + /// - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + /// - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + /// - `Environment` specifies the location where this object is hosted, or what it belongs to. + /// + public InputMap KeyAttributes + { + get => _keyAttributes ?? (_keyAttributes = new InputMap()); + set => _keyAttributes = value; + } + + /// + /// If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + /// + [Input("metricType")] + public Input? MetricType { get; set; } + + /// + /// Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + /// + [Input("monitoredRequestCountMetric")] + public Input? MonitoredRequestCountMetric { get; set; } + + /// + /// If the SLO monitors a specific operation of the service, this field displays that operation name. + /// + [Input("operationName")] + public Input? OperationName { get; set; } + + [Input("totalRequestCountMetric")] + private InputList? _totalRequestCountMetric; + + /// + /// This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + /// + public InputList TotalRequestCountMetric + { + get => _totalRequestCountMetric ?? (_totalRequestCountMetric = new InputList()); + set => _totalRequestCountMetric = value; + } + + public ServiceLevelObjectiveRequestBasedSliMetricArgs() + { + } + public static new ServiceLevelObjectiveRequestBasedSliMetricArgs Empty => new ServiceLevelObjectiveRequestBasedSliMetricArgs(); + } +} diff --git a/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveMonitoredRequestCountMetric.cs b/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveMonitoredRequestCountMetric.cs new file mode 100644 index 0000000000..bfde3d332d --- /dev/null +++ b/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveMonitoredRequestCountMetric.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ApplicationSignals.Outputs +{ + + /// + /// This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + /// + [OutputType] + public sealed class ServiceLevelObjectiveMonitoredRequestCountMetric + { + /// + /// If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + /// + public readonly ImmutableArray BadCountMetric; + /// + /// If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + /// + public readonly ImmutableArray GoodCountMetric; + + [OutputConstructor] + private ServiceLevelObjectiveMonitoredRequestCountMetric( + ImmutableArray badCountMetric, + + ImmutableArray goodCountMetric) + { + BadCountMetric = badCountMetric; + GoodCountMetric = goodCountMetric; + } + } +} diff --git a/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSli.cs b/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSli.cs new file mode 100644 index 0000000000..6b5beeefc6 --- /dev/null +++ b/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSli.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ApplicationSignals.Outputs +{ + + /// + /// This structure contains information about the performance metric that a request-based SLO monitors. + /// + [OutputType] + public sealed class ServiceLevelObjectiveRequestBasedSli + { + /// + /// The arithmetic operation used when comparing the specified metric to the threshold. + /// + public readonly Pulumi.AwsNative.ApplicationSignals.ServiceLevelObjectiveRequestBasedSliComparisonOperator? ComparisonOperator; + /// + /// The value that the SLI metric is compared to. + /// + public readonly double? MetricThreshold; + /// + /// A structure that contains information about the metric that the SLO monitors. + /// + public readonly Outputs.ServiceLevelObjectiveRequestBasedSliMetric RequestBasedSliMetric; + + [OutputConstructor] + private ServiceLevelObjectiveRequestBasedSli( + Pulumi.AwsNative.ApplicationSignals.ServiceLevelObjectiveRequestBasedSliComparisonOperator? comparisonOperator, + + double? metricThreshold, + + Outputs.ServiceLevelObjectiveRequestBasedSliMetric requestBasedSliMetric) + { + ComparisonOperator = comparisonOperator; + MetricThreshold = metricThreshold; + RequestBasedSliMetric = requestBasedSliMetric; + } + } +} diff --git a/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSliMetric.cs b/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSliMetric.cs new file mode 100644 index 0000000000..63c3ee7d43 --- /dev/null +++ b/sdk/dotnet/ApplicationSignals/Outputs/ServiceLevelObjectiveRequestBasedSliMetric.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ApplicationSignals.Outputs +{ + + /// + /// This structure contains the information about the metric that is used for a request-based SLO. + /// + [OutputType] + public sealed class ServiceLevelObjectiveRequestBasedSliMetric + { + /// + /// This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + /// + /// - `Type` designates the type of object that this SLO is related to. + /// - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + /// - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + /// - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + /// - `Environment` specifies the location where this object is hosted, or what it belongs to. + /// + public readonly ImmutableDictionary? KeyAttributes; + /// + /// If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + /// + public readonly Pulumi.AwsNative.ApplicationSignals.ServiceLevelObjectiveRequestBasedSliMetricMetricType? MetricType; + /// + /// Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + /// + public readonly Outputs.ServiceLevelObjectiveMonitoredRequestCountMetric? MonitoredRequestCountMetric; + /// + /// If the SLO monitors a specific operation of the service, this field displays that operation name. + /// + public readonly string? OperationName; + /// + /// This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + /// + public readonly ImmutableArray TotalRequestCountMetric; + + [OutputConstructor] + private ServiceLevelObjectiveRequestBasedSliMetric( + ImmutableDictionary? keyAttributes, + + Pulumi.AwsNative.ApplicationSignals.ServiceLevelObjectiveRequestBasedSliMetricMetricType? metricType, + + Outputs.ServiceLevelObjectiveMonitoredRequestCountMetric? monitoredRequestCountMetric, + + string? operationName, + + ImmutableArray totalRequestCountMetric) + { + KeyAttributes = keyAttributes; + MetricType = metricType; + MonitoredRequestCountMetric = monitoredRequestCountMetric; + OperationName = operationName; + TotalRequestCountMetric = totalRequestCountMetric; + } + } +} diff --git a/sdk/dotnet/ApplicationSignals/ServiceLevelObjective.cs b/sdk/dotnet/ApplicationSignals/ServiceLevelObjective.cs index 4eca214926..69d4ae766d 100644 --- a/sdk/dotnet/ApplicationSignals/ServiceLevelObjective.cs +++ b/sdk/dotnet/ApplicationSignals/ServiceLevelObjective.cs @@ -33,6 +33,12 @@ public partial class ServiceLevelObjective : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// Displays whether this is a period-based SLO or a request-based SLO. + /// + [Output("evaluationType")] + public Output EvaluationType { get; private set; } = null!; + /// /// This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. /// @@ -52,10 +58,16 @@ public partial class ServiceLevelObjective : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// A structure containing information about the performance metric that this SLO monitors. + /// A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + /// + [Output("requestBasedSli")] + public Output RequestBasedSli { get; private set; } = null!; + + /// + /// A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. /// [Output("sli")] - public Output Sli { get; private set; } = null!; + public Output Sli { get; private set; } = null!; /// /// A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. @@ -73,7 +85,7 @@ public partial class ServiceLevelObjective : global::Pulumi.CustomResource /// 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 ServiceLevelObjective(string name, ServiceLevelObjectiveArgs args, CustomResourceOptions? options = null) + public ServiceLevelObjective(string name, ServiceLevelObjectiveArgs? args = null, CustomResourceOptions? options = null) : base("aws-native:applicationsignals:ServiceLevelObjective", name, args ?? new ServiceLevelObjectiveArgs(), MakeResourceOptions(options, "")) { } @@ -133,10 +145,16 @@ public sealed class ServiceLevelObjectiveArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// A structure containing information about the performance metric that this SLO monitors. + /// A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + /// + [Input("requestBasedSli")] + public Input? RequestBasedSli { get; set; } + + /// + /// A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. /// - [Input("sli", required: true)] - public Input Sli { get; set; } = null!; + [Input("sli")] + public Input? Sli { get; set; } [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/Athena/Inputs/WorkGroupAclConfigurationArgs.cs b/sdk/dotnet/Athena/Inputs/WorkGroupAclConfigurationArgs.cs index ecb6105f9c..91ab15ee23 100644 --- a/sdk/dotnet/Athena/Inputs/WorkGroupAclConfigurationArgs.cs +++ b/sdk/dotnet/Athena/Inputs/WorkGroupAclConfigurationArgs.cs @@ -16,7 +16,7 @@ namespace Pulumi.AwsNative.Athena.Inputs public sealed class WorkGroupAclConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + /// The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . /// [Input("s3AclOption", required: true)] public Input S3AclOption { get; set; } = null!; diff --git a/sdk/dotnet/Athena/Outputs/WorkGroupAclConfiguration.cs b/sdk/dotnet/Athena/Outputs/WorkGroupAclConfiguration.cs index f1192a1ba6..1ec0bc7d1a 100644 --- a/sdk/dotnet/Athena/Outputs/WorkGroupAclConfiguration.cs +++ b/sdk/dotnet/Athena/Outputs/WorkGroupAclConfiguration.cs @@ -17,7 +17,7 @@ namespace Pulumi.AwsNative.Athena.Outputs public sealed class WorkGroupAclConfiguration { /// - /// The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + /// The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . /// public readonly Pulumi.AwsNative.Athena.WorkGroupS3AclOption S3AclOption; diff --git a/sdk/dotnet/CloudFormation/GetStack.cs b/sdk/dotnet/CloudFormation/GetStack.cs index 05aaed901b..e2ebe33363 100644 --- a/sdk/dotnet/CloudFormation/GetStack.cs +++ b/sdk/dotnet/CloudFormation/GetStack.cs @@ -123,7 +123,7 @@ public sealed class GetStackResult /// public readonly string? LastUpdateTime; /// - /// The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + /// The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). /// public readonly ImmutableArray NotificationArns; /// @@ -143,7 +143,7 @@ public sealed class GetStackResult /// /// For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. /// - /// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + /// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . /// public readonly string? ParentId; /// @@ -155,7 +155,7 @@ public sealed class GetStackResult /// /// For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. /// - /// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + /// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . /// public readonly string? RootId; /// @@ -177,7 +177,7 @@ public sealed class GetStackResult /// public readonly string? StackStatusReason; /// - /// Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + /// Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. /// public readonly ImmutableArray Tags; /// diff --git a/sdk/dotnet/CloudFormation/Stack.cs b/sdk/dotnet/CloudFormation/Stack.cs index f939f71027..91cf41c866 100644 --- a/sdk/dotnet/CloudFormation/Stack.cs +++ b/sdk/dotnet/CloudFormation/Stack.cs @@ -95,7 +95,7 @@ public partial class Stack : global::Pulumi.CustomResource public Output LastUpdateTime { get; private set; } = null!; /// - /// The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + /// The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). /// [Output("notificationArns")] public Output> NotificationArns { get; private set; } = null!; @@ -121,7 +121,7 @@ public partial class Stack : global::Pulumi.CustomResource /// /// For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. /// - /// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + /// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . /// [Output("parentId")] public Output ParentId { get; private set; } = null!; @@ -137,7 +137,7 @@ public partial class Stack : global::Pulumi.CustomResource /// /// For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. /// - /// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + /// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . /// [Output("rootId")] public Output RootId { get; private set; } = null!; @@ -183,7 +183,7 @@ public partial class Stack : global::Pulumi.CustomResource public Output StackStatusReason { get; private set; } = null!; /// - /// Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + /// Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -334,7 +334,7 @@ public InputList Capabili private InputList? _notificationArns; /// - /// The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + /// The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). /// public InputList NotificationArns { @@ -400,7 +400,7 @@ public InputMap Parameters private InputList? _tags; /// - /// Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + /// Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. /// public InputList Tags { diff --git a/sdk/dotnet/CodeBuild/Enums.cs b/sdk/dotnet/CodeBuild/Enums.cs index 525398031f..17b24a54f3 100644 --- a/sdk/dotnet/CodeBuild/Enums.cs +++ b/sdk/dotnet/CodeBuild/Enums.cs @@ -8,6 +8,8 @@ namespace Pulumi.AwsNative.CodeBuild { /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -62,6 +64,8 @@ private FleetComputeType(string value) } /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/dotnet/CodeBuild/Fleet.cs b/sdk/dotnet/CodeBuild/Fleet.cs index bace1914f8..dd58d9c5a4 100644 --- a/sdk/dotnet/CodeBuild/Fleet.cs +++ b/sdk/dotnet/CodeBuild/Fleet.cs @@ -28,6 +28,8 @@ public partial class Fleet : global::Pulumi.CustomResource public Output BaseCapacity { get; private set; } = null!; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -54,6 +56,8 @@ public partial class Fleet : global::Pulumi.CustomResource public Output ComputeType { get; private set; } = null!; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -74,12 +78,16 @@ public partial class Fleet : global::Pulumi.CustomResource public Output FleetServiceRole { get; private set; } = null!; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the VPC configuration that AWS CodeBuild accesses. /// [Output("fleetVpcConfig")] public Output FleetVpcConfig { get; private set; } = null!; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The Amazon Machine Image (AMI) of the compute fleet. /// [Output("imageId")] @@ -162,6 +170,8 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? BaseCapacity { get; set; } /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -188,6 +198,8 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? ComputeType { get; set; } /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -208,12 +220,16 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? FleetServiceRole { get; set; } /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the VPC configuration that AWS CodeBuild accesses. /// [Input("fleetVpcConfig")] public Input? FleetVpcConfig { get; set; } /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The Amazon Machine Image (AMI) of the compute fleet. /// [Input("imageId")] diff --git a/sdk/dotnet/CodeBuild/GetFleet.cs b/sdk/dotnet/CodeBuild/GetFleet.cs index f9210b6e04..3e326f8157 100644 --- a/sdk/dotnet/CodeBuild/GetFleet.cs +++ b/sdk/dotnet/CodeBuild/GetFleet.cs @@ -66,6 +66,8 @@ public sealed class GetFleetResult /// public readonly int? BaseCapacity; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the compute resources the compute fleet uses. Available values include: /// /// - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -90,6 +92,8 @@ public sealed class GetFleetResult /// public readonly Pulumi.AwsNative.CodeBuild.FleetComputeType? ComputeType; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The environment type of the compute fleet. /// /// - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -106,10 +110,14 @@ public sealed class GetFleetResult /// public readonly string? FleetServiceRole; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// Information about the VPC configuration that AWS CodeBuild accesses. /// public readonly Outputs.FleetVpcConfig? FleetVpcConfig; /// + /// > Updating this field is not allowed for `MAC_ARM` . + /// /// The Amazon Machine Image (AMI) of the compute fleet. /// public readonly string? ImageId; diff --git a/sdk/dotnet/Cognito/GetUserPool.cs b/sdk/dotnet/Cognito/GetUserPool.cs index ba05e69e25..4fa937ac72 100644 --- a/sdk/dotnet/Cognito/GetUserPool.cs +++ b/sdk/dotnet/Cognito/GetUserPool.cs @@ -62,7 +62,9 @@ public sealed class GetUserPoolResult /// public readonly Outputs.UserPoolAccountRecoverySetting? AccountRecoverySetting; /// - /// The configuration for creating a new user profile. + /// The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + /// + /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// public readonly Outputs.UserPoolAdminCreateUserConfig? AdminCreateUserConfig; /// @@ -106,13 +108,7 @@ public sealed class GetUserPoolResult /// public readonly string? EmailVerificationSubject; /// - /// The Lambda trigger configuration information for the new user pool. - /// - /// > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - /// > - /// > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - /// > - /// > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + /// A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. /// public readonly Outputs.UserPoolLambdaConfig? LambdaConfig; /// @@ -124,7 +120,9 @@ public sealed class GetUserPoolResult /// public readonly string? MfaConfiguration; /// - /// The policy associated with a user pool. + /// A list of user pool policies. Contains the policy that sets password-complexity requirements. + /// + /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// public readonly Outputs.UserPoolPolicies? Policies; /// @@ -188,7 +186,9 @@ public sealed class GetUserPoolResult /// public readonly Outputs.UserPoolUsernameConfiguration? UsernameConfiguration; /// - /// The template for the verification message that the user sees when the app requests permission to access the user's information. + /// The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + /// + /// Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. /// public readonly Outputs.UserPoolVerificationMessageTemplate? VerificationMessageTemplate; diff --git a/sdk/dotnet/Cognito/GetUserPoolClient.cs b/sdk/dotnet/Cognito/GetUserPoolClient.cs index e1da9d9295..ad9e92c1fa 100644 --- a/sdk/dotnet/Cognito/GetUserPoolClient.cs +++ b/sdk/dotnet/Cognito/GetUserPoolClient.cs @@ -198,9 +198,9 @@ public sealed class GetUserPoolClientResult /// public readonly string? PreventUserExistenceErrors; /// - /// The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + /// The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. /// - /// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + /// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. /// public readonly ImmutableArray ReadAttributes; /// diff --git a/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs b/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs index cebc8f80b7..fdcc3b3778 100644 --- a/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs +++ b/sdk/dotnet/Cognito/GetUserPoolRiskConfigurationAttachment.cs @@ -34,7 +34,7 @@ public sealed class GetUserPoolRiskConfigurationAttachmentArgs : global::Pulumi. public string ClientId { get; set; } = null!; /// - /// The user pool ID. + /// The ID of the user pool that has the risk configuration applied. /// [Input("userPoolId", required: true)] public string UserPoolId { get; set; } = null!; @@ -54,7 +54,7 @@ public sealed class GetUserPoolRiskConfigurationAttachmentInvokeArgs : global::P public Input ClientId { get; set; } = null!; /// - /// The user pool ID. + /// The ID of the user pool that has the risk configuration applied. /// [Input("userPoolId", required: true)] public Input UserPoolId { get; set; } = null!; @@ -70,15 +70,15 @@ public GetUserPoolRiskConfigurationAttachmentInvokeArgs() public sealed class GetUserPoolRiskConfigurationAttachmentResult { /// - /// The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + /// The settings for automated responses and notification templates for adaptive authentication with advanced security features. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType? AccountTakeoverRiskConfiguration; /// - /// The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + /// Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType? CompromisedCredentialsRiskConfiguration; /// - /// The configuration to override the risk decision. + /// Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType? RiskExceptionConfiguration; diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs index 41f9e01f7c..e247d087dc 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolAdminCreateUserConfigArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolAdminCreateUserConfigArgs : global::Pulumi.ResourceArgs { /// - /// Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + /// The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. /// [Input("allowAdminCreateUserOnly")] public Input? AllowAdminCreateUserOnly { get; set; } @@ -27,9 +27,11 @@ public sealed class UserPoolAdminCreateUserConfigArgs : global::Pulumi.ResourceA public Input? InviteMessageTemplate { get; set; } /// - /// The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + /// This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . /// - /// > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + /// The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + /// + /// The default value for this parameter is 7. /// [Input("unusedAccountValidityDays")] public Input? UnusedAccountValidityDays { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs index 8cf1353658..fa78f62620 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolClientAnalyticsConfigurationArgs.cs @@ -19,19 +19,19 @@ public sealed class UserPoolClientAnalyticsConfigurationArgs : global::Pulumi.Re public Input? ApplicationArn { get; set; } /// - /// The application ID for an Amazon Pinpoint application. + /// Your Amazon Pinpoint project ID. /// [Input("applicationId")] public Input? ApplicationId { get; set; } /// - /// The external ID. + /// The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. /// [Input("externalId")] public Input? ExternalId { get; set; } /// - /// The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + /// The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. /// [Input("roleArn")] public Input? RoleArn { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolClientTokenValidityUnitsArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolClientTokenValidityUnitsArgs.cs index ec0858954a..944446a2d3 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolClientTokenValidityUnitsArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolClientTokenValidityUnitsArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolClientTokenValidityUnitsArgs : global::Pulumi.ResourceArgs { /// - /// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + /// A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. /// [Input("accessToken")] public Input? AccessToken { get; set; } /// - /// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + /// A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. /// [Input("idToken")] public Input? IdToken { get; set; } /// - /// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + /// A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. /// [Input("refreshToken")] public Input? RefreshToken { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs index 56f23e8d6a..d39ceb1c66 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolLambdaConfigArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs { /// - /// Creates an authentication challenge. + /// The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . /// [Input("createAuthChallenge")] public Input? CreateAuthChallenge { get; set; } @@ -25,7 +25,7 @@ public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs public Input? CustomEmailSender { get; set; } /// - /// A custom Message AWS Lambda trigger. + /// A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. /// [Input("customMessage")] public Input? CustomMessage { get; set; } @@ -37,7 +37,7 @@ public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs public Input? CustomSmsSender { get; set; } /// - /// Defines the authentication challenge. + /// The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . /// [Input("defineAuthChallenge")] public Input? DefineAuthChallenge { get; set; } @@ -49,53 +49,51 @@ public sealed class UserPoolLambdaConfigArgs : global::Pulumi.ResourceArgs public Input? KmsKeyId { get; set; } /// - /// A post-authentication AWS Lambda trigger. + /// The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. /// [Input("postAuthentication")] public Input? PostAuthentication { get; set; } /// - /// A post-confirmation AWS Lambda trigger. + /// The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. /// [Input("postConfirmation")] public Input? PostConfirmation { get; set; } /// - /// A pre-authentication AWS Lambda trigger. + /// The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. /// [Input("preAuthentication")] public Input? PreAuthentication { get; set; } /// - /// A pre-registration AWS Lambda trigger. + /// The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. /// [Input("preSignUp")] public Input? PreSignUp { get; set; } /// - /// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + /// The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. /// /// Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - /// - /// You can set `` /// [Input("preTokenGeneration")] public Input? PreTokenGeneration { get; set; } /// - /// The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + /// The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . /// [Input("preTokenGenerationConfig")] public Input? PreTokenGenerationConfig { get; set; } /// - /// The user migration Lambda config type. + /// The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. /// [Input("userMigration")] public Input? UserMigration { get; set; } /// - /// Verifies the authentication challenge response. + /// The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . /// [Input("verifyAuthChallengeResponse")] public Input? VerifyAuthChallengeResponse { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs index aaf1c404f9..a305202107 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs @@ -27,25 +27,25 @@ public sealed class UserPoolPasswordPolicyArgs : global::Pulumi.ResourceArgs public Input? PasswordHistorySize { get; set; } /// - /// In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + /// The requirement in a password policy that users must include at least one lowercase letter in their password. /// [Input("requireLowercase")] public Input? RequireLowercase { get; set; } /// - /// In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + /// The requirement in a password policy that users must include at least one number in their password. /// [Input("requireNumbers")] public Input? RequireNumbers { get; set; } /// - /// In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + /// The requirement in a password policy that users must include at least one symbol in their password. /// [Input("requireSymbols")] public Input? RequireSymbols { get; set; } /// - /// In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + /// The requirement in a password policy that users must include at least one uppercase letter in their password. /// [Input("requireUppercase")] public Input? RequireUppercase { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs index c5e5ff21f1..cda13e526a 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolPoliciesArgs : global::Pulumi.ResourceArgs { /// - /// The password policy. + /// The password policy settings for a user pool, including complexity, history, and length requirements. /// [Input("passwordPolicy")] public Input? PasswordPolicy { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolResourceServerResourceServerScopeTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolResourceServerResourceServerScopeTypeArgs.cs index 5ffa1a1ce3..4f7ba83c73 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolResourceServerResourceServerScopeTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolResourceServerResourceServerScopeTypeArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolResourceServerResourceServerScopeTypeArgs : global::Pulumi.ResourceArgs { /// - /// A description of the scope. + /// A friendly description of a custom scope. /// [Input("scopeDescription", required: true)] public Input ScopeDescription { get; set; } = null!; /// - /// The name of the scope. + /// The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . /// [Input("scopeName", required: true)] public Input ScopeName { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs.cs index 744c7112d5..dd4a979843 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs.cs @@ -13,18 +13,18 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs : global::Pulumi.ResourceArgs { /// - /// The action to take in response to the account takeover action. Valid values are as follows: + /// The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: /// - /// - `BLOCK` Choosing this action will block the request. - /// - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - /// - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - /// - `NO_ACTION` Allow the user to sign in. + /// - `BLOCK` : Block the request. + /// - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + /// - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + /// - `NO_ACTION` : Take no action. Permit sign-in. /// [Input("eventAction", required: true)] public Input EventAction { get; set; } = null!; /// - /// Flag specifying whether to send a notification. + /// Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. /// [Input("notify", required: true)] public Input Notify { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs.cs index d570ac6f86..b50fc564a5 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs : global::Pulumi.ResourceArgs { /// - /// Action to take for a high risk. + /// The action that you assign to a high-risk assessment by advanced security features. /// [Input("highAction")] public Input? HighAction { get; set; } /// - /// Action to take for a low risk. + /// The action that you assign to a low-risk assessment by advanced security features. /// [Input("lowAction")] public Input? LowAction { get; set; } /// - /// Action to take for a medium risk. + /// The action that you assign to a medium-risk assessment by advanced security features. /// [Input("mediumAction")] public Input? MediumAction { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs.cs index b9382e979c..06dbc1ef60 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs : global::Pulumi.ResourceArgs { /// - /// Account takeover risk configuration actions. + /// A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. /// [Input("actions", required: true)] public Input Actions { get; set; } = null!; /// - /// The notify configuration used to construct email notifications. + /// The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. /// [Input("notifyConfiguration")] public Input? NotifyConfiguration { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs.cs index 2d1c93b85a..52d0045879 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs : global::Pulumi.ResourceArgs { /// - /// The event action. + /// The action that Amazon Cognito takes when it detects compromised credentials. /// [Input("eventAction", required: true)] public Input EventAction { get; set; } = null!; diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs.cs index ebfbf0e797..e723959286 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs : global::Pulumi.ResourceArgs { /// - /// The compromised credentials risk configuration actions. + /// Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. /// [Input("actions", required: true)] public Input Actions { get; set; } = null!; @@ -22,7 +22,7 @@ public sealed class UserPoolRiskConfigurationAttachmentCompromisedCredentialsRis private InputList? _eventFilter; /// - /// Perform the action for these events. The default is to perform all events if no event filter is specified. + /// Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. /// public InputList EventFilter { diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs.cs index 04762089e6..200aea77b0 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs.cs @@ -13,31 +13,31 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs : global::Pulumi.ResourceArgs { /// - /// Email template used when a detected risk event is blocked. + /// The template for the email message that your user pool sends when a detected risk event is blocked. /// [Input("blockEmail")] public Input? BlockEmail { get; set; } /// - /// The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + /// The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. /// [Input("from")] public Input? From { get; set; } /// - /// The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + /// The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. /// [Input("mfaEmail")] public Input? MfaEmail { get; set; } /// - /// The email template used when a detected risk event is allowed. + /// The template for the email message that your user pool sends when no action is taken in response to a detected risk. /// [Input("noActionEmail")] public Input? NoActionEmail { get; set; } /// - /// The destination to which the receiver of an email should reply to. + /// The reply-to email address of an email template. /// [Input("replyTo")] public Input? ReplyTo { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs.cs index abc8e97801..787d0cae85 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs.cs @@ -13,19 +13,19 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs : global::Pulumi.ResourceArgs { /// - /// The email HTML body. + /// The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. /// [Input("htmlBody")] public Input? HtmlBody { get; set; } /// - /// The email subject. + /// The subject of the threat protection email notification. /// [Input("subject", required: true)] public Input Subject { get; set; } = null!; /// - /// The email text body. + /// The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. /// [Input("textBody")] public Input? TextBody { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs.cs index a5e97ba396..c162ebcbf0 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs.cs @@ -16,7 +16,7 @@ public sealed class UserPoolRiskConfigurationAttachmentRiskExceptionConfiguratio private InputList? _blockedIpRangeList; /// - /// Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + /// An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. /// public InputList BlockedIpRangeList { @@ -28,7 +28,7 @@ public InputList BlockedIpRangeList private InputList? _skippedIpRangeList; /// - /// Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + /// An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. /// public InputList SkippedIpRangeList { diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolStringAttributeConstraintsArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolStringAttributeConstraintsArgs.cs index 5a8415e22c..abc0741be4 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolStringAttributeConstraintsArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolStringAttributeConstraintsArgs.cs @@ -19,7 +19,7 @@ public sealed class UserPoolStringAttributeConstraintsArgs : global::Pulumi.Reso public Input? MaxLength { get; set; } /// - /// The minimum length. + /// The minimum length of a string attribute value. /// [Input("minLength")] public Input? MinLength { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolUsernameConfigurationArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolUsernameConfigurationArgs.cs index 356e742e8d..378487caf4 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolUsernameConfigurationArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolUsernameConfigurationArgs.cs @@ -17,8 +17,8 @@ public sealed class UserPoolUsernameConfigurationArgs : global::Pulumi.ResourceA /// /// Valid values include: /// - /// - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - /// - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + /// - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + /// - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. /// [Input("caseSensitive")] public Input? CaseSensitive { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolVerificationMessageTemplateArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolVerificationMessageTemplateArgs.cs index 04f04dfee1..2123d94689 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolVerificationMessageTemplateArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolVerificationMessageTemplateArgs.cs @@ -13,7 +13,9 @@ namespace Pulumi.AwsNative.Cognito.Inputs public sealed class UserPoolVerificationMessageTemplateArgs : global::Pulumi.ResourceArgs { /// - /// The default email option. + /// The configuration of verification emails to contain a clickable link or a verification code. + /// + /// For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . /// [Input("defaultEmailOption")] public Input? DefaultEmailOption { get; set; } diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs b/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs index 6c4628be55..0753572014 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolAdminCreateUserConfig.cs @@ -14,7 +14,7 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolAdminCreateUserConfig { /// - /// Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + /// The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. /// public readonly bool? AllowAdminCreateUserOnly; /// @@ -24,9 +24,11 @@ public sealed class UserPoolAdminCreateUserConfig /// public readonly Outputs.UserPoolInviteMessageTemplate? InviteMessageTemplate; /// - /// The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + /// This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . /// - /// > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + /// The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + /// + /// The default value for this parameter is 7. /// public readonly int? UnusedAccountValidityDays; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs b/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs index 6dd6868a38..3e650aa919 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolClientAnalyticsConfiguration.cs @@ -18,15 +18,15 @@ public sealed class UserPoolClientAnalyticsConfiguration /// public readonly string? ApplicationArn; /// - /// The application ID for an Amazon Pinpoint application. + /// Your Amazon Pinpoint project ID. /// public readonly string? ApplicationId; /// - /// The external ID. + /// The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. /// public readonly string? ExternalId; /// - /// The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + /// The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. /// public readonly string? RoleArn; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolClientTokenValidityUnits.cs b/sdk/dotnet/Cognito/Outputs/UserPoolClientTokenValidityUnits.cs index e358f30cf9..37cc295981 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolClientTokenValidityUnits.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolClientTokenValidityUnits.cs @@ -14,15 +14,15 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolClientTokenValidityUnits { /// - /// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + /// A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. /// public readonly string? AccessToken; /// - /// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + /// A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. /// public readonly string? IdToken; /// - /// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + /// A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. /// public readonly string? RefreshToken; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs b/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs index 866e77eef5..839a01d271 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolLambdaConfig.cs @@ -14,7 +14,7 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolLambdaConfig { /// - /// Creates an authentication challenge. + /// The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . /// public readonly string? CreateAuthChallenge; /// @@ -22,7 +22,7 @@ public sealed class UserPoolLambdaConfig /// public readonly Outputs.UserPoolCustomEmailSender? CustomEmailSender; /// - /// A custom Message AWS Lambda trigger. + /// A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. /// public readonly string? CustomMessage; /// @@ -30,7 +30,7 @@ public sealed class UserPoolLambdaConfig /// public readonly Outputs.UserPoolCustomSmsSender? CustomSmsSender; /// - /// Defines the authentication challenge. + /// The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . /// public readonly string? DefineAuthChallenge; /// @@ -38,39 +38,37 @@ public sealed class UserPoolLambdaConfig /// public readonly string? KmsKeyId; /// - /// A post-authentication AWS Lambda trigger. + /// The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. /// public readonly string? PostAuthentication; /// - /// A post-confirmation AWS Lambda trigger. + /// The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. /// public readonly string? PostConfirmation; /// - /// A pre-authentication AWS Lambda trigger. + /// The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. /// public readonly string? PreAuthentication; /// - /// A pre-registration AWS Lambda trigger. + /// The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. /// public readonly string? PreSignUp; /// - /// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + /// The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. /// /// Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - /// - /// You can set `` /// public readonly string? PreTokenGeneration; /// - /// The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + /// The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . /// public readonly Outputs.UserPoolPreTokenGenerationConfig? PreTokenGenerationConfig; /// - /// The user migration Lambda config type. + /// The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. /// public readonly string? UserMigration; /// - /// Verifies the authentication challenge response. + /// The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . /// public readonly string? VerifyAuthChallengeResponse; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs b/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs index d443e77b29..5942e1e99d 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs @@ -24,19 +24,19 @@ public sealed class UserPoolPasswordPolicy /// public readonly int? PasswordHistorySize; /// - /// In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + /// The requirement in a password policy that users must include at least one lowercase letter in their password. /// public readonly bool? RequireLowercase; /// - /// In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + /// The requirement in a password policy that users must include at least one number in their password. /// public readonly bool? RequireNumbers; /// - /// In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + /// The requirement in a password policy that users must include at least one symbol in their password. /// public readonly bool? RequireSymbols; /// - /// In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + /// The requirement in a password policy that users must include at least one uppercase letter in their password. /// public readonly bool? RequireUppercase; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs b/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs index 0ecdfc8c46..543acb0a49 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs @@ -14,7 +14,7 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolPolicies { /// - /// The password policy. + /// The password policy settings for a user pool, including complexity, history, and length requirements. /// public readonly Outputs.UserPoolPasswordPolicy? PasswordPolicy; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolResourceServerResourceServerScopeType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolResourceServerResourceServerScopeType.cs index e31c7e5ed8..83e94f36fa 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolResourceServerResourceServerScopeType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolResourceServerResourceServerScopeType.cs @@ -14,11 +14,11 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolResourceServerResourceServerScopeType { /// - /// A description of the scope. + /// A friendly description of a custom scope. /// public readonly string ScopeDescription; /// - /// The name of the scope. + /// The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . /// public readonly string ScopeName; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionType.cs index a035543960..d0d72f583f 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionType.cs @@ -14,16 +14,16 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { /// - /// The action to take in response to the account takeover action. Valid values are as follows: + /// The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: /// - /// - `BLOCK` Choosing this action will block the request. - /// - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - /// - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - /// - `NO_ACTION` Allow the user to sign in. + /// - `BLOCK` : Block the request. + /// - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + /// - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + /// - `NO_ACTION` : Take no action. Permit sign-in. /// public readonly string EventAction; /// - /// Flag specifying whether to send a notification. + /// Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. /// public readonly bool Notify; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.cs index b1f6317af5..09ad19b44c 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType.cs @@ -14,15 +14,15 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType { /// - /// Action to take for a high risk. + /// The action that you assign to a high-risk assessment by advanced security features. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType? HighAction; /// - /// Action to take for a low risk. + /// The action that you assign to a low-risk assessment by advanced security features. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType? LowAction; /// - /// Action to take for a medium risk. + /// The action that you assign to a medium-risk assessment by advanced security features. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType? MediumAction; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.cs index 632b7c6c01..cf2c9e0906 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType.cs @@ -14,11 +14,11 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType { /// - /// Account takeover risk configuration actions. + /// A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType Actions; /// - /// The notify configuration used to construct email notifications. + /// The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentNotifyConfigurationType? NotifyConfiguration; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.cs index 86992b056a..7f73d0d8e6 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType.cs @@ -14,7 +14,7 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType { /// - /// The event action. + /// The action that Amazon Cognito takes when it detects compromised credentials. /// public readonly string EventAction; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.cs index cfb9f5caee..b33537f9de 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType.cs @@ -14,11 +14,11 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType { /// - /// The compromised credentials risk configuration actions. + /// Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType Actions; /// - /// Perform the action for these events. The default is to perform all events if no event filter is specified. + /// Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. /// public readonly ImmutableArray EventFilter; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationType.cs index 0164119251..a8fc353d51 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyConfigurationType.cs @@ -14,23 +14,23 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentNotifyConfigurationType { /// - /// Email template used when a detected risk event is blocked. + /// The template for the email message that your user pool sends when a detected risk event is blocked. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentNotifyEmailType? BlockEmail; /// - /// The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + /// The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. /// public readonly string? From; /// - /// The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + /// The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentNotifyEmailType? MfaEmail; /// - /// The email template used when a detected risk event is allowed. + /// The template for the email message that your user pool sends when no action is taken in response to a detected risk. /// public readonly Outputs.UserPoolRiskConfigurationAttachmentNotifyEmailType? NoActionEmail; /// - /// The destination to which the receiver of an email should reply to. + /// The reply-to email address of an email template. /// public readonly string? ReplyTo; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyEmailType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyEmailType.cs index 9baa33f58a..26fc1c8948 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyEmailType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentNotifyEmailType.cs @@ -14,15 +14,15 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentNotifyEmailType { /// - /// The email HTML body. + /// The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. /// public readonly string? HtmlBody; /// - /// The email subject. + /// The subject of the threat protection email notification. /// public readonly string Subject; /// - /// The email text body. + /// The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. /// public readonly string? TextBody; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.cs b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.cs index 742b80b291..8e1955933d 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType.cs @@ -14,11 +14,11 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType { /// - /// Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + /// An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. /// public readonly ImmutableArray BlockedIpRangeList; /// - /// Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + /// An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. /// public readonly ImmutableArray SkippedIpRangeList; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolStringAttributeConstraints.cs b/sdk/dotnet/Cognito/Outputs/UserPoolStringAttributeConstraints.cs index 384010c441..ae2dc89081 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolStringAttributeConstraints.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolStringAttributeConstraints.cs @@ -18,7 +18,7 @@ public sealed class UserPoolStringAttributeConstraints /// public readonly string? MaxLength; /// - /// The minimum length. + /// The minimum length of a string attribute value. /// public readonly string? MinLength; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolUsernameConfiguration.cs b/sdk/dotnet/Cognito/Outputs/UserPoolUsernameConfiguration.cs index d1ad495c8c..0c7a344e0a 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolUsernameConfiguration.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolUsernameConfiguration.cs @@ -18,8 +18,8 @@ public sealed class UserPoolUsernameConfiguration /// /// Valid values include: /// - /// - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - /// - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + /// - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + /// - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. /// public readonly bool? CaseSensitive; diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolVerificationMessageTemplate.cs b/sdk/dotnet/Cognito/Outputs/UserPoolVerificationMessageTemplate.cs index ded1f44549..51340028d5 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolVerificationMessageTemplate.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolVerificationMessageTemplate.cs @@ -14,7 +14,9 @@ namespace Pulumi.AwsNative.Cognito.Outputs public sealed class UserPoolVerificationMessageTemplate { /// - /// The default email option. + /// The configuration of verification emails to contain a clickable link or a verification code. + /// + /// For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . /// public readonly string? DefaultEmailOption; /// diff --git a/sdk/dotnet/Cognito/UserPool.cs b/sdk/dotnet/Cognito/UserPool.cs index da2c92daa8..f9b9c7e55f 100644 --- a/sdk/dotnet/Cognito/UserPool.cs +++ b/sdk/dotnet/Cognito/UserPool.cs @@ -22,7 +22,9 @@ public partial class UserPool : global::Pulumi.CustomResource public Output AccountRecoverySetting { get; private set; } = null!; /// - /// The configuration for creating a new user profile. + /// The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + /// + /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// [Output("adminCreateUserConfig")] public Output AdminCreateUserConfig { get; private set; } = null!; @@ -95,13 +97,7 @@ public partial class UserPool : global::Pulumi.CustomResource public Output> EnabledMfas { get; private set; } = null!; /// - /// The Lambda trigger configuration information for the new user pool. - /// - /// > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - /// > - /// > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - /// > - /// > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + /// A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. /// [Output("lambdaConfig")] public Output LambdaConfig { get; private set; } = null!; @@ -117,7 +113,9 @@ public partial class UserPool : global::Pulumi.CustomResource public Output MfaConfiguration { get; private set; } = null!; /// - /// The policy associated with a user pool. + /// A list of user pool policies. Contains the policy that sets password-complexity requirements. + /// + /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// [Output("policies")] public Output Policies { get; private set; } = null!; @@ -209,7 +207,9 @@ public partial class UserPool : global::Pulumi.CustomResource public Output UsernameConfiguration { get; private set; } = null!; /// - /// The template for the verification message that the user sees when the app requests permission to access the user's information. + /// The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + /// + /// Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. /// [Output("verificationMessageTemplate")] public Output VerificationMessageTemplate { get; private set; } = null!; @@ -266,7 +266,9 @@ public sealed class UserPoolArgs : global::Pulumi.ResourceArgs public Input? AccountRecoverySetting { get; set; } /// - /// The configuration for creating a new user profile. + /// The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + /// + /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// [Input("adminCreateUserConfig")] public Input? AdminCreateUserConfig { get; set; } @@ -351,13 +353,7 @@ public InputList EnabledMfas } /// - /// The Lambda trigger configuration information for the new user pool. - /// - /// > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - /// > - /// > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - /// > - /// > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + /// A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. /// [Input("lambdaConfig")] public Input? LambdaConfig { get; set; } @@ -373,7 +369,9 @@ public InputList EnabledMfas public Input? MfaConfiguration { get; set; } /// - /// The policy associated with a user pool. + /// A list of user pool policies. Contains the policy that sets password-complexity requirements. + /// + /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// [Input("policies")] public Input? Policies { get; set; } @@ -465,7 +463,9 @@ public InputList UsernameAttributes public Input? UsernameConfiguration { get; set; } /// - /// The template for the verification message that the user sees when the app requests permission to access the user's information. + /// The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + /// + /// Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. /// [Input("verificationMessageTemplate")] public Input? VerificationMessageTemplate { get; set; } diff --git a/sdk/dotnet/Cognito/UserPoolClient.cs b/sdk/dotnet/Cognito/UserPoolClient.cs index e24983dbc6..803b3e02d7 100644 --- a/sdk/dotnet/Cognito/UserPoolClient.cs +++ b/sdk/dotnet/Cognito/UserPoolClient.cs @@ -186,9 +186,9 @@ public partial class UserPoolClient : global::Pulumi.CustomResource public Output PreventUserExistenceErrors { get; private set; } = null!; /// - /// The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + /// The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. /// - /// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + /// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. /// [Output("readAttributes")] public Output> ReadAttributes { get; private set; } = null!; @@ -473,9 +473,9 @@ public InputList LogoutUrls private InputList? _readAttributes; /// - /// The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + /// The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. /// - /// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + /// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. /// public InputList ReadAttributes { diff --git a/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs b/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs index 3664258dee..1a881f79c7 100644 --- a/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs +++ b/sdk/dotnet/Cognito/UserPoolRiskConfigurationAttachment.cs @@ -16,7 +16,7 @@ namespace Pulumi.AwsNative.Cognito public partial class UserPoolRiskConfigurationAttachment : global::Pulumi.CustomResource { /// - /// The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + /// The settings for automated responses and notification templates for adaptive authentication with advanced security features. /// [Output("accountTakeoverRiskConfiguration")] public Output AccountTakeoverRiskConfiguration { get; private set; } = null!; @@ -28,19 +28,19 @@ public partial class UserPoolRiskConfigurationAttachment : global::Pulumi.Custom public Output ClientId { get; private set; } = null!; /// - /// The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + /// Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. /// [Output("compromisedCredentialsRiskConfiguration")] public Output CompromisedCredentialsRiskConfiguration { get; private set; } = null!; /// - /// The configuration to override the risk decision. + /// Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. /// [Output("riskExceptionConfiguration")] public Output RiskExceptionConfiguration { get; private set; } = null!; /// - /// The user pool ID. + /// The ID of the user pool that has the risk configuration applied. /// [Output("userPoolId")] public Output UserPoolId { get; private set; } = null!; @@ -96,7 +96,7 @@ public static UserPoolRiskConfigurationAttachment Get(string name, Input public sealed class UserPoolRiskConfigurationAttachmentArgs : global::Pulumi.ResourceArgs { /// - /// The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + /// The settings for automated responses and notification templates for adaptive authentication with advanced security features. /// [Input("accountTakeoverRiskConfiguration")] public Input? AccountTakeoverRiskConfiguration { get; set; } @@ -108,19 +108,19 @@ public sealed class UserPoolRiskConfigurationAttachmentArgs : global::Pulumi.Res public Input ClientId { get; set; } = null!; /// - /// The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + /// Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. /// [Input("compromisedCredentialsRiskConfiguration")] public Input? CompromisedCredentialsRiskConfiguration { get; set; } /// - /// The configuration to override the risk decision. + /// Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. /// [Input("riskExceptionConfiguration")] public Input? RiskExceptionConfiguration { get; set; } /// - /// The user pool ID. + /// The ID of the user pool that has the risk configuration applied. /// [Input("userPoolId", required: true)] public Input UserPoolId { get; set; } = null!; diff --git a/sdk/dotnet/DataBrew/GetRuleset.cs b/sdk/dotnet/DataBrew/GetRuleset.cs index 9de3685ea7..3334d4dfa2 100644 --- a/sdk/dotnet/DataBrew/GetRuleset.cs +++ b/sdk/dotnet/DataBrew/GetRuleset.cs @@ -65,24 +65,15 @@ public sealed class GetRulesetResult /// List of the data quality rules in the ruleset /// public readonly ImmutableArray Rules; - /// - /// An array of key-value pairs to apply to this resource. - /// - /// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - /// - public readonly ImmutableArray Tags; [OutputConstructor] private GetRulesetResult( string? description, - ImmutableArray rules, - - ImmutableArray tags) + ImmutableArray rules) { Description = description; Rules = rules; - Tags = tags; } } } diff --git a/sdk/dotnet/DataBrew/Ruleset.cs b/sdk/dotnet/DataBrew/Ruleset.cs index 431553cf45..d5687f2430 100644 --- a/sdk/dotnet/DataBrew/Ruleset.cs +++ b/sdk/dotnet/DataBrew/Ruleset.cs @@ -39,7 +39,7 @@ public partial class Ruleset : global::Pulumi.CustomResource /// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . /// [Output("tags")] - public Output> Tags { get; private set; } = null!; + public Output> Tags { get; private set; } = null!; /// /// Arn of the target resource (dataset) to apply the ruleset to @@ -73,6 +73,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? ReplaceOnChanges = { "name", + "tags[*]", "targetArn", }, }; @@ -122,16 +123,16 @@ public InputList Rules } [Input("tags")] - private InputList? _tags; + private InputList? _tags; /// /// An array of key-value pairs to apply to this resource. /// /// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . /// - public InputList Tags + public InputList Tags { - get => _tags ?? (_tags = new InputList()); + get => _tags ?? (_tags = new InputList()); set => _tags = value; } diff --git a/sdk/dotnet/Ecs/Enums.cs b/sdk/dotnet/Ecs/Enums.cs index 7d39584094..3d2b2e11c0 100644 --- a/sdk/dotnet/Ecs/Enums.cs +++ b/sdk/dotnet/Ecs/Enums.cs @@ -363,6 +363,7 @@ private ServicePlacementStrategyType(string value) /// /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + /// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. /// The default is ``NONE``. /// [EnumType] diff --git a/sdk/dotnet/Ecs/GetService.cs b/sdk/dotnet/Ecs/GetService.cs index a39ac03f9c..39f6a9f822 100644 --- a/sdk/dotnet/Ecs/GetService.cs +++ b/sdk/dotnet/Ecs/GetService.cs @@ -13,16 +13,16 @@ public static class GetService { /// /// The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - /// The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - /// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + /// The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + /// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. /// public static Task InvokeAsync(GetServiceArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:ecs:getService", args ?? new GetServiceArgs(), options.WithDefaults()); /// /// The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - /// The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - /// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + /// The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + /// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. /// public static Output Invoke(GetServiceInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:ecs:getService", args ?? new GetServiceInvokeArgs(), options.WithDefaults()); @@ -130,6 +130,7 @@ public sealed class GetServiceResult public readonly string? PlatformVersion; /// /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + /// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. /// The default is ``NONE``. /// public readonly Pulumi.AwsNative.Ecs.ServicePropagateTags? PropagateTags; diff --git a/sdk/dotnet/Ecs/Inputs/ServiceAwsVpcConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceAwsVpcConfigurationArgs.cs index befe25a95d..99f07279fe 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceAwsVpcConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceAwsVpcConfigurationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + /// An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. /// public sealed class ServiceAwsVpcConfigurationArgs : global::Pulumi.ResourceArgs { @@ -25,7 +25,7 @@ public sealed class ServiceAwsVpcConfigurationArgs : global::Pulumi.ResourceArgs private InputList? _securityGroups; /// - /// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + /// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. /// All specified security groups must be from the same VPC. /// public InputList SecurityGroups @@ -38,7 +38,7 @@ public InputList SecurityGroups private InputList? _subnets; /// - /// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + /// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. /// All specified subnets must be from the same VPC. /// public InputList Subnets diff --git a/sdk/dotnet/Ecs/Inputs/ServiceConnectConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceConnectConfigurationArgs.cs index e6161e7f47..ff2f9e756f 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceConnectConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceConnectConfigurationArgs.cs @@ -23,12 +23,12 @@ public sealed class ServiceConnectConfigurationArgs : global::Pulumi.ResourceArg public Input Enabled { get; set; } = null!; /// - /// The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + /// The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. /// Understand the following when specifying a log configuration for your containers. /// + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. /// For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. /// + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. /// + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. /// + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. diff --git a/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsCertificateAuthorityArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsCertificateAuthorityArgs.cs index 293d1d0913..f1b54b0e2a 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsCertificateAuthorityArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsCertificateAuthorityArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// An object that represents the AWS Private Certificate Authority certificate. + /// The certificate root authority that secures your service. /// public sealed class ServiceConnectTlsCertificateAuthorityArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsConfigurationArgs.cs index bfdbb9e2e3..c6525a6044 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceConnectTlsConfigurationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// An object that represents the configuration for Service Connect TLS. + /// The key that encrypts and decrypts your resources for Service Connect TLS. /// public sealed class ServiceConnectTlsConfigurationArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs index 562b27eacb..968503b8e1 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceDeploymentConfigurationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. /// public sealed class ServiceDeploymentConfigurationArgs : global::Pulumi.ResourceArgs { @@ -30,7 +30,9 @@ public sealed class ServiceDeploymentConfigurationArgs : global::Pulumi.Resource /// /// If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + /// You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + /// If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. /// [Input("maximumPercent")] public Input? MaximumPercent { get; set; } @@ -46,7 +48,11 @@ public sealed class ServiceDeploymentConfigurationArgs : global::Pulumi.Resource /// + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. /// + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. /// - /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + /// The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + /// The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + /// You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. /// [Input("minimumHealthyPercent")] public Input? MinimumHealthyPercent { get; set; } diff --git a/sdk/dotnet/Ecs/Inputs/ServiceLogConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceLogConfigurationArgs.cs index de8349d5ee..eb9174167e 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceLogConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceLogConfigurationArgs.cs @@ -11,12 +11,12 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + /// The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. /// Understand the following when specifying a log configuration for your containers. /// + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. /// For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. /// + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. /// + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. /// + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -26,9 +26,9 @@ public sealed class ServiceLogConfigurationArgs : global::Pulumi.ResourceArgs /// /// The log driver to use for the container. /// For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - /// For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - /// For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + /// For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + /// For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). /// If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. /// [Input("logDriver")] diff --git a/sdk/dotnet/Ecs/Inputs/ServiceNetworkConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceNetworkConfigurationArgs.cs index 04a8f520e4..d68fc77e9a 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceNetworkConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceNetworkConfigurationArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + /// The network configuration for a task or service. /// public sealed class ServiceNetworkConfigurationArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ecs/Inputs/ServicePlacementConstraintArgs.cs b/sdk/dotnet/Ecs/Inputs/ServicePlacementConstraintArgs.cs index ebd2fd0362..cd019a09c9 100644 --- a/sdk/dotnet/Ecs/Inputs/ServicePlacementConstraintArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServicePlacementConstraintArgs.cs @@ -11,7 +11,8 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + /// An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + /// If you're using the Fargate launch type, task placement constraints aren't supported. /// public sealed class ServicePlacementConstraintArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ecs/Inputs/ServicePlacementStrategyArgs.cs b/sdk/dotnet/Ecs/Inputs/ServicePlacementStrategyArgs.cs index e99c6b31ac..20de3081b7 100644 --- a/sdk/dotnet/Ecs/Inputs/ServicePlacementStrategyArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServicePlacementStrategyArgs.cs @@ -11,12 +11,12 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + /// The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. /// public sealed class ServicePlacementStrategyArgs : global::Pulumi.ResourceArgs { /// - /// The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + /// The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. /// [Input("field")] public Input? Field { get; set; } diff --git a/sdk/dotnet/Ecs/Inputs/ServiceRegistryArgs.cs b/sdk/dotnet/Ecs/Inputs/ServiceRegistryArgs.cs index 3c39603bbc..4d18e8e0ee 100644 --- a/sdk/dotnet/Ecs/Inputs/ServiceRegistryArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/ServiceRegistryArgs.cs @@ -11,7 +11,9 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + /// The details for the service registry. + /// Each service may be associated with one service registry. Multiple service registries for each service are not supported. + /// When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. /// public sealed class ServiceRegistryArgs : global::Pulumi.ResourceArgs { diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs index 0e642d0fae..a96e94783e 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs @@ -19,7 +19,7 @@ public sealed class TaskDefinitionContainerDefinitionArgs : global::Pulumi.Resou private InputList? _command; /// - /// The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + /// The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. /// public InputList Command { @@ -28,7 +28,7 @@ public InputList Command } /// - /// The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + /// The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. /// This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. /// You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. /// Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -77,7 +77,7 @@ public InputList DependsOn } /// - /// When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + /// When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. /// This parameter is not supported for Windows containers. /// [Input("disableNetworking")] @@ -87,7 +87,7 @@ public InputList DependsOn private InputList? _dnsSearchDomains; /// - /// A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + /// A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. /// This parameter is not supported for Windows containers. /// public InputList DnsSearchDomains @@ -100,7 +100,7 @@ public InputList DnsSearchDomains private InputList? _dnsServers; /// - /// A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + /// A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. /// This parameter is not supported for Windows containers. /// public InputList DnsServers @@ -113,7 +113,7 @@ public InputList DnsServers private InputMap? _dockerLabels; /// - /// A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + /// A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` /// public InputMap DockerLabels { @@ -128,7 +128,7 @@ public InputMap DockerLabels /// A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. /// For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. /// For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - /// This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + /// This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. /// The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. /// Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" /// @@ -143,7 +143,7 @@ public InputList DockerSecurityOptions /// /// Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - /// The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + /// The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. /// public InputList EntryPoint { @@ -155,7 +155,7 @@ public InputList EntryPoint private InputList? _environment; /// - /// The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + /// The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. /// We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. /// public InputList Environment @@ -189,7 +189,7 @@ public InputList EnvironmentFiles private InputList? _extraHosts; /// - /// A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + /// A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. /// This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. /// public InputList ExtraHosts @@ -205,20 +205,20 @@ public InputList ExtraHosts public Input? FirelensConfiguration { get; set; } /// - /// The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + /// The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. /// [Input("healthCheck")] public Input? HealthCheck { get; set; } /// - /// The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + /// The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. /// The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. /// [Input("hostname")] public Input? Hostname { get; set; } /// - /// The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + /// The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. /// + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. /// + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest`` or ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. /// + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). @@ -229,7 +229,7 @@ public InputList ExtraHosts public Input Image { get; set; } = null!; /// - /// When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + /// When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. /// [Input("interactive")] public Input? Interactive { get; set; } @@ -238,7 +238,7 @@ public InputList ExtraHosts private InputList? _links; /// - /// The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + /// The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. /// This parameter is not supported for Windows containers. /// Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. /// @@ -276,7 +276,7 @@ public InputList Links public Input? Memory { get; set; } /// - /// The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + /// The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. /// If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. /// For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. /// The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. @@ -290,7 +290,7 @@ public InputList Links /// /// The mount points for data volumes in your container. - /// This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + /// This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. /// Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. /// public InputList MountPoints @@ -300,7 +300,7 @@ public InputList MountPoints } /// - /// The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + /// The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. /// [Input("name", required: true)] public Input Name { get; set; } = null!; @@ -322,20 +322,20 @@ public InputList PortMappings } /// - /// When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + /// When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run /// This parameter is not supported for Windows containers or tasks run on FARGATElong. /// [Input("privileged")] public Input? Privileged { get; set; } /// - /// When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + /// When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. /// [Input("pseudoTerminal")] public Input? PseudoTerminal { get; set; } /// - /// When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + /// When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. /// This parameter is not supported for Windows containers. /// [Input("readonlyRootFilesystem")] @@ -360,7 +360,7 @@ public InputList ResourceRequireme } /// - /// The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + /// The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. /// [Input("restartPolicy")] public Input? RestartPolicy { get; set; } @@ -407,7 +407,7 @@ public InputList Secrets private InputList? _systemControls; /// - /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. /// public InputList SystemControls { @@ -429,7 +429,7 @@ public InputList Ulimits } /// - /// The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + /// The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. /// When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. /// You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. /// + ``user`` @@ -448,7 +448,7 @@ public InputList Ulimits private InputList? _volumesFrom; /// - /// Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + /// Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. /// public InputList VolumesFrom { @@ -457,7 +457,7 @@ public InputList VolumesFrom } /// - /// The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + /// The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. /// [Input("workingDirectory")] public Input? WorkingDirectory { get; set; } diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionDockerVolumeConfigurationArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionDockerVolumeConfigurationArgs.cs index 48bf82f339..6b5ba9bfaa 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionDockerVolumeConfigurationArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionDockerVolumeConfigurationArgs.cs @@ -23,7 +23,7 @@ public sealed class TaskDefinitionDockerVolumeConfigurationArgs : global::Pulumi public Input? Autoprovision { get; set; } /// - /// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + /// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. /// [Input("driver")] public Input? Driver { get; set; } @@ -44,7 +44,7 @@ public InputMap DriverOpts private InputMap? _labels; /// - /// Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + /// Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. /// public InputMap Labels { diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionFSxAuthorizationConfigArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionFSxAuthorizationConfigArgs.cs index b546616e46..0ae269f446 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionFSxAuthorizationConfigArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionFSxAuthorizationConfigArgs.cs @@ -10,16 +10,20 @@ namespace Pulumi.AwsNative.Ecs.Inputs { + /// + /// The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + /// For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + /// public sealed class TaskDefinitionFSxAuthorizationConfigArgs : global::Pulumi.ResourceArgs { /// - /// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + /// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. /// [Input("credentialsParameter", required: true)] public Input CredentialsParameter { get; set; } = null!; /// - /// A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + /// A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. /// [Input("domain", required: true)] public Input Domain { get; set; } = null!; diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionHealthCheckArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionHealthCheckArgs.cs index 7321ee7488..04b862118b 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionHealthCheckArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionHealthCheckArgs.cs @@ -30,7 +30,7 @@ public sealed class TaskDefinitionHealthCheckArgs : global::Pulumi.ResourceArgs /// ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` /// You don't include the double quotes and brackets when you use the AWS Management Console. /// ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - /// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + /// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command /// public InputList Command { diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionKernelCapabilitiesArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionKernelCapabilitiesArgs.cs index b7c58b3bcd..68a700fdbb 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionKernelCapabilitiesArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionKernelCapabilitiesArgs.cs @@ -19,7 +19,7 @@ public sealed class TaskDefinitionKernelCapabilitiesArgs : global::Pulumi.Resour private InputList? _add; /// - /// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + /// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. /// Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. /// Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` /// @@ -33,7 +33,7 @@ public InputList Add private InputList? _drop; /// - /// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + /// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. /// Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` /// public InputList Drop diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionLinuxParametersArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionLinuxParametersArgs.cs index 1942957083..cec78fb000 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionLinuxParametersArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionLinuxParametersArgs.cs @@ -26,7 +26,7 @@ public sealed class TaskDefinitionLinuxParametersArgs : global::Pulumi.ResourceA private InputList? _devices; /// - /// Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + /// Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. /// If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. /// public InputList Devices diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionRestartPolicyArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionRestartPolicyArgs.cs index a1596c0ece..f462527eca 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionRestartPolicyArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionRestartPolicyArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ecs.Inputs { + /// + /// You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. + /// public sealed class TaskDefinitionRestartPolicyArgs : global::Pulumi.ResourceArgs { /// @@ -31,7 +34,7 @@ public InputList IgnoredExitCodes } /// - /// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + /// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. /// [Input("restartAttemptPeriod")] public Input? RestartAttemptPeriod { get; set; } diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionSystemControlArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionSystemControlArgs.cs index e12f2b2ace..b081974449 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionSystemControlArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionSystemControlArgs.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Inputs { /// - /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. /// We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: /// + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. /// + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. diff --git a/sdk/dotnet/Ecs/Outputs/ServiceAwsVpcConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceAwsVpcConfiguration.cs index e287aa536f..b6ec1eb88d 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceAwsVpcConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceAwsVpcConfiguration.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + /// An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. /// [OutputType] public sealed class ServiceAwsVpcConfiguration @@ -21,12 +21,12 @@ public sealed class ServiceAwsVpcConfiguration /// public readonly Pulumi.AwsNative.Ecs.ServiceAwsVpcConfigurationAssignPublicIp? AssignPublicIp; /// - /// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + /// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. /// All specified security groups must be from the same VPC. /// public readonly ImmutableArray SecurityGroups; /// - /// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + /// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. /// All specified subnets must be from the same VPC. /// public readonly ImmutableArray Subnets; diff --git a/sdk/dotnet/Ecs/Outputs/ServiceConnectConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceConnectConfiguration.cs index fbb9186f6d..b27cc53ad7 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceConnectConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceConnectConfiguration.cs @@ -22,12 +22,12 @@ public sealed class ServiceConnectConfiguration /// public readonly bool Enabled; /// - /// The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + /// The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. /// Understand the following when specifying a log configuration for your containers. /// + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. /// For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. /// + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. /// + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. /// + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. diff --git a/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsCertificateAuthority.cs b/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsCertificateAuthority.cs index dafbf32fd4..d9a1732401 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsCertificateAuthority.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsCertificateAuthority.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// An object that represents the AWS Private Certificate Authority certificate. + /// The certificate root authority that secures your service. /// [OutputType] public sealed class ServiceConnectTlsCertificateAuthority diff --git a/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsConfiguration.cs index 7b96e76ca7..eb0b4a1a5b 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceConnectTlsConfiguration.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// An object that represents the configuration for Service Connect TLS. + /// The key that encrypts and decrypts your resources for Service Connect TLS. /// [OutputType] public sealed class ServiceConnectTlsConfiguration diff --git a/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs index 9a957451d5..05d47923c4 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceDeploymentConfiguration.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + /// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. /// [OutputType] public sealed class ServiceDeploymentConfiguration @@ -27,7 +27,9 @@ public sealed class ServiceDeploymentConfiguration public readonly Outputs.ServiceDeploymentCircuitBreaker? DeploymentCircuitBreaker; /// /// If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + /// You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + /// If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. /// public readonly int? MaximumPercent; /// @@ -41,7 +43,11 @@ public sealed class ServiceDeploymentConfiguration /// + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. /// + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. /// - /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + /// The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + /// The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + /// You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + /// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. /// public readonly int? MinimumHealthyPercent; diff --git a/sdk/dotnet/Ecs/Outputs/ServiceLogConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceLogConfiguration.cs index 99b9e3b1cd..e8e4876d8e 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceLogConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceLogConfiguration.cs @@ -11,12 +11,12 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + /// The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + /// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. /// Understand the following when specifying a log configuration for your containers. /// + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. /// For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. /// + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. /// + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. /// + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -27,9 +27,9 @@ public sealed class ServiceLogConfiguration /// /// The log driver to use for the container. /// For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - /// For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - /// For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + /// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + /// For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + /// For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). /// If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. /// public readonly string? LogDriver; diff --git a/sdk/dotnet/Ecs/Outputs/ServiceNetworkConfiguration.cs b/sdk/dotnet/Ecs/Outputs/ServiceNetworkConfiguration.cs index 500190ab19..a46d1c45e7 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceNetworkConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceNetworkConfiguration.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + /// The network configuration for a task or service. /// [OutputType] public sealed class ServiceNetworkConfiguration diff --git a/sdk/dotnet/Ecs/Outputs/ServicePlacementConstraint.cs b/sdk/dotnet/Ecs/Outputs/ServicePlacementConstraint.cs index b17c3f15bc..60717a40f8 100644 --- a/sdk/dotnet/Ecs/Outputs/ServicePlacementConstraint.cs +++ b/sdk/dotnet/Ecs/Outputs/ServicePlacementConstraint.cs @@ -11,7 +11,8 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + /// An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + /// If you're using the Fargate launch type, task placement constraints aren't supported. /// [OutputType] public sealed class ServicePlacementConstraint diff --git a/sdk/dotnet/Ecs/Outputs/ServicePlacementStrategy.cs b/sdk/dotnet/Ecs/Outputs/ServicePlacementStrategy.cs index 82db16977f..811ad9048b 100644 --- a/sdk/dotnet/Ecs/Outputs/ServicePlacementStrategy.cs +++ b/sdk/dotnet/Ecs/Outputs/ServicePlacementStrategy.cs @@ -11,13 +11,13 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + /// The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. /// [OutputType] public sealed class ServicePlacementStrategy { /// - /// The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + /// The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. /// public readonly string? Field; /// diff --git a/sdk/dotnet/Ecs/Outputs/ServiceRegistry.cs b/sdk/dotnet/Ecs/Outputs/ServiceRegistry.cs index 52498b5c39..87bdd9f93d 100644 --- a/sdk/dotnet/Ecs/Outputs/ServiceRegistry.cs +++ b/sdk/dotnet/Ecs/Outputs/ServiceRegistry.cs @@ -11,7 +11,9 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + /// The details for the service registry. + /// Each service may be associated with one service registry. Multiple service registries for each service are not supported. + /// When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. /// [OutputType] public sealed class ServiceRegistry diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs index 5b68ea66eb..66487526a0 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs @@ -17,11 +17,11 @@ namespace Pulumi.AwsNative.Ecs.Outputs public sealed class TaskDefinitionContainerDefinition { /// - /// The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + /// The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. /// public readonly ImmutableArray Command; /// - /// The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + /// The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. /// This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. /// You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. /// Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -52,40 +52,40 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly ImmutableArray DependsOn; /// - /// When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + /// When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. /// This parameter is not supported for Windows containers. /// public readonly bool? DisableNetworking; /// - /// A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + /// A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. /// This parameter is not supported for Windows containers. /// public readonly ImmutableArray DnsSearchDomains; /// - /// A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + /// A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. /// This parameter is not supported for Windows containers. /// public readonly ImmutableArray DnsServers; /// - /// A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + /// A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` /// public readonly ImmutableDictionary? DockerLabels; /// /// A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. /// For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. /// For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - /// This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + /// This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. /// The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. /// Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" /// public readonly ImmutableArray DockerSecurityOptions; /// /// Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - /// The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + /// The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. /// public readonly ImmutableArray EntryPoint; /// - /// The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + /// The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. /// We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. /// public readonly ImmutableArray Environment; @@ -101,7 +101,7 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly bool? Essential; /// - /// A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + /// A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. /// This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. /// public readonly ImmutableArray ExtraHosts; @@ -110,16 +110,16 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly Outputs.TaskDefinitionFirelensConfiguration? FirelensConfiguration; /// - /// The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + /// The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. /// public readonly Outputs.TaskDefinitionHealthCheck? HealthCheck; /// - /// The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + /// The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. /// The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. /// public readonly string? Hostname; /// - /// The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + /// The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. /// + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. /// + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest`` or ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. /// + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). @@ -128,11 +128,11 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly string Image; /// - /// When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + /// When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. /// public readonly bool? Interactive; /// - /// The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + /// The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. /// This parameter is not supported for Windows containers. /// Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. /// @@ -159,7 +159,7 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly int? Memory; /// - /// The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + /// The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. /// If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. /// For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. /// The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. @@ -168,12 +168,12 @@ public sealed class TaskDefinitionContainerDefinition public readonly int? MemoryReservation; /// /// The mount points for data volumes in your container. - /// This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + /// This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. /// Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. /// public readonly ImmutableArray MountPoints; /// - /// The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + /// The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. /// public readonly string Name; /// @@ -185,16 +185,16 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly ImmutableArray PortMappings; /// - /// When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + /// When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run /// This parameter is not supported for Windows containers or tasks run on FARGATElong. /// public readonly bool? Privileged; /// - /// When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + /// When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. /// public readonly bool? PseudoTerminal; /// - /// When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + /// When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. /// This parameter is not supported for Windows containers. /// public readonly bool? ReadonlyRootFilesystem; @@ -207,7 +207,7 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly ImmutableArray ResourceRequirements; /// - /// The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + /// The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. /// public readonly Outputs.TaskDefinitionRestartPolicy? RestartPolicy; /// @@ -237,7 +237,7 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly int? StopTimeout; /// - /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. /// public readonly ImmutableArray SystemControls; /// @@ -246,7 +246,7 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly ImmutableArray Ulimits; /// - /// The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + /// The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. /// When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. /// You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. /// + ``user`` @@ -260,11 +260,11 @@ public sealed class TaskDefinitionContainerDefinition /// public readonly string? User; /// - /// Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + /// Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. /// public readonly ImmutableArray VolumesFrom; /// - /// The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + /// The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. /// public readonly string? WorkingDirectory; diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionDockerVolumeConfiguration.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionDockerVolumeConfiguration.cs index 4cd05969b7..6fcbbab1ff 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionDockerVolumeConfiguration.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionDockerVolumeConfiguration.cs @@ -22,7 +22,7 @@ public sealed class TaskDefinitionDockerVolumeConfiguration /// public readonly bool? Autoprovision; /// - /// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + /// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. /// public readonly string? Driver; /// @@ -30,7 +30,7 @@ public sealed class TaskDefinitionDockerVolumeConfiguration /// public readonly ImmutableDictionary? DriverOpts; /// - /// Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + /// Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. /// public readonly ImmutableDictionary? Labels; /// diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionFSxAuthorizationConfig.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionFSxAuthorizationConfig.cs index a02b99e5ea..6b82088f15 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionFSxAuthorizationConfig.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionFSxAuthorizationConfig.cs @@ -10,15 +10,19 @@ namespace Pulumi.AwsNative.Ecs.Outputs { + /// + /// The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + /// For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + /// [OutputType] public sealed class TaskDefinitionFSxAuthorizationConfig { /// - /// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + /// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. /// public readonly string CredentialsParameter; /// - /// A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + /// A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. /// public readonly string Domain; diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionHealthCheck.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionHealthCheck.cs index a6a99c2270..a4689c5ce9 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionHealthCheck.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionHealthCheck.cs @@ -28,7 +28,7 @@ public sealed class TaskDefinitionHealthCheck /// ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` /// You don't include the double quotes and brackets when you use the AWS Management Console. /// ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - /// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + /// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command /// public readonly ImmutableArray Command; /// diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionKernelCapabilities.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionKernelCapabilities.cs index cf6e7b29e6..f768089b22 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionKernelCapabilities.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionKernelCapabilities.cs @@ -17,13 +17,13 @@ namespace Pulumi.AwsNative.Ecs.Outputs public sealed class TaskDefinitionKernelCapabilities { /// - /// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + /// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. /// Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. /// Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` /// public readonly ImmutableArray Add; /// - /// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + /// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. /// Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` /// public readonly ImmutableArray Drop; diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionLinuxParameters.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionLinuxParameters.cs index 4997b17de8..4fc1161364 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionLinuxParameters.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionLinuxParameters.cs @@ -22,7 +22,7 @@ public sealed class TaskDefinitionLinuxParameters /// public readonly Outputs.TaskDefinitionKernelCapabilities? Capabilities; /// - /// Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + /// Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. /// If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. /// public readonly ImmutableArray Devices; diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionRestartPolicy.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionRestartPolicy.cs index 44f2c546dc..92ab44dd46 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionRestartPolicy.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionRestartPolicy.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Ecs.Outputs { + /// + /// You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. + /// [OutputType] public sealed class TaskDefinitionRestartPolicy { @@ -22,7 +25,7 @@ public sealed class TaskDefinitionRestartPolicy /// public readonly ImmutableArray IgnoredExitCodes; /// - /// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + /// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. /// public readonly int? RestartAttemptPeriod; diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionSystemControl.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionSystemControl.cs index 917dd50c60..6a06abf472 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionSystemControl.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionSystemControl.cs @@ -11,7 +11,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs { /// - /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + /// A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. /// We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: /// + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. /// + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. diff --git a/sdk/dotnet/Ecs/Service.cs b/sdk/dotnet/Ecs/Service.cs index 518b1b490b..f82643ef1a 100644 --- a/sdk/dotnet/Ecs/Service.cs +++ b/sdk/dotnet/Ecs/Service.cs @@ -11,8 +11,8 @@ namespace Pulumi.AwsNative.Ecs { /// /// The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - /// The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - /// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + /// The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + /// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. /// [AwsNativeResourceType("aws-native:ecs:Service")] public partial class Service : global::Pulumi.CustomResource @@ -116,6 +116,7 @@ public partial class Service : global::Pulumi.CustomResource /// /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + /// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. /// The default is ``NONE``. /// [Output("propagateTags")] @@ -365,6 +366,7 @@ public InputList PlacementStrategies /// /// Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + /// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. /// The default is ``NONE``. /// [Input("propagateTags")] diff --git a/sdk/dotnet/ElasticLoadBalancingV2/GetListener.cs b/sdk/dotnet/ElasticLoadBalancingV2/GetListener.cs index 48a5f56ef2..64fe7c2824 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/GetListener.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/GetListener.cs @@ -75,6 +75,7 @@ public sealed class GetListenerResult /// The Amazon Resource Name (ARN) of the listener. /// public readonly string? ListenerArn; + public readonly ImmutableArray ListenerAttributes; /// /// The mutual authentication configuration information. /// @@ -104,6 +105,8 @@ private GetListenerResult( string? listenerArn, + ImmutableArray listenerAttributes, + Outputs.ListenerMutualAuthentication? mutualAuthentication, int? port, @@ -116,6 +119,7 @@ private GetListenerResult( Certificates = certificates; DefaultActions = defaultActions; ListenerArn = listenerArn; + ListenerAttributes = listenerAttributes; MutualAuthentication = mutualAuthentication; Port = port; Protocol = protocol; diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Inputs/ListenerAttributeArgs.cs b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/ListenerAttributeArgs.cs new file mode 100644 index 0000000000..b2a3b31de0 --- /dev/null +++ b/sdk/dotnet/ElasticLoadBalancingV2/Inputs/ListenerAttributeArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ElasticLoadBalancingV2.Inputs +{ + + public sealed class ListenerAttributeArgs : global::Pulumi.ResourceArgs + { + [Input("key")] + public Input? Key { get; set; } + + [Input("value")] + public Input? Value { get; set; } + + public ListenerAttributeArgs() + { + } + public static new ListenerAttributeArgs Empty => new ListenerAttributeArgs(); + } +} diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Listener.cs b/sdk/dotnet/ElasticLoadBalancingV2/Listener.cs index 67ebc007b1..fef50f6097 100644 --- a/sdk/dotnet/ElasticLoadBalancingV2/Listener.cs +++ b/sdk/dotnet/ElasticLoadBalancingV2/Listener.cs @@ -41,6 +41,9 @@ public partial class Listener : global::Pulumi.CustomResource [Output("listenerArn")] public Output ListenerArn { get; private set; } = null!; + [Output("listenerAttributes")] + public Output> ListenerAttributes { get; private set; } = null!; + /// /// The Amazon Resource Name (ARN) of the load balancer. /// @@ -160,6 +163,14 @@ public InputList DefaultActions set => _defaultActions = value; } + [Input("listenerAttributes")] + private InputList? _listenerAttributes; + public InputList ListenerAttributes + { + get => _listenerAttributes ?? (_listenerAttributes = new InputList()); + set => _listenerAttributes = value; + } + /// /// The Amazon Resource Name (ARN) of the load balancer. /// diff --git a/sdk/dotnet/ElasticLoadBalancingV2/Outputs/ListenerAttribute.cs b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/ListenerAttribute.cs new file mode 100644 index 0000000000..1d3bf5937f --- /dev/null +++ b/sdk/dotnet/ElasticLoadBalancingV2/Outputs/ListenerAttribute.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.ElasticLoadBalancingV2.Outputs +{ + + [OutputType] + public sealed class ListenerAttribute + { + public readonly string? Key; + public readonly string? Value; + + [OutputConstructor] + private ListenerAttribute( + string? key, + + string? value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/GameLift/Fleet.cs b/sdk/dotnet/GameLift/Fleet.cs index c04512f5f8..ad02cda220 100644 --- a/sdk/dotnet/GameLift/Fleet.cs +++ b/sdk/dotnet/GameLift/Fleet.cs @@ -46,7 +46,7 @@ public partial class Fleet : global::Pulumi.CustomResource public Output ComputeType { get; private set; } = null!; /// - /// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + /// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* /// /// Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . /// @@ -291,7 +291,7 @@ public sealed class FleetArgs : global::Pulumi.ResourceArgs public Input? ComputeType { get; set; } /// - /// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + /// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* /// /// Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . /// diff --git a/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs b/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs index 3d387eee9a..4ae55479cc 100644 --- a/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs +++ b/sdk/dotnet/GameLift/Inputs/FleetLocationConfigurationArgs.cs @@ -22,7 +22,7 @@ public sealed class FleetLocationConfigurationArgs : global::Pulumi.ResourceArgs public Input Location { get; set; } = null!; /// - /// Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + /// Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. /// /// *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) /// diff --git a/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs b/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs index ad3a090fe9..f77a8b9824 100644 --- a/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs +++ b/sdk/dotnet/GameLift/Outputs/FleetLocationConfiguration.cs @@ -21,7 +21,7 @@ public sealed class FleetLocationConfiguration /// public readonly string Location; /// - /// Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + /// Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. /// /// *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) /// diff --git a/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs b/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs index 33f09abf3f..1983fab708 100644 --- a/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs +++ b/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs @@ -15,13 +15,21 @@ namespace Pulumi.AwsNative.GlobalAccelerator.Inputs /// public sealed class CrossAccountAttachmentResourceArgs : global::Pulumi.ResourceArgs { + /// + /// An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + /// + /// For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + /// + [Input("cidr")] + public Input? Cidr { get; set; } + /// /// The endpoint ID for the endpoint that is specified as a AWS resource. /// /// An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. /// - [Input("endpointId", required: true)] - public Input EndpointId { get; set; } = null!; + [Input("endpointId")] + public Input? EndpointId { get; set; } /// /// The AWS Region where a shared endpoint resource is located. diff --git a/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs b/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs index f614d18242..6db00ad677 100644 --- a/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs +++ b/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs @@ -16,12 +16,18 @@ namespace Pulumi.AwsNative.GlobalAccelerator.Outputs [OutputType] public sealed class CrossAccountAttachmentResource { + /// + /// An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + /// + /// For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + /// + public readonly string? Cidr; /// /// The endpoint ID for the endpoint that is specified as a AWS resource. /// /// An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. /// - public readonly string EndpointId; + public readonly string? EndpointId; /// /// The AWS Region where a shared endpoint resource is located. /// @@ -29,10 +35,13 @@ public sealed class CrossAccountAttachmentResource [OutputConstructor] private CrossAccountAttachmentResource( - string endpointId, + string? cidr, + + string? endpointId, string? region) { + Cidr = cidr; EndpointId = endpointId; Region = region; } diff --git a/sdk/dotnet/MediaConnect/Enums.cs b/sdk/dotnet/MediaConnect/Enums.cs index f1390990c8..383bb480cd 100644 --- a/sdk/dotnet/MediaConnect/Enums.cs +++ b/sdk/dotnet/MediaConnect/Enums.cs @@ -943,6 +943,37 @@ private FlowSourceEncryptionKeyType(string value) public override string ToString() => _value; } + /// + /// The state of thumbnail monitoring. + /// + [EnumType] + public readonly struct FlowSourceMonitoringConfigThumbnailState : IEquatable + { + private readonly string _value; + + private FlowSourceMonitoringConfigThumbnailState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static FlowSourceMonitoringConfigThumbnailState Enabled { get; } = new FlowSourceMonitoringConfigThumbnailState("ENABLED"); + public static FlowSourceMonitoringConfigThumbnailState Disabled { get; } = new FlowSourceMonitoringConfigThumbnailState("DISABLED"); + + public static bool operator ==(FlowSourceMonitoringConfigThumbnailState left, FlowSourceMonitoringConfigThumbnailState right) => left.Equals(right); + public static bool operator !=(FlowSourceMonitoringConfigThumbnailState left, FlowSourceMonitoringConfigThumbnailState right) => !left.Equals(right); + + public static explicit operator string(FlowSourceMonitoringConfigThumbnailState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is FlowSourceMonitoringConfigThumbnailState other && Equals(other); + public bool Equals(FlowSourceMonitoringConfigThumbnailState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The protocol that is used by the source. /// diff --git a/sdk/dotnet/MediaConnect/Flow.cs b/sdk/dotnet/MediaConnect/Flow.cs index 869fe1cfc0..7b18a57836 100644 --- a/sdk/dotnet/MediaConnect/Flow.cs +++ b/sdk/dotnet/MediaConnect/Flow.cs @@ -40,7 +40,7 @@ public partial class Flow : global::Pulumi.CustomResource public Output FlowAvailabilityZone { get; private set; } = null!; /// - /// The maintenance settings you want to use for the flow. + /// The maintenance settings you want to use for the flow. /// [Output("maintenance")] public Output Maintenance { get; private set; } = null!; @@ -69,6 +69,12 @@ public partial class Flow : global::Pulumi.CustomResource [Output("sourceFailoverConfig")] public Output SourceFailoverConfig { get; private set; } = null!; + /// + /// The source monitoring config of the flow. + /// + [Output("sourceMonitoringConfig")] + public Output SourceMonitoringConfig { get; private set; } = null!; + /// /// The VPC interfaces that you added to this flow. /// @@ -133,7 +139,7 @@ public sealed class FlowArgs : global::Pulumi.ResourceArgs public Input? AvailabilityZone { get; set; } /// - /// The maintenance settings you want to use for the flow. + /// The maintenance settings you want to use for the flow. /// [Input("maintenance")] public Input? Maintenance { get; set; } @@ -168,6 +174,12 @@ public InputList MediaStreams [Input("sourceFailoverConfig")] public Input? SourceFailoverConfig { get; set; } + /// + /// The source monitoring config of the flow. + /// + [Input("sourceMonitoringConfig")] + public Input? SourceMonitoringConfig { get; set; } + [Input("vpcInterfaces")] private InputList? _vpcInterfaces; diff --git a/sdk/dotnet/MediaConnect/GetFlow.cs b/sdk/dotnet/MediaConnect/GetFlow.cs index 8b20977fb1..3c0c556b5a 100644 --- a/sdk/dotnet/MediaConnect/GetFlow.cs +++ b/sdk/dotnet/MediaConnect/GetFlow.cs @@ -70,7 +70,7 @@ public sealed class GetFlowResult /// public readonly string? FlowAvailabilityZone; /// - /// The maintenance settings you want to use for the flow. + /// The maintenance settings you want to use for the flow. /// public readonly Outputs.FlowMaintenance? Maintenance; /// @@ -86,6 +86,10 @@ public sealed class GetFlowResult /// public readonly Outputs.FlowFailoverConfig? SourceFailoverConfig; /// + /// The source monitoring config of the flow. + /// + public readonly Outputs.FlowSourceMonitoringConfig? SourceMonitoringConfig; + /// /// The VPC interfaces that you added to this flow. /// public readonly ImmutableArray VpcInterfaces; @@ -106,6 +110,8 @@ private GetFlowResult( Outputs.FlowFailoverConfig? sourceFailoverConfig, + Outputs.FlowSourceMonitoringConfig? sourceMonitoringConfig, + ImmutableArray vpcInterfaces) { EgressIp = egressIp; @@ -115,6 +121,7 @@ private GetFlowResult( MediaStreams = mediaStreams; Source = source; SourceFailoverConfig = sourceFailoverConfig; + SourceMonitoringConfig = sourceMonitoringConfig; VpcInterfaces = vpcInterfaces; } } diff --git a/sdk/dotnet/MediaConnect/Inputs/FlowSourceMonitoringConfigArgs.cs b/sdk/dotnet/MediaConnect/Inputs/FlowSourceMonitoringConfigArgs.cs new file mode 100644 index 0000000000..be4f74294f --- /dev/null +++ b/sdk/dotnet/MediaConnect/Inputs/FlowSourceMonitoringConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaConnect.Inputs +{ + + /// + /// The settings for source monitoring. + /// + public sealed class FlowSourceMonitoringConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The state of thumbnail monitoring. + /// + [Input("thumbnailState", required: true)] + public Input ThumbnailState { get; set; } = null!; + + public FlowSourceMonitoringConfigArgs() + { + } + public static new FlowSourceMonitoringConfigArgs Empty => new FlowSourceMonitoringConfigArgs(); + } +} diff --git a/sdk/dotnet/MediaConnect/Outputs/FlowSourceMonitoringConfig.cs b/sdk/dotnet/MediaConnect/Outputs/FlowSourceMonitoringConfig.cs new file mode 100644 index 0000000000..112d49c17f --- /dev/null +++ b/sdk/dotnet/MediaConnect/Outputs/FlowSourceMonitoringConfig.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaConnect.Outputs +{ + + /// + /// The settings for source monitoring. + /// + [OutputType] + public sealed class FlowSourceMonitoringConfig + { + /// + /// The state of thumbnail monitoring. + /// + public readonly Pulumi.AwsNative.MediaConnect.FlowSourceMonitoringConfigThumbnailState ThumbnailState; + + [OutputConstructor] + private FlowSourceMonitoringConfig(Pulumi.AwsNative.MediaConnect.FlowSourceMonitoringConfigThumbnailState thumbnailState) + { + ThumbnailState = thumbnailState; + } + } +} diff --git a/sdk/dotnet/MediaLive/ChannelPlacementGroup.cs b/sdk/dotnet/MediaLive/ChannelPlacementGroup.cs new file mode 100644 index 0000000000..8b1e31a52f --- /dev/null +++ b/sdk/dotnet/MediaLive/ChannelPlacementGroup.cs @@ -0,0 +1,153 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:ChannelPlacementGroup")] + public partial class ChannelPlacementGroup : global::Pulumi.CustomResource + { + /// + /// The ARN of the channel placement group. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Unique internal identifier. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// List of channel IDs added to the channel placement group. + /// + [Output("channels")] + public Output> Channels { get; private set; } = null!; + + /// + /// The ID of the cluster the node is on. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// The name of the channel placement group. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// List of nodes added to the channel placement group + /// + [Output("nodes")] + public Output> Nodes { get; private set; } = null!; + + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// A collection of key-value pairs. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a ChannelPlacementGroup 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 ChannelPlacementGroup(string name, ChannelPlacementGroupArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:medialive:ChannelPlacementGroup", name, args ?? new ChannelPlacementGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private ChannelPlacementGroup(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:ChannelPlacementGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "clusterId", + }, + }; + 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 ChannelPlacementGroup 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. + /// A bag of options that control this resource's behavior + public static ChannelPlacementGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ChannelPlacementGroup(name, id, options); + } + } + + public sealed class ChannelPlacementGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the cluster the node is on. + /// + [Input("clusterId")] + public Input? ClusterId { get; set; } + + /// + /// The name of the channel placement group. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("nodes")] + private InputList? _nodes; + + /// + /// List of nodes added to the channel placement group + /// + public InputList Nodes + { + get => _nodes ?? (_nodes = new InputList()); + set => _nodes = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// A collection of key-value pairs. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public ChannelPlacementGroupArgs() + { + } + public static new ChannelPlacementGroupArgs Empty => new ChannelPlacementGroupArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/CloudWatchAlarmTemplate.cs b/sdk/dotnet/MediaLive/CloudWatchAlarmTemplate.cs new file mode 100644 index 0000000000..e4e0ab8be1 --- /dev/null +++ b/sdk/dotnet/MediaLive/CloudWatchAlarmTemplate.cs @@ -0,0 +1,230 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:CloudWatchAlarmTemplate")] + public partial class CloudWatchAlarmTemplate : global::Pulumi.CustomResource + { + /// + /// A cloudwatch alarm template's ARN (Amazon Resource Name) + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + [Output("comparisonOperator")] + public Output ComparisonOperator { get; private set; } = null!; + + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + /// + [Output("datapointsToAlarm")] + public Output DatapointsToAlarm { get; private set; } = null!; + + /// + /// A resource's optional description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The number of periods over which data is compared to the specified threshold. + /// + [Output("evaluationPeriods")] + public Output EvaluationPeriods { get; private set; } = null!; + + /// + /// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// A cloudwatch alarm template group's identifier. Can be either be its id or current name. + /// + [Output("groupIdentifier")] + public Output GroupIdentifier { get; private set; } = null!; + + [Output("identifier")] + public Output Identifier { get; private set; } = null!; + + /// + /// The name of the metric associated with the alarm. Must be compatible with targetResourceType. + /// + [Output("metricName")] + public Output MetricName { get; private set; } = null!; + + [Output("modifiedAt")] + public Output ModifiedAt { get; private set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The period, in seconds, over which the specified statistic is applied. + /// + [Output("period")] + public Output Period { get; private set; } = null!; + + [Output("statistic")] + public Output Statistic { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("targetResourceType")] + public Output TargetResourceType { get; private set; } = null!; + + /// + /// The threshold value to compare with the specified statistic. + /// + [Output("threshold")] + public Output Threshold { get; private set; } = null!; + + [Output("treatMissingData")] + public Output TreatMissingData { get; private set; } = null!; + + + /// + /// Create a CloudWatchAlarmTemplate 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 CloudWatchAlarmTemplate(string name, CloudWatchAlarmTemplateArgs args, CustomResourceOptions? options = null) + : base("aws-native:medialive:CloudWatchAlarmTemplate", name, args ?? new CloudWatchAlarmTemplateArgs(), MakeResourceOptions(options, "")) + { + } + + private CloudWatchAlarmTemplate(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:CloudWatchAlarmTemplate", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "tags.*", + }, + }; + 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 CloudWatchAlarmTemplate 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. + /// A bag of options that control this resource's behavior + public static CloudWatchAlarmTemplate Get(string name, Input id, CustomResourceOptions? options = null) + { + return new CloudWatchAlarmTemplate(name, id, options); + } + } + + public sealed class CloudWatchAlarmTemplateArgs : global::Pulumi.ResourceArgs + { + [Input("comparisonOperator", required: true)] + public Input ComparisonOperator { get; set; } = null!; + + /// + /// The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + /// + [Input("datapointsToAlarm")] + public Input? DatapointsToAlarm { get; set; } + + /// + /// A resource's optional description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The number of periods over which data is compared to the specified threshold. + /// + [Input("evaluationPeriods", required: true)] + public Input EvaluationPeriods { get; set; } = null!; + + /// + /// A cloudwatch alarm template group's identifier. Can be either be its id or current name. + /// + [Input("groupIdentifier", required: true)] + public Input GroupIdentifier { get; set; } = null!; + + /// + /// The name of the metric associated with the alarm. Must be compatible with targetResourceType. + /// + [Input("metricName", required: true)] + public Input MetricName { get; set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The period, in seconds, over which the specified statistic is applied. + /// + [Input("period", required: true)] + public Input Period { get; set; } = null!; + + [Input("statistic", required: true)] + public Input Statistic { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("targetResourceType", required: true)] + public Input TargetResourceType { get; set; } = null!; + + /// + /// The threshold value to compare with the specified statistic. + /// + [Input("threshold", required: true)] + public Input Threshold { get; set; } = null!; + + [Input("treatMissingData", required: true)] + public Input TreatMissingData { get; set; } = null!; + + public CloudWatchAlarmTemplateArgs() + { + } + public static new CloudWatchAlarmTemplateArgs Empty => new CloudWatchAlarmTemplateArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/CloudWatchAlarmTemplateGroup.cs b/sdk/dotnet/MediaLive/CloudWatchAlarmTemplateGroup.cs new file mode 100644 index 0000000000..ff994f42cf --- /dev/null +++ b/sdk/dotnet/MediaLive/CloudWatchAlarmTemplateGroup.cs @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:CloudWatchAlarmTemplateGroup")] + public partial class CloudWatchAlarmTemplateGroup : global::Pulumi.CustomResource + { + /// + /// A cloudwatch alarm template group's ARN (Amazon Resource Name) + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The date and time of resource creation. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// A resource's optional description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("identifier")] + public Output Identifier { get; private set; } = null!; + + /// + /// The date and time of latest resource modification. + /// + [Output("modifiedAt")] + public Output ModifiedAt { get; private set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a CloudWatchAlarmTemplateGroup 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 CloudWatchAlarmTemplateGroup(string name, CloudWatchAlarmTemplateGroupArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:medialive:CloudWatchAlarmTemplateGroup", name, args ?? new CloudWatchAlarmTemplateGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private CloudWatchAlarmTemplateGroup(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:CloudWatchAlarmTemplateGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "name", + "tags.*", + }, + }; + 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 CloudWatchAlarmTemplateGroup 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. + /// A bag of options that control this resource's behavior + public static CloudWatchAlarmTemplateGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new CloudWatchAlarmTemplateGroup(name, id, options); + } + } + + public sealed class CloudWatchAlarmTemplateGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// A resource's optional description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public CloudWatchAlarmTemplateGroupArgs() + { + } + public static new CloudWatchAlarmTemplateGroupArgs Empty => new CloudWatchAlarmTemplateGroupArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Cluster.cs b/sdk/dotnet/MediaLive/Cluster.cs new file mode 100644 index 0000000000..72c6ba022a --- /dev/null +++ b/sdk/dotnet/MediaLive/Cluster.cs @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::Cluster Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:Cluster")] + public partial class Cluster : global::Pulumi.CustomResource + { + /// + /// The ARN of the Cluster. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The unique ID of the Cluster. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The MediaLive Channels that are currently running on Nodes in this Cluster. + /// + [Output("channelIds")] + public Output> ChannelIds { get; private set; } = null!; + + [Output("clusterType")] + public Output ClusterType { get; private set; } = null!; + + /// + /// The IAM role your nodes will use. + /// + [Output("instanceRoleArn")] + public Output InstanceRoleArn { get; private set; } = null!; + + /// + /// The user-specified name of the Cluster to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("networkSettings")] + public Output NetworkSettings { get; private set; } = null!; + + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// A collection of key-value pairs. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a Cluster 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 Cluster(string name, ClusterArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:medialive:Cluster", name, args ?? new ClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private Cluster(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:Cluster", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "clusterType", + "instanceRoleArn", + }, + }; + 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 Cluster 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. + /// A bag of options that control this resource's behavior + public static Cluster Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Cluster(name, id, options); + } + } + + public sealed class ClusterArgs : global::Pulumi.ResourceArgs + { + [Input("clusterType")] + public Input? ClusterType { get; set; } + + /// + /// The IAM role your nodes will use. + /// + [Input("instanceRoleArn")] + public Input? InstanceRoleArn { get; set; } + + /// + /// The user-specified name of the Cluster to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("networkSettings")] + public Input? NetworkSettings { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// A collection of key-value pairs. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public ClusterArgs() + { + } + public static new ClusterArgs Empty => new ClusterArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Enums.cs b/sdk/dotnet/MediaLive/Enums.cs index 1ab7740396..a150e00039 100644 --- a/sdk/dotnet/MediaLive/Enums.cs +++ b/sdk/dotnet/MediaLive/Enums.cs @@ -7,6 +7,287 @@ namespace Pulumi.AwsNative.MediaLive { + /// + /// The current state of the ChannelPlacementGroupState + /// + [EnumType] + public readonly struct ChannelPlacementGroupState : IEquatable + { + private readonly string _value; + + private ChannelPlacementGroupState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ChannelPlacementGroupState Unassigned { get; } = new ChannelPlacementGroupState("UNASSIGNED"); + public static ChannelPlacementGroupState Assigning { get; } = new ChannelPlacementGroupState("ASSIGNING"); + public static ChannelPlacementGroupState Assigned { get; } = new ChannelPlacementGroupState("ASSIGNED"); + public static ChannelPlacementGroupState Deleting { get; } = new ChannelPlacementGroupState("DELETING"); + public static ChannelPlacementGroupState Deleted { get; } = new ChannelPlacementGroupState("DELETED"); + public static ChannelPlacementGroupState Unassigning { get; } = new ChannelPlacementGroupState("UNASSIGNING"); + + public static bool operator ==(ChannelPlacementGroupState left, ChannelPlacementGroupState right) => left.Equals(right); + public static bool operator !=(ChannelPlacementGroupState left, ChannelPlacementGroupState right) => !left.Equals(right); + + public static explicit operator string(ChannelPlacementGroupState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ChannelPlacementGroupState other && Equals(other); + public bool Equals(ChannelPlacementGroupState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The comparison operator used to compare the specified statistic and the threshold. + /// + [EnumType] + public readonly struct CloudWatchAlarmTemplateComparisonOperator : IEquatable + { + private readonly string _value; + + private CloudWatchAlarmTemplateComparisonOperator(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CloudWatchAlarmTemplateComparisonOperator GreaterThanOrEqualToThreshold { get; } = new CloudWatchAlarmTemplateComparisonOperator("GreaterThanOrEqualToThreshold"); + public static CloudWatchAlarmTemplateComparisonOperator GreaterThanThreshold { get; } = new CloudWatchAlarmTemplateComparisonOperator("GreaterThanThreshold"); + public static CloudWatchAlarmTemplateComparisonOperator LessThanThreshold { get; } = new CloudWatchAlarmTemplateComparisonOperator("LessThanThreshold"); + public static CloudWatchAlarmTemplateComparisonOperator LessThanOrEqualToThreshold { get; } = new CloudWatchAlarmTemplateComparisonOperator("LessThanOrEqualToThreshold"); + + public static bool operator ==(CloudWatchAlarmTemplateComparisonOperator left, CloudWatchAlarmTemplateComparisonOperator right) => left.Equals(right); + public static bool operator !=(CloudWatchAlarmTemplateComparisonOperator left, CloudWatchAlarmTemplateComparisonOperator right) => !left.Equals(right); + + public static explicit operator string(CloudWatchAlarmTemplateComparisonOperator value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CloudWatchAlarmTemplateComparisonOperator other && Equals(other); + public bool Equals(CloudWatchAlarmTemplateComparisonOperator other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The statistic to apply to the alarm's metric data. + /// + [EnumType] + public readonly struct CloudWatchAlarmTemplateStatistic : IEquatable + { + private readonly string _value; + + private CloudWatchAlarmTemplateStatistic(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CloudWatchAlarmTemplateStatistic SampleCount { get; } = new CloudWatchAlarmTemplateStatistic("SampleCount"); + public static CloudWatchAlarmTemplateStatistic Average { get; } = new CloudWatchAlarmTemplateStatistic("Average"); + public static CloudWatchAlarmTemplateStatistic Sum { get; } = new CloudWatchAlarmTemplateStatistic("Sum"); + public static CloudWatchAlarmTemplateStatistic Minimum { get; } = new CloudWatchAlarmTemplateStatistic("Minimum"); + public static CloudWatchAlarmTemplateStatistic Maximum { get; } = new CloudWatchAlarmTemplateStatistic("Maximum"); + + public static bool operator ==(CloudWatchAlarmTemplateStatistic left, CloudWatchAlarmTemplateStatistic right) => left.Equals(right); + public static bool operator !=(CloudWatchAlarmTemplateStatistic left, CloudWatchAlarmTemplateStatistic right) => !left.Equals(right); + + public static explicit operator string(CloudWatchAlarmTemplateStatistic value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CloudWatchAlarmTemplateStatistic other && Equals(other); + public bool Equals(CloudWatchAlarmTemplateStatistic other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The resource type this template should dynamically generate cloudwatch metric alarms for. + /// + [EnumType] + public readonly struct CloudWatchAlarmTemplateTargetResourceType : IEquatable + { + private readonly string _value; + + private CloudWatchAlarmTemplateTargetResourceType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CloudWatchAlarmTemplateTargetResourceType CloudfrontDistribution { get; } = new CloudWatchAlarmTemplateTargetResourceType("CLOUDFRONT_DISTRIBUTION"); + public static CloudWatchAlarmTemplateTargetResourceType MedialiveMultiplex { get; } = new CloudWatchAlarmTemplateTargetResourceType("MEDIALIVE_MULTIPLEX"); + public static CloudWatchAlarmTemplateTargetResourceType MedialiveChannel { get; } = new CloudWatchAlarmTemplateTargetResourceType("MEDIALIVE_CHANNEL"); + public static CloudWatchAlarmTemplateTargetResourceType MedialiveInputDevice { get; } = new CloudWatchAlarmTemplateTargetResourceType("MEDIALIVE_INPUT_DEVICE"); + public static CloudWatchAlarmTemplateTargetResourceType MediapackageChannel { get; } = new CloudWatchAlarmTemplateTargetResourceType("MEDIAPACKAGE_CHANNEL"); + public static CloudWatchAlarmTemplateTargetResourceType MediapackageOriginEndpoint { get; } = new CloudWatchAlarmTemplateTargetResourceType("MEDIAPACKAGE_ORIGIN_ENDPOINT"); + public static CloudWatchAlarmTemplateTargetResourceType MediaconnectFlow { get; } = new CloudWatchAlarmTemplateTargetResourceType("MEDIACONNECT_FLOW"); + public static CloudWatchAlarmTemplateTargetResourceType S3Bucket { get; } = new CloudWatchAlarmTemplateTargetResourceType("S3_BUCKET"); + + public static bool operator ==(CloudWatchAlarmTemplateTargetResourceType left, CloudWatchAlarmTemplateTargetResourceType right) => left.Equals(right); + public static bool operator !=(CloudWatchAlarmTemplateTargetResourceType left, CloudWatchAlarmTemplateTargetResourceType right) => !left.Equals(right); + + public static explicit operator string(CloudWatchAlarmTemplateTargetResourceType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CloudWatchAlarmTemplateTargetResourceType other && Equals(other); + public bool Equals(CloudWatchAlarmTemplateTargetResourceType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies how missing data points are treated when evaluating the alarm's condition. + /// + [EnumType] + public readonly struct CloudWatchAlarmTemplateTreatMissingData : IEquatable + { + private readonly string _value; + + private CloudWatchAlarmTemplateTreatMissingData(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CloudWatchAlarmTemplateTreatMissingData NotBreaching { get; } = new CloudWatchAlarmTemplateTreatMissingData("notBreaching"); + public static CloudWatchAlarmTemplateTreatMissingData Breaching { get; } = new CloudWatchAlarmTemplateTreatMissingData("breaching"); + public static CloudWatchAlarmTemplateTreatMissingData Ignore { get; } = new CloudWatchAlarmTemplateTreatMissingData("ignore"); + public static CloudWatchAlarmTemplateTreatMissingData Missing { get; } = new CloudWatchAlarmTemplateTreatMissingData("missing"); + + public static bool operator ==(CloudWatchAlarmTemplateTreatMissingData left, CloudWatchAlarmTemplateTreatMissingData right) => left.Equals(right); + public static bool operator !=(CloudWatchAlarmTemplateTreatMissingData left, CloudWatchAlarmTemplateTreatMissingData right) => !left.Equals(right); + + public static explicit operator string(CloudWatchAlarmTemplateTreatMissingData value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CloudWatchAlarmTemplateTreatMissingData other && Equals(other); + public bool Equals(CloudWatchAlarmTemplateTreatMissingData other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The current state of the Cluster. + /// + [EnumType] + public readonly struct ClusterState : IEquatable + { + private readonly string _value; + + private ClusterState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterState Creating { get; } = new ClusterState("CREATING"); + public static ClusterState CreateFailed { get; } = new ClusterState("CREATE_FAILED"); + public static ClusterState Active { get; } = new ClusterState("ACTIVE"); + public static ClusterState Deleting { get; } = new ClusterState("DELETING"); + public static ClusterState Deleted { get; } = new ClusterState("DELETED"); + + public static bool operator ==(ClusterState left, ClusterState right) => left.Equals(right); + public static bool operator !=(ClusterState left, ClusterState right) => !left.Equals(right); + + public static explicit operator string(ClusterState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterState other && Equals(other); + public bool Equals(ClusterState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The hardware type for the cluster. + /// + [EnumType] + public readonly struct ClusterType : IEquatable + { + private readonly string _value; + + private ClusterType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterType OnPremises { get; } = new ClusterType("ON_PREMISES"); + public static ClusterType OutpostsRack { get; } = new ClusterType("OUTPOSTS_RACK"); + public static ClusterType OutpostsServer { get; } = new ClusterType("OUTPOSTS_SERVER"); + public static ClusterType Ec2 { get; } = new ClusterType("EC2"); + + public static bool operator ==(ClusterType left, ClusterType right) => left.Equals(right); + public static bool operator !=(ClusterType left, ClusterType right) => !left.Equals(right); + + public static explicit operator string(ClusterType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterType other && Equals(other); + public bool Equals(ClusterType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of event to match with the rule. + /// + [EnumType] + public readonly struct EventBridgeRuleTemplateEventType : IEquatable + { + private readonly string _value; + + private EventBridgeRuleTemplateEventType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static EventBridgeRuleTemplateEventType MedialiveMultiplexAlert { get; } = new EventBridgeRuleTemplateEventType("MEDIALIVE_MULTIPLEX_ALERT"); + public static EventBridgeRuleTemplateEventType MedialiveMultiplexStateChange { get; } = new EventBridgeRuleTemplateEventType("MEDIALIVE_MULTIPLEX_STATE_CHANGE"); + public static EventBridgeRuleTemplateEventType MedialiveChannelAlert { get; } = new EventBridgeRuleTemplateEventType("MEDIALIVE_CHANNEL_ALERT"); + public static EventBridgeRuleTemplateEventType MedialiveChannelInputChange { get; } = new EventBridgeRuleTemplateEventType("MEDIALIVE_CHANNEL_INPUT_CHANGE"); + public static EventBridgeRuleTemplateEventType MedialiveChannelStateChange { get; } = new EventBridgeRuleTemplateEventType("MEDIALIVE_CHANNEL_STATE_CHANGE"); + public static EventBridgeRuleTemplateEventType MediapackageInputNotification { get; } = new EventBridgeRuleTemplateEventType("MEDIAPACKAGE_INPUT_NOTIFICATION"); + public static EventBridgeRuleTemplateEventType MediapackageKeyProviderNotification { get; } = new EventBridgeRuleTemplateEventType("MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION"); + public static EventBridgeRuleTemplateEventType MediapackageHarvestJobNotification { get; } = new EventBridgeRuleTemplateEventType("MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION"); + public static EventBridgeRuleTemplateEventType SignalMapActiveAlarm { get; } = new EventBridgeRuleTemplateEventType("SIGNAL_MAP_ACTIVE_ALARM"); + public static EventBridgeRuleTemplateEventType MediaconnectAlert { get; } = new EventBridgeRuleTemplateEventType("MEDIACONNECT_ALERT"); + public static EventBridgeRuleTemplateEventType MediaconnectSourceHealth { get; } = new EventBridgeRuleTemplateEventType("MEDIACONNECT_SOURCE_HEALTH"); + public static EventBridgeRuleTemplateEventType MediaconnectOutputHealth { get; } = new EventBridgeRuleTemplateEventType("MEDIACONNECT_OUTPUT_HEALTH"); + public static EventBridgeRuleTemplateEventType MediaconnectFlowStatusChange { get; } = new EventBridgeRuleTemplateEventType("MEDIACONNECT_FLOW_STATUS_CHANGE"); + + public static bool operator ==(EventBridgeRuleTemplateEventType left, EventBridgeRuleTemplateEventType right) => left.Equals(right); + public static bool operator !=(EventBridgeRuleTemplateEventType left, EventBridgeRuleTemplateEventType right) => !left.Equals(right); + + public static explicit operator string(EventBridgeRuleTemplateEventType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is EventBridgeRuleTemplateEventType other && Equals(other); + public bool Equals(EventBridgeRuleTemplateEventType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The current state of the multiplex. /// @@ -80,4 +361,210 @@ private MultiplexprogramPreferredChannelPipeline(string value) public override string ToString() => _value; } + + [EnumType] + public readonly struct NetworkState : IEquatable + { + private readonly string _value; + + private NetworkState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static NetworkState Creating { get; } = new NetworkState("CREATING"); + public static NetworkState CreateFailed { get; } = new NetworkState("CREATE_FAILED"); + public static NetworkState Active { get; } = new NetworkState("ACTIVE"); + public static NetworkState Deleting { get; } = new NetworkState("DELETING"); + public static NetworkState Idle { get; } = new NetworkState("IDLE"); + public static NetworkState InUse { get; } = new NetworkState("IN_USE"); + public static NetworkState Updating { get; } = new NetworkState("UPDATING"); + public static NetworkState Deleted { get; } = new NetworkState("DELETED"); + public static NetworkState DeleteFailed { get; } = new NetworkState("DELETE_FAILED"); + + public static bool operator ==(NetworkState left, NetworkState right) => left.Equals(right); + public static bool operator !=(NetworkState left, NetworkState right) => !left.Equals(right); + + public static explicit operator string(NetworkState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is NetworkState other && Equals(other); + public bool Equals(NetworkState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The current state of the SdiSource. + /// + [EnumType] + public readonly struct SdiSourceMode : IEquatable + { + private readonly string _value; + + private SdiSourceMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SdiSourceMode Quadrant { get; } = new SdiSourceMode("QUADRANT"); + public static SdiSourceMode Interleave { get; } = new SdiSourceMode("INTERLEAVE"); + + public static bool operator ==(SdiSourceMode left, SdiSourceMode right) => left.Equals(right); + public static bool operator !=(SdiSourceMode left, SdiSourceMode right) => !left.Equals(right); + + public static explicit operator string(SdiSourceMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SdiSourceMode other && Equals(other); + public bool Equals(SdiSourceMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The current state of the SdiSource. + /// + [EnumType] + public readonly struct SdiSourceState : IEquatable + { + private readonly string _value; + + private SdiSourceState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SdiSourceState Idle { get; } = new SdiSourceState("IDLE"); + public static SdiSourceState InUse { get; } = new SdiSourceState("IN_USE"); + public static SdiSourceState Deleted { get; } = new SdiSourceState("DELETED"); + + public static bool operator ==(SdiSourceState left, SdiSourceState right) => left.Equals(right); + public static bool operator !=(SdiSourceState left, SdiSourceState right) => !left.Equals(right); + + public static explicit operator string(SdiSourceState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SdiSourceState other && Equals(other); + public bool Equals(SdiSourceState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The interface mode of the SdiSource. + /// + [EnumType] + public readonly struct SdiSourceType : IEquatable + { + private readonly string _value; + + private SdiSourceType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SdiSourceType Single { get; } = new SdiSourceType("SINGLE"); + public static SdiSourceType Quad { get; } = new SdiSourceType("QUAD"); + + public static bool operator ==(SdiSourceType left, SdiSourceType right) => left.Equals(right); + public static bool operator !=(SdiSourceType left, SdiSourceType right) => !left.Equals(right); + + public static explicit operator string(SdiSourceType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SdiSourceType other && Equals(other); + public bool Equals(SdiSourceType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// A signal map's monitor deployment status. + /// + [EnumType] + public readonly struct SignalMapMonitorDeploymentStatus : IEquatable + { + private readonly string _value; + + private SignalMapMonitorDeploymentStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SignalMapMonitorDeploymentStatus NotDeployed { get; } = new SignalMapMonitorDeploymentStatus("NOT_DEPLOYED"); + public static SignalMapMonitorDeploymentStatus DryRunDeploymentComplete { get; } = new SignalMapMonitorDeploymentStatus("DRY_RUN_DEPLOYMENT_COMPLETE"); + public static SignalMapMonitorDeploymentStatus DryRunDeploymentFailed { get; } = new SignalMapMonitorDeploymentStatus("DRY_RUN_DEPLOYMENT_FAILED"); + public static SignalMapMonitorDeploymentStatus DryRunDeploymentInProgress { get; } = new SignalMapMonitorDeploymentStatus("DRY_RUN_DEPLOYMENT_IN_PROGRESS"); + public static SignalMapMonitorDeploymentStatus DeploymentComplete { get; } = new SignalMapMonitorDeploymentStatus("DEPLOYMENT_COMPLETE"); + public static SignalMapMonitorDeploymentStatus DeploymentFailed { get; } = new SignalMapMonitorDeploymentStatus("DEPLOYMENT_FAILED"); + public static SignalMapMonitorDeploymentStatus DeploymentInProgress { get; } = new SignalMapMonitorDeploymentStatus("DEPLOYMENT_IN_PROGRESS"); + public static SignalMapMonitorDeploymentStatus DeleteComplete { get; } = new SignalMapMonitorDeploymentStatus("DELETE_COMPLETE"); + public static SignalMapMonitorDeploymentStatus DeleteFailed { get; } = new SignalMapMonitorDeploymentStatus("DELETE_FAILED"); + public static SignalMapMonitorDeploymentStatus DeleteInProgress { get; } = new SignalMapMonitorDeploymentStatus("DELETE_IN_PROGRESS"); + + public static bool operator ==(SignalMapMonitorDeploymentStatus left, SignalMapMonitorDeploymentStatus right) => left.Equals(right); + public static bool operator !=(SignalMapMonitorDeploymentStatus left, SignalMapMonitorDeploymentStatus right) => !left.Equals(right); + + public static explicit operator string(SignalMapMonitorDeploymentStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SignalMapMonitorDeploymentStatus other && Equals(other); + public bool Equals(SignalMapMonitorDeploymentStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// A signal map's current status which is dependent on its lifecycle actions or associated jobs. + /// + [EnumType] + public readonly struct SignalMapStatus : IEquatable + { + private readonly string _value; + + private SignalMapStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SignalMapStatus CreateInProgress { get; } = new SignalMapStatus("CREATE_IN_PROGRESS"); + public static SignalMapStatus CreateComplete { get; } = new SignalMapStatus("CREATE_COMPLETE"); + public static SignalMapStatus CreateFailed { get; } = new SignalMapStatus("CREATE_FAILED"); + public static SignalMapStatus UpdateInProgress { get; } = new SignalMapStatus("UPDATE_IN_PROGRESS"); + public static SignalMapStatus UpdateComplete { get; } = new SignalMapStatus("UPDATE_COMPLETE"); + public static SignalMapStatus UpdateReverted { get; } = new SignalMapStatus("UPDATE_REVERTED"); + public static SignalMapStatus UpdateFailed { get; } = new SignalMapStatus("UPDATE_FAILED"); + public static SignalMapStatus Ready { get; } = new SignalMapStatus("READY"); + public static SignalMapStatus NotReady { get; } = new SignalMapStatus("NOT_READY"); + + public static bool operator ==(SignalMapStatus left, SignalMapStatus right) => left.Equals(right); + public static bool operator !=(SignalMapStatus left, SignalMapStatus right) => !left.Equals(right); + + public static explicit operator string(SignalMapStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SignalMapStatus other && Equals(other); + public bool Equals(SignalMapStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/MediaLive/EventBridgeRuleTemplate.cs b/sdk/dotnet/MediaLive/EventBridgeRuleTemplate.cs new file mode 100644 index 0000000000..0f7f6e33cf --- /dev/null +++ b/sdk/dotnet/MediaLive/EventBridgeRuleTemplate.cs @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:EventBridgeRuleTemplate")] + public partial class EventBridgeRuleTemplate : global::Pulumi.CustomResource + { + /// + /// An eventbridge rule template's ARN (Amazon Resource Name) + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// Placeholder documentation for __timestampIso8601 + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// A resource's optional description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + /// + [Output("eventTargets")] + public Output> EventTargets { get; private set; } = null!; + + [Output("eventType")] + public Output EventType { get; private set; } = null!; + + /// + /// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + /// + [Output("groupId")] + public Output GroupId { get; private set; } = null!; + + /// + /// An eventbridge rule template group's identifier. Can be either be its id or current name. + /// + [Output("groupIdentifier")] + public Output GroupIdentifier { get; private set; } = null!; + + /// + /// Placeholder documentation for __string + /// + [Output("identifier")] + public Output Identifier { get; private set; } = null!; + + /// + /// Placeholder documentation for __timestampIso8601 + /// + [Output("modifiedAt")] + public Output ModifiedAt { get; private set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a EventBridgeRuleTemplate 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 EventBridgeRuleTemplate(string name, EventBridgeRuleTemplateArgs args, CustomResourceOptions? options = null) + : base("aws-native:medialive:EventBridgeRuleTemplate", name, args ?? new EventBridgeRuleTemplateArgs(), MakeResourceOptions(options, "")) + { + } + + private EventBridgeRuleTemplate(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:EventBridgeRuleTemplate", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "tags.*", + }, + }; + 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 EventBridgeRuleTemplate 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. + /// A bag of options that control this resource's behavior + public static EventBridgeRuleTemplate Get(string name, Input id, CustomResourceOptions? options = null) + { + return new EventBridgeRuleTemplate(name, id, options); + } + } + + public sealed class EventBridgeRuleTemplateArgs : global::Pulumi.ResourceArgs + { + /// + /// A resource's optional description. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("eventTargets")] + private InputList? _eventTargets; + + /// + /// Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + /// + public InputList EventTargets + { + get => _eventTargets ?? (_eventTargets = new InputList()); + set => _eventTargets = value; + } + + [Input("eventType", required: true)] + public Input EventType { get; set; } = null!; + + /// + /// An eventbridge rule template group's identifier. Can be either be its id or current name. + /// + [Input("groupIdentifier", required: true)] + public Input GroupIdentifier { get; set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public EventBridgeRuleTemplateArgs() + { + } + public static new EventBridgeRuleTemplateArgs Empty => new EventBridgeRuleTemplateArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/EventBridgeRuleTemplateGroup.cs b/sdk/dotnet/MediaLive/EventBridgeRuleTemplateGroup.cs new file mode 100644 index 0000000000..90915853e9 --- /dev/null +++ b/sdk/dotnet/MediaLive/EventBridgeRuleTemplateGroup.cs @@ -0,0 +1,135 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:EventBridgeRuleTemplateGroup")] + public partial class EventBridgeRuleTemplateGroup : global::Pulumi.CustomResource + { + /// + /// An eventbridge rule template group's ARN (Amazon Resource Name) + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The date and time of resource creation. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// A resource's optional description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("identifier")] + public Output Identifier { get; private set; } = null!; + + /// + /// The date and time of latest resource modification. + /// + [Output("modifiedAt")] + public Output ModifiedAt { get; private set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a EventBridgeRuleTemplateGroup 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 EventBridgeRuleTemplateGroup(string name, EventBridgeRuleTemplateGroupArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:medialive:EventBridgeRuleTemplateGroup", name, args ?? new EventBridgeRuleTemplateGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private EventBridgeRuleTemplateGroup(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:EventBridgeRuleTemplateGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "name", + "tags.*", + }, + }; + 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 EventBridgeRuleTemplateGroup 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. + /// A bag of options that control this resource's behavior + public static EventBridgeRuleTemplateGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new EventBridgeRuleTemplateGroup(name, id, options); + } + } + + public sealed class EventBridgeRuleTemplateGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// A resource's optional description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public EventBridgeRuleTemplateGroupArgs() + { + } + public static new EventBridgeRuleTemplateGroupArgs Empty => new EventBridgeRuleTemplateGroupArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/GetChannelPlacementGroup.cs b/sdk/dotnet/MediaLive/GetChannelPlacementGroup.cs new file mode 100644 index 0000000000..0aa06604eb --- /dev/null +++ b/sdk/dotnet/MediaLive/GetChannelPlacementGroup.cs @@ -0,0 +1,123 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetChannelPlacementGroup + { + /// + /// Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + /// + public static Task InvokeAsync(GetChannelPlacementGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getChannelPlacementGroup", args ?? new GetChannelPlacementGroupArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + /// + public static Output Invoke(GetChannelPlacementGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getChannelPlacementGroup", args ?? new GetChannelPlacementGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetChannelPlacementGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the cluster the node is on. + /// + [Input("clusterId", required: true)] + public string ClusterId { get; set; } = null!; + + /// + /// Unique internal identifier. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetChannelPlacementGroupArgs() + { + } + public static new GetChannelPlacementGroupArgs Empty => new GetChannelPlacementGroupArgs(); + } + + public sealed class GetChannelPlacementGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the cluster the node is on. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + /// + /// Unique internal identifier. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetChannelPlacementGroupInvokeArgs() + { + } + public static new GetChannelPlacementGroupInvokeArgs Empty => new GetChannelPlacementGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetChannelPlacementGroupResult + { + /// + /// The ARN of the channel placement group. + /// + public readonly string? Arn; + /// + /// List of channel IDs added to the channel placement group. + /// + public readonly ImmutableArray Channels; + /// + /// Unique internal identifier. + /// + public readonly string? Id; + /// + /// The name of the channel placement group. + /// + public readonly string? Name; + /// + /// List of nodes added to the channel placement group + /// + public readonly ImmutableArray Nodes; + public readonly Pulumi.AwsNative.MediaLive.ChannelPlacementGroupState? State; + /// + /// A collection of key-value pairs. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetChannelPlacementGroupResult( + string? arn, + + ImmutableArray channels, + + string? id, + + string? name, + + ImmutableArray nodes, + + Pulumi.AwsNative.MediaLive.ChannelPlacementGroupState? state, + + ImmutableArray tags) + { + Arn = arn; + Channels = channels; + Id = id; + Name = name; + Nodes = nodes; + State = state; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplate.cs b/sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplate.cs new file mode 100644 index 0000000000..39d8309d94 --- /dev/null +++ b/sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplate.cs @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetCloudWatchAlarmTemplate + { + /// + /// Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + /// + public static Task InvokeAsync(GetCloudWatchAlarmTemplateArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getCloudWatchAlarmTemplate", args ?? new GetCloudWatchAlarmTemplateArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + /// + public static Output Invoke(GetCloudWatchAlarmTemplateInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getCloudWatchAlarmTemplate", args ?? new GetCloudWatchAlarmTemplateInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCloudWatchAlarmTemplateArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public string Identifier { get; set; } = null!; + + public GetCloudWatchAlarmTemplateArgs() + { + } + public static new GetCloudWatchAlarmTemplateArgs Empty => new GetCloudWatchAlarmTemplateArgs(); + } + + public sealed class GetCloudWatchAlarmTemplateInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public Input Identifier { get; set; } = null!; + + public GetCloudWatchAlarmTemplateInvokeArgs() + { + } + public static new GetCloudWatchAlarmTemplateInvokeArgs Empty => new GetCloudWatchAlarmTemplateInvokeArgs(); + } + + + [OutputType] + public sealed class GetCloudWatchAlarmTemplateResult + { + /// + /// A cloudwatch alarm template's ARN (Amazon Resource Name) + /// + public readonly string? Arn; + public readonly Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateComparisonOperator? ComparisonOperator; + public readonly string? CreatedAt; + /// + /// The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + /// + public readonly double? DatapointsToAlarm; + /// + /// A resource's optional description. + /// + public readonly string? Description; + /// + /// The number of periods over which data is compared to the specified threshold. + /// + public readonly double? EvaluationPeriods; + /// + /// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + /// + public readonly string? GroupId; + /// + /// A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + /// + public readonly string? Id; + public readonly string? Identifier; + /// + /// The name of the metric associated with the alarm. Must be compatible with targetResourceType. + /// + public readonly string? MetricName; + public readonly string? ModifiedAt; + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + public readonly string? Name; + /// + /// The period, in seconds, over which the specified statistic is applied. + /// + public readonly double? Period; + public readonly Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateStatistic? Statistic; + public readonly Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateTargetResourceType? TargetResourceType; + /// + /// The threshold value to compare with the specified statistic. + /// + public readonly double? Threshold; + public readonly Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateTreatMissingData? TreatMissingData; + + [OutputConstructor] + private GetCloudWatchAlarmTemplateResult( + string? arn, + + Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateComparisonOperator? comparisonOperator, + + string? createdAt, + + double? datapointsToAlarm, + + string? description, + + double? evaluationPeriods, + + string? groupId, + + string? id, + + string? identifier, + + string? metricName, + + string? modifiedAt, + + string? name, + + double? period, + + Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateStatistic? statistic, + + Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateTargetResourceType? targetResourceType, + + double? threshold, + + Pulumi.AwsNative.MediaLive.CloudWatchAlarmTemplateTreatMissingData? treatMissingData) + { + Arn = arn; + ComparisonOperator = comparisonOperator; + CreatedAt = createdAt; + DatapointsToAlarm = datapointsToAlarm; + Description = description; + EvaluationPeriods = evaluationPeriods; + GroupId = groupId; + Id = id; + Identifier = identifier; + MetricName = metricName; + ModifiedAt = modifiedAt; + Name = name; + Period = period; + Statistic = statistic; + TargetResourceType = targetResourceType; + Threshold = threshold; + TreatMissingData = treatMissingData; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplateGroup.cs b/sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplateGroup.cs new file mode 100644 index 0000000000..d54ecc4880 --- /dev/null +++ b/sdk/dotnet/MediaLive/GetCloudWatchAlarmTemplateGroup.cs @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetCloudWatchAlarmTemplateGroup + { + /// + /// Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + /// + public static Task InvokeAsync(GetCloudWatchAlarmTemplateGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getCloudWatchAlarmTemplateGroup", args ?? new GetCloudWatchAlarmTemplateGroupArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + /// + public static Output Invoke(GetCloudWatchAlarmTemplateGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getCloudWatchAlarmTemplateGroup", args ?? new GetCloudWatchAlarmTemplateGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCloudWatchAlarmTemplateGroupArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public string Identifier { get; set; } = null!; + + public GetCloudWatchAlarmTemplateGroupArgs() + { + } + public static new GetCloudWatchAlarmTemplateGroupArgs Empty => new GetCloudWatchAlarmTemplateGroupArgs(); + } + + public sealed class GetCloudWatchAlarmTemplateGroupInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public Input Identifier { get; set; } = null!; + + public GetCloudWatchAlarmTemplateGroupInvokeArgs() + { + } + public static new GetCloudWatchAlarmTemplateGroupInvokeArgs Empty => new GetCloudWatchAlarmTemplateGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetCloudWatchAlarmTemplateGroupResult + { + /// + /// A cloudwatch alarm template group's ARN (Amazon Resource Name) + /// + public readonly string? Arn; + /// + /// The date and time of resource creation. + /// + public readonly string? CreatedAt; + /// + /// A resource's optional description. + /// + public readonly string? Description; + /// + /// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + /// + public readonly string? Id; + public readonly string? Identifier; + /// + /// The date and time of latest resource modification. + /// + public readonly string? ModifiedAt; + + [OutputConstructor] + private GetCloudWatchAlarmTemplateGroupResult( + string? arn, + + string? createdAt, + + string? description, + + string? id, + + string? identifier, + + string? modifiedAt) + { + Arn = arn; + CreatedAt = createdAt; + Description = description; + Id = id; + Identifier = identifier; + ModifiedAt = modifiedAt; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetCluster.cs b/sdk/dotnet/MediaLive/GetCluster.cs new file mode 100644 index 0000000000..1fc4031f4d --- /dev/null +++ b/sdk/dotnet/MediaLive/GetCluster.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetCluster + { + /// + /// Definition of AWS::MediaLive::Cluster Resource Type + /// + public static Task InvokeAsync(GetClusterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getCluster", args ?? new GetClusterArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::Cluster Resource Type + /// + public static Output Invoke(GetClusterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getCluster", args ?? new GetClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique ID of the Cluster. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetClusterArgs() + { + } + public static new GetClusterArgs Empty => new GetClusterArgs(); + } + + public sealed class GetClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique ID of the Cluster. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetClusterInvokeArgs() + { + } + public static new GetClusterInvokeArgs Empty => new GetClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterResult + { + /// + /// The ARN of the Cluster. + /// + public readonly string? Arn; + /// + /// The MediaLive Channels that are currently running on Nodes in this Cluster. + /// + public readonly ImmutableArray ChannelIds; + /// + /// The unique ID of the Cluster. + /// + public readonly string? Id; + /// + /// The user-specified name of the Cluster to be created. + /// + public readonly string? Name; + public readonly Outputs.ClusterNetworkSettings? NetworkSettings; + public readonly Pulumi.AwsNative.MediaLive.ClusterState? State; + /// + /// A collection of key-value pairs. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetClusterResult( + string? arn, + + ImmutableArray channelIds, + + string? id, + + string? name, + + Outputs.ClusterNetworkSettings? networkSettings, + + Pulumi.AwsNative.MediaLive.ClusterState? state, + + ImmutableArray tags) + { + Arn = arn; + ChannelIds = channelIds; + Id = id; + Name = name; + NetworkSettings = networkSettings; + State = state; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetEventBridgeRuleTemplate.cs b/sdk/dotnet/MediaLive/GetEventBridgeRuleTemplate.cs new file mode 100644 index 0000000000..9edbb42f9f --- /dev/null +++ b/sdk/dotnet/MediaLive/GetEventBridgeRuleTemplate.cs @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetEventBridgeRuleTemplate + { + /// + /// Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + /// + public static Task InvokeAsync(GetEventBridgeRuleTemplateArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getEventBridgeRuleTemplate", args ?? new GetEventBridgeRuleTemplateArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + /// + public static Output Invoke(GetEventBridgeRuleTemplateInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getEventBridgeRuleTemplate", args ?? new GetEventBridgeRuleTemplateInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEventBridgeRuleTemplateArgs : global::Pulumi.InvokeArgs + { + /// + /// Placeholder documentation for __string + /// + [Input("identifier", required: true)] + public string Identifier { get; set; } = null!; + + public GetEventBridgeRuleTemplateArgs() + { + } + public static new GetEventBridgeRuleTemplateArgs Empty => new GetEventBridgeRuleTemplateArgs(); + } + + public sealed class GetEventBridgeRuleTemplateInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Placeholder documentation for __string + /// + [Input("identifier", required: true)] + public Input Identifier { get; set; } = null!; + + public GetEventBridgeRuleTemplateInvokeArgs() + { + } + public static new GetEventBridgeRuleTemplateInvokeArgs Empty => new GetEventBridgeRuleTemplateInvokeArgs(); + } + + + [OutputType] + public sealed class GetEventBridgeRuleTemplateResult + { + /// + /// An eventbridge rule template's ARN (Amazon Resource Name) + /// + public readonly string? Arn; + /// + /// Placeholder documentation for __timestampIso8601 + /// + public readonly string? CreatedAt; + /// + /// A resource's optional description. + /// + public readonly string? Description; + /// + /// Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + /// + public readonly ImmutableArray EventTargets; + public readonly Pulumi.AwsNative.MediaLive.EventBridgeRuleTemplateEventType? EventType; + /// + /// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + /// + public readonly string? GroupId; + /// + /// An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + /// + public readonly string? Id; + /// + /// Placeholder documentation for __string + /// + public readonly string? Identifier; + /// + /// Placeholder documentation for __timestampIso8601 + /// + public readonly string? ModifiedAt; + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + public readonly string? Name; + + [OutputConstructor] + private GetEventBridgeRuleTemplateResult( + string? arn, + + string? createdAt, + + string? description, + + ImmutableArray eventTargets, + + Pulumi.AwsNative.MediaLive.EventBridgeRuleTemplateEventType? eventType, + + string? groupId, + + string? id, + + string? identifier, + + string? modifiedAt, + + string? name) + { + Arn = arn; + CreatedAt = createdAt; + Description = description; + EventTargets = eventTargets; + EventType = eventType; + GroupId = groupId; + Id = id; + Identifier = identifier; + ModifiedAt = modifiedAt; + Name = name; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetEventBridgeRuleTemplateGroup.cs b/sdk/dotnet/MediaLive/GetEventBridgeRuleTemplateGroup.cs new file mode 100644 index 0000000000..f27e3b9c30 --- /dev/null +++ b/sdk/dotnet/MediaLive/GetEventBridgeRuleTemplateGroup.cs @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetEventBridgeRuleTemplateGroup + { + /// + /// Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + /// + public static Task InvokeAsync(GetEventBridgeRuleTemplateGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getEventBridgeRuleTemplateGroup", args ?? new GetEventBridgeRuleTemplateGroupArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + /// + public static Output Invoke(GetEventBridgeRuleTemplateGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getEventBridgeRuleTemplateGroup", args ?? new GetEventBridgeRuleTemplateGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEventBridgeRuleTemplateGroupArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public string Identifier { get; set; } = null!; + + public GetEventBridgeRuleTemplateGroupArgs() + { + } + public static new GetEventBridgeRuleTemplateGroupArgs Empty => new GetEventBridgeRuleTemplateGroupArgs(); + } + + public sealed class GetEventBridgeRuleTemplateGroupInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public Input Identifier { get; set; } = null!; + + public GetEventBridgeRuleTemplateGroupInvokeArgs() + { + } + public static new GetEventBridgeRuleTemplateGroupInvokeArgs Empty => new GetEventBridgeRuleTemplateGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetEventBridgeRuleTemplateGroupResult + { + /// + /// An eventbridge rule template group's ARN (Amazon Resource Name) + /// + public readonly string? Arn; + /// + /// The date and time of resource creation. + /// + public readonly string? CreatedAt; + /// + /// A resource's optional description. + /// + public readonly string? Description; + /// + /// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + /// + public readonly string? Id; + public readonly string? Identifier; + /// + /// The date and time of latest resource modification. + /// + public readonly string? ModifiedAt; + + [OutputConstructor] + private GetEventBridgeRuleTemplateGroupResult( + string? arn, + + string? createdAt, + + string? description, + + string? id, + + string? identifier, + + string? modifiedAt) + { + Arn = arn; + CreatedAt = createdAt; + Description = description; + Id = id; + Identifier = identifier; + ModifiedAt = modifiedAt; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetNetwork.cs b/sdk/dotnet/MediaLive/GetNetwork.cs new file mode 100644 index 0000000000..b61889c527 --- /dev/null +++ b/sdk/dotnet/MediaLive/GetNetwork.cs @@ -0,0 +1,118 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetNetwork + { + /// + /// Resource schema for AWS::MediaLive::Network. + /// + public static Task InvokeAsync(GetNetworkArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getNetwork", args ?? new GetNetworkArgs(), options.WithDefaults()); + + /// + /// Resource schema for AWS::MediaLive::Network. + /// + public static Output Invoke(GetNetworkInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getNetwork", args ?? new GetNetworkInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNetworkArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique ID of the Network. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetNetworkArgs() + { + } + public static new GetNetworkArgs Empty => new GetNetworkArgs(); + } + + public sealed class GetNetworkInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique ID of the Network. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetNetworkInvokeArgs() + { + } + public static new GetNetworkInvokeArgs Empty => new GetNetworkInvokeArgs(); + } + + + [OutputType] + public sealed class GetNetworkResult + { + /// + /// The ARN of the Network. + /// + public readonly string? Arn; + public readonly ImmutableArray AssociatedClusterIds; + /// + /// The unique ID of the Network. + /// + public readonly string? Id; + /// + /// The list of IP address cidr pools for the network + /// + public readonly ImmutableArray IpPools; + /// + /// The user-specified name of the Network to be created. + /// + public readonly string? Name; + /// + /// The routes for the network + /// + public readonly ImmutableArray Routes; + /// + /// The current state of the Network. + /// + public readonly Pulumi.AwsNative.MediaLive.NetworkState? State; + /// + /// A collection of key-value pairs. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetNetworkResult( + string? arn, + + ImmutableArray associatedClusterIds, + + string? id, + + ImmutableArray ipPools, + + string? name, + + ImmutableArray routes, + + Pulumi.AwsNative.MediaLive.NetworkState? state, + + ImmutableArray tags) + { + Arn = arn; + AssociatedClusterIds = associatedClusterIds; + Id = id; + IpPools = ipPools; + Name = name; + Routes = routes; + State = state; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetSdiSource.cs b/sdk/dotnet/MediaLive/GetSdiSource.cs new file mode 100644 index 0000000000..74d43a1f81 --- /dev/null +++ b/sdk/dotnet/MediaLive/GetSdiSource.cs @@ -0,0 +1,112 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetSdiSource + { + /// + /// Definition of AWS::MediaLive::SdiSource Resource Type + /// + public static Task InvokeAsync(GetSdiSourceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getSdiSource", args ?? new GetSdiSourceArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::SdiSource Resource Type + /// + public static Output Invoke(GetSdiSourceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getSdiSource", args ?? new GetSdiSourceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSdiSourceArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique identifier of the SdiSource. + /// + [Input("id", required: true)] + public string Id { get; set; } = null!; + + public GetSdiSourceArgs() + { + } + public static new GetSdiSourceArgs Empty => new GetSdiSourceArgs(); + } + + public sealed class GetSdiSourceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique identifier of the SdiSource. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + public GetSdiSourceInvokeArgs() + { + } + public static new GetSdiSourceInvokeArgs Empty => new GetSdiSourceInvokeArgs(); + } + + + [OutputType] + public sealed class GetSdiSourceResult + { + /// + /// The unique arn of the SdiSource. + /// + public readonly string? Arn; + /// + /// The unique identifier of the SdiSource. + /// + public readonly string? Id; + /// + /// The list of inputs currently using this SDI source. + /// + public readonly ImmutableArray Inputs; + public readonly Pulumi.AwsNative.MediaLive.SdiSourceMode? Mode; + /// + /// The name of the SdiSource. + /// + public readonly string? Name; + public readonly Pulumi.AwsNative.MediaLive.SdiSourceState? State; + /// + /// A collection of key-value pairs. + /// + public readonly ImmutableArray Tags; + public readonly Pulumi.AwsNative.MediaLive.SdiSourceType? Type; + + [OutputConstructor] + private GetSdiSourceResult( + string? arn, + + string? id, + + ImmutableArray inputs, + + Pulumi.AwsNative.MediaLive.SdiSourceMode? mode, + + string? name, + + Pulumi.AwsNative.MediaLive.SdiSourceState? state, + + ImmutableArray tags, + + Pulumi.AwsNative.MediaLive.SdiSourceType? type) + { + Arn = arn; + Id = id; + Inputs = inputs; + Mode = mode; + Name = name; + State = state; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/MediaLive/GetSignalMap.cs b/sdk/dotnet/MediaLive/GetSignalMap.cs new file mode 100644 index 0000000000..37d7df3633 --- /dev/null +++ b/sdk/dotnet/MediaLive/GetSignalMap.cs @@ -0,0 +1,152 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + public static class GetSignalMap + { + /// + /// Definition of AWS::MediaLive::SignalMap Resource Type + /// + public static Task InvokeAsync(GetSignalMapArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:medialive:getSignalMap", args ?? new GetSignalMapArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::MediaLive::SignalMap Resource Type + /// + public static Output Invoke(GetSignalMapInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:medialive:getSignalMap", args ?? new GetSignalMapInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSignalMapArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public string Identifier { get; set; } = null!; + + public GetSignalMapArgs() + { + } + public static new GetSignalMapArgs Empty => new GetSignalMapArgs(); + } + + public sealed class GetSignalMapInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("identifier", required: true)] + public Input Identifier { get; set; } = null!; + + public GetSignalMapInvokeArgs() + { + } + public static new GetSignalMapInvokeArgs Empty => new GetSignalMapInvokeArgs(); + } + + + [OutputType] + public sealed class GetSignalMapResult + { + /// + /// A signal map's ARN (Amazon Resource Name) + /// + public readonly string? Arn; + public readonly ImmutableArray CloudWatchAlarmTemplateGroupIds; + public readonly string? CreatedAt; + /// + /// A resource's optional description. + /// + public readonly string? Description; + /// + /// A top-level supported AWS resource ARN to discovery a signal map from. + /// + public readonly string? DiscoveryEntryPointArn; + /// + /// Error message associated with a failed creation or failed update attempt of a signal map. + /// + public readonly string? ErrorMessage; + public readonly ImmutableArray EventBridgeRuleTemplateGroupIds; + public readonly ImmutableDictionary? FailedMediaResourceMap; + /// + /// A signal map's id. + /// + public readonly string? Id; + public readonly string? Identifier; + public readonly string? LastDiscoveredAt; + public readonly Outputs.SignalMapSuccessfulMonitorDeployment? LastSuccessfulMonitorDeployment; + public readonly ImmutableDictionary? MediaResourceMap; + public readonly string? ModifiedAt; + /// + /// If true, there are pending monitor changes for this signal map that can be deployed. + /// + public readonly bool? MonitorChangesPendingDeployment; + public readonly Outputs.SignalMapMonitorDeployment? MonitorDeployment; + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + public readonly string? Name; + public readonly Pulumi.AwsNative.MediaLive.SignalMapStatus? Status; + + [OutputConstructor] + private GetSignalMapResult( + string? arn, + + ImmutableArray cloudWatchAlarmTemplateGroupIds, + + string? createdAt, + + string? description, + + string? discoveryEntryPointArn, + + string? errorMessage, + + ImmutableArray eventBridgeRuleTemplateGroupIds, + + ImmutableDictionary? failedMediaResourceMap, + + string? id, + + string? identifier, + + string? lastDiscoveredAt, + + Outputs.SignalMapSuccessfulMonitorDeployment? lastSuccessfulMonitorDeployment, + + ImmutableDictionary? mediaResourceMap, + + string? modifiedAt, + + bool? monitorChangesPendingDeployment, + + Outputs.SignalMapMonitorDeployment? monitorDeployment, + + string? name, + + Pulumi.AwsNative.MediaLive.SignalMapStatus? status) + { + Arn = arn; + CloudWatchAlarmTemplateGroupIds = cloudWatchAlarmTemplateGroupIds; + CreatedAt = createdAt; + Description = description; + DiscoveryEntryPointArn = discoveryEntryPointArn; + ErrorMessage = errorMessage; + EventBridgeRuleTemplateGroupIds = eventBridgeRuleTemplateGroupIds; + FailedMediaResourceMap = failedMediaResourceMap; + Id = id; + Identifier = identifier; + LastDiscoveredAt = lastDiscoveredAt; + LastSuccessfulMonitorDeployment = lastSuccessfulMonitorDeployment; + MediaResourceMap = mediaResourceMap; + ModifiedAt = modifiedAt; + MonitorChangesPendingDeployment = monitorChangesPendingDeployment; + MonitorDeployment = monitorDeployment; + Name = name; + Status = status; + } + } +} diff --git a/sdk/dotnet/MediaLive/Inputs/ClusterInterfaceMappingArgs.cs b/sdk/dotnet/MediaLive/Inputs/ClusterInterfaceMappingArgs.cs new file mode 100644 index 0000000000..8b066ecf1a --- /dev/null +++ b/sdk/dotnet/MediaLive/Inputs/ClusterInterfaceMappingArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Inputs +{ + + /// + /// Network mappings for the cluster + /// + public sealed class ClusterInterfaceMappingArgs : global::Pulumi.ResourceArgs + { + /// + /// logical interface name, unique in the list + /// + [Input("logicalInterfaceName")] + public Input? LogicalInterfaceName { get; set; } + + /// + /// Network Id to be associated with the logical interface name, can be duplicated in list + /// + [Input("networkId")] + public Input? NetworkId { get; set; } + + public ClusterInterfaceMappingArgs() + { + } + public static new ClusterInterfaceMappingArgs Empty => new ClusterInterfaceMappingArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Inputs/ClusterNetworkSettingsArgs.cs b/sdk/dotnet/MediaLive/Inputs/ClusterNetworkSettingsArgs.cs new file mode 100644 index 0000000000..8991ff476e --- /dev/null +++ b/sdk/dotnet/MediaLive/Inputs/ClusterNetworkSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Inputs +{ + + /// + /// On premises settings which will have the interface network mappings and default Output logical interface + /// + public sealed class ClusterNetworkSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Default value if the customer does not define it in channel Output API + /// + [Input("defaultRoute")] + public Input? DefaultRoute { get; set; } + + [Input("interfaceMappings")] + private InputList? _interfaceMappings; + + /// + /// Network mappings for the cluster + /// + public InputList InterfaceMappings + { + get => _interfaceMappings ?? (_interfaceMappings = new InputList()); + set => _interfaceMappings = value; + } + + public ClusterNetworkSettingsArgs() + { + } + public static new ClusterNetworkSettingsArgs Empty => new ClusterNetworkSettingsArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Inputs/EventBridgeRuleTemplateTargetArgs.cs b/sdk/dotnet/MediaLive/Inputs/EventBridgeRuleTemplateTargetArgs.cs new file mode 100644 index 0000000000..b2f990a216 --- /dev/null +++ b/sdk/dotnet/MediaLive/Inputs/EventBridgeRuleTemplateTargetArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Inputs +{ + + /// + /// The target to which to send matching events. + /// + public sealed class EventBridgeRuleTemplateTargetArgs : global::Pulumi.ResourceArgs + { + /// + /// Target ARNs must be either an SNS topic or CloudWatch log group. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public EventBridgeRuleTemplateTargetArgs() + { + } + public static new EventBridgeRuleTemplateTargetArgs Empty => new EventBridgeRuleTemplateTargetArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Inputs/NetworkIpPoolArgs.cs b/sdk/dotnet/MediaLive/Inputs/NetworkIpPoolArgs.cs new file mode 100644 index 0000000000..ffe27fb8d8 --- /dev/null +++ b/sdk/dotnet/MediaLive/Inputs/NetworkIpPoolArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Inputs +{ + + /// + /// IP address cidr pool + /// + public sealed class NetworkIpPoolArgs : global::Pulumi.ResourceArgs + { + /// + /// IP address cidr pool + /// + [Input("cidr")] + public Input? Cidr { get; set; } + + public NetworkIpPoolArgs() + { + } + public static new NetworkIpPoolArgs Empty => new NetworkIpPoolArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Inputs/NetworkRouteArgs.cs b/sdk/dotnet/MediaLive/Inputs/NetworkRouteArgs.cs new file mode 100644 index 0000000000..9657e07bf0 --- /dev/null +++ b/sdk/dotnet/MediaLive/Inputs/NetworkRouteArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Inputs +{ + + public sealed class NetworkRouteArgs : global::Pulumi.ResourceArgs + { + /// + /// Ip address cidr + /// + [Input("cidr")] + public Input? Cidr { get; set; } + + /// + /// IP address for the route packet paths + /// + [Input("gateway")] + public Input? Gateway { get; set; } + + public NetworkRouteArgs() + { + } + public static new NetworkRouteArgs Empty => new NetworkRouteArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Network.cs b/sdk/dotnet/MediaLive/Network.cs new file mode 100644 index 0000000000..ff0a65f47a --- /dev/null +++ b/sdk/dotnet/MediaLive/Network.cs @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Resource schema for AWS::MediaLive::Network. + /// + [AwsNativeResourceType("aws-native:medialive:Network")] + public partial class Network : global::Pulumi.CustomResource + { + /// + /// The ARN of the Network. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + [Output("associatedClusterIds")] + public Output> AssociatedClusterIds { get; private set; } = null!; + + /// + /// The unique ID of the Network. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The list of IP address cidr pools for the network + /// + [Output("ipPools")] + public Output> IpPools { get; private set; } = null!; + + /// + /// The user-specified name of the Network to be created. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The routes for the network + /// + [Output("routes")] + public Output> Routes { get; private set; } = null!; + + /// + /// The current state of the Network. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// A collection of key-value pairs. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a Network 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 Network(string name, NetworkArgs args, CustomResourceOptions? options = null) + : base("aws-native:medialive:Network", name, args ?? new NetworkArgs(), MakeResourceOptions(options, "")) + { + } + + private Network(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:Network", name, null, 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 Network 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. + /// A bag of options that control this resource's behavior + public static Network Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Network(name, id, options); + } + } + + public sealed class NetworkArgs : global::Pulumi.ResourceArgs + { + [Input("ipPools", required: true)] + private InputList? _ipPools; + + /// + /// The list of IP address cidr pools for the network + /// + public InputList IpPools + { + get => _ipPools ?? (_ipPools = new InputList()); + set => _ipPools = value; + } + + /// + /// The user-specified name of the Network to be created. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("routes")] + private InputList? _routes; + + /// + /// The routes for the network + /// + public InputList Routes + { + get => _routes ?? (_routes = new InputList()); + set => _routes = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// A collection of key-value pairs. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public NetworkArgs() + { + } + public static new NetworkArgs Empty => new NetworkArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/ClusterInterfaceMapping.cs b/sdk/dotnet/MediaLive/Outputs/ClusterInterfaceMapping.cs new file mode 100644 index 0000000000..65e31fe02c --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/ClusterInterfaceMapping.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// Network mappings for the cluster + /// + [OutputType] + public sealed class ClusterInterfaceMapping + { + /// + /// logical interface name, unique in the list + /// + public readonly string? LogicalInterfaceName; + /// + /// Network Id to be associated with the logical interface name, can be duplicated in list + /// + public readonly string? NetworkId; + + [OutputConstructor] + private ClusterInterfaceMapping( + string? logicalInterfaceName, + + string? networkId) + { + LogicalInterfaceName = logicalInterfaceName; + NetworkId = networkId; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/ClusterNetworkSettings.cs b/sdk/dotnet/MediaLive/Outputs/ClusterNetworkSettings.cs new file mode 100644 index 0000000000..0f7ff1d4f1 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/ClusterNetworkSettings.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// On premises settings which will have the interface network mappings and default Output logical interface + /// + [OutputType] + public sealed class ClusterNetworkSettings + { + /// + /// Default value if the customer does not define it in channel Output API + /// + public readonly string? DefaultRoute; + /// + /// Network mappings for the cluster + /// + public readonly ImmutableArray InterfaceMappings; + + [OutputConstructor] + private ClusterNetworkSettings( + string? defaultRoute, + + ImmutableArray interfaceMappings) + { + DefaultRoute = defaultRoute; + InterfaceMappings = interfaceMappings; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/EventBridgeRuleTemplateTarget.cs b/sdk/dotnet/MediaLive/Outputs/EventBridgeRuleTemplateTarget.cs new file mode 100644 index 0000000000..e012514ba1 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/EventBridgeRuleTemplateTarget.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// The target to which to send matching events. + /// + [OutputType] + public sealed class EventBridgeRuleTemplateTarget + { + /// + /// Target ARNs must be either an SNS topic or CloudWatch log group. + /// + public readonly string Arn; + + [OutputConstructor] + private EventBridgeRuleTemplateTarget(string arn) + { + Arn = arn; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/NetworkIpPool.cs b/sdk/dotnet/MediaLive/Outputs/NetworkIpPool.cs new file mode 100644 index 0000000000..67d5afcf16 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/NetworkIpPool.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// IP address cidr pool + /// + [OutputType] + public sealed class NetworkIpPool + { + /// + /// IP address cidr pool + /// + public readonly string? Cidr; + + [OutputConstructor] + private NetworkIpPool(string? cidr) + { + Cidr = cidr; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/NetworkRoute.cs b/sdk/dotnet/MediaLive/Outputs/NetworkRoute.cs new file mode 100644 index 0000000000..d159c0edf8 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/NetworkRoute.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + [OutputType] + public sealed class NetworkRoute + { + /// + /// Ip address cidr + /// + public readonly string? Cidr; + /// + /// IP address for the route packet paths + /// + public readonly string? Gateway; + + [OutputConstructor] + private NetworkRoute( + string? cidr, + + string? gateway) + { + Cidr = cidr; + Gateway = gateway; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/SignalMapMediaResource.cs b/sdk/dotnet/MediaLive/Outputs/SignalMapMediaResource.cs new file mode 100644 index 0000000000..bb3470ac81 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/SignalMapMediaResource.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// An AWS resource used in media workflows. + /// + [OutputType] + public sealed class SignalMapMediaResource + { + public readonly ImmutableArray Destinations; + /// + /// The logical name of an AWS media resource. + /// + public readonly string? Name; + public readonly ImmutableArray Sources; + + [OutputConstructor] + private SignalMapMediaResource( + ImmutableArray destinations, + + string? name, + + ImmutableArray sources) + { + Destinations = destinations; + Name = name; + Sources = sources; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/SignalMapMediaResourceNeighbor.cs b/sdk/dotnet/MediaLive/Outputs/SignalMapMediaResourceNeighbor.cs new file mode 100644 index 0000000000..bab28f5b3b --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/SignalMapMediaResourceNeighbor.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// A direct source or destination neighbor to an AWS media resource. + /// + [OutputType] + public sealed class SignalMapMediaResourceNeighbor + { + /// + /// The ARN of a resource used in AWS media workflows. + /// + public readonly string Arn; + /// + /// The logical name of an AWS media resource. + /// + public readonly string? Name; + + [OutputConstructor] + private SignalMapMediaResourceNeighbor( + string arn, + + string? name) + { + Arn = arn; + Name = name; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/SignalMapMonitorDeployment.cs b/sdk/dotnet/MediaLive/Outputs/SignalMapMonitorDeployment.cs new file mode 100644 index 0000000000..add1501f59 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/SignalMapMonitorDeployment.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// Represents the latest monitor deployment of a signal map. + /// + [OutputType] + public sealed class SignalMapMonitorDeployment + { + /// + /// URI associated with a signal map's monitor deployment. + /// + public readonly string? DetailsUri; + /// + /// Error message associated with a failed monitor deployment of a signal map. + /// + public readonly string? ErrorMessage; + public readonly Pulumi.AwsNative.MediaLive.SignalMapMonitorDeploymentStatus Status; + + [OutputConstructor] + private SignalMapMonitorDeployment( + string? detailsUri, + + string? errorMessage, + + Pulumi.AwsNative.MediaLive.SignalMapMonitorDeploymentStatus status) + { + DetailsUri = detailsUri; + ErrorMessage = errorMessage; + Status = status; + } + } +} diff --git a/sdk/dotnet/MediaLive/Outputs/SignalMapSuccessfulMonitorDeployment.cs b/sdk/dotnet/MediaLive/Outputs/SignalMapSuccessfulMonitorDeployment.cs new file mode 100644 index 0000000000..940d2ddcf1 --- /dev/null +++ b/sdk/dotnet/MediaLive/Outputs/SignalMapSuccessfulMonitorDeployment.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive.Outputs +{ + + /// + /// Represents the latest successful monitor deployment of a signal map. + /// + [OutputType] + public sealed class SignalMapSuccessfulMonitorDeployment + { + /// + /// URI associated with a signal map's monitor deployment. + /// + public readonly string DetailsUri; + public readonly Pulumi.AwsNative.MediaLive.SignalMapMonitorDeploymentStatus Status; + + [OutputConstructor] + private SignalMapSuccessfulMonitorDeployment( + string detailsUri, + + Pulumi.AwsNative.MediaLive.SignalMapMonitorDeploymentStatus status) + { + DetailsUri = detailsUri; + Status = status; + } + } +} diff --git a/sdk/dotnet/MediaLive/SdiSource.cs b/sdk/dotnet/MediaLive/SdiSource.cs new file mode 100644 index 0000000000..bd38be49ae --- /dev/null +++ b/sdk/dotnet/MediaLive/SdiSource.cs @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::SdiSource Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:SdiSource")] + public partial class SdiSource : global::Pulumi.CustomResource + { + /// + /// The unique arn of the SdiSource. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The unique identifier of the SdiSource. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The list of inputs currently using this SDI source. + /// + [Output("inputs")] + public Output> Inputs { get; private set; } = null!; + + [Output("mode")] + public Output Mode { get; private set; } = null!; + + /// + /// The name of the SdiSource. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// A collection of key-value pairs. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a SdiSource 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 SdiSource(string name, SdiSourceArgs args, CustomResourceOptions? options = null) + : base("aws-native:medialive:SdiSource", name, args ?? new SdiSourceArgs(), MakeResourceOptions(options, "")) + { + } + + private SdiSource(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:SdiSource", name, null, 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 SdiSource 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. + /// A bag of options that control this resource's behavior + public static SdiSource Get(string name, Input id, CustomResourceOptions? options = null) + { + return new SdiSource(name, id, options); + } + } + + public sealed class SdiSourceArgs : global::Pulumi.ResourceArgs + { + [Input("mode")] + public Input? Mode { get; set; } + + /// + /// The name of the SdiSource. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// A collection of key-value pairs. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public SdiSourceArgs() + { + } + public static new SdiSourceArgs Empty => new SdiSourceArgs(); + } +} diff --git a/sdk/dotnet/MediaLive/SignalMap.cs b/sdk/dotnet/MediaLive/SignalMap.cs new file mode 100644 index 0000000000..809e3b9e15 --- /dev/null +++ b/sdk/dotnet/MediaLive/SignalMap.cs @@ -0,0 +1,210 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.MediaLive +{ + /// + /// Definition of AWS::MediaLive::SignalMap Resource Type + /// + [AwsNativeResourceType("aws-native:medialive:SignalMap")] + public partial class SignalMap : global::Pulumi.CustomResource + { + /// + /// A signal map's ARN (Amazon Resource Name) + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// A signal map's id. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + [Output("cloudWatchAlarmTemplateGroupIdentifiers")] + public Output> CloudWatchAlarmTemplateGroupIdentifiers { get; private set; } = null!; + + [Output("cloudWatchAlarmTemplateGroupIds")] + public Output> CloudWatchAlarmTemplateGroupIds { get; private set; } = null!; + + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// A resource's optional description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// A top-level supported AWS resource ARN to discovery a signal map from. + /// + [Output("discoveryEntryPointArn")] + public Output DiscoveryEntryPointArn { get; private set; } = null!; + + /// + /// Error message associated with a failed creation or failed update attempt of a signal map. + /// + [Output("errorMessage")] + public Output ErrorMessage { get; private set; } = null!; + + [Output("eventBridgeRuleTemplateGroupIdentifiers")] + public Output> EventBridgeRuleTemplateGroupIdentifiers { get; private set; } = null!; + + [Output("eventBridgeRuleTemplateGroupIds")] + public Output> EventBridgeRuleTemplateGroupIds { get; private set; } = null!; + + [Output("failedMediaResourceMap")] + public Output> FailedMediaResourceMap { get; private set; } = null!; + + /// + /// If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + /// + [Output("forceRediscovery")] + public Output ForceRediscovery { get; private set; } = null!; + + [Output("identifier")] + public Output Identifier { get; private set; } = null!; + + [Output("lastDiscoveredAt")] + public Output LastDiscoveredAt { get; private set; } = null!; + + [Output("lastSuccessfulMonitorDeployment")] + public Output LastSuccessfulMonitorDeployment { get; private set; } = null!; + + [Output("mediaResourceMap")] + public Output> MediaResourceMap { get; private set; } = null!; + + [Output("modifiedAt")] + public Output ModifiedAt { get; private set; } = null!; + + /// + /// If true, there are pending monitor changes for this signal map that can be deployed. + /// + [Output("monitorChangesPendingDeployment")] + public Output MonitorChangesPendingDeployment { get; private set; } = null!; + + [Output("monitorDeployment")] + public Output MonitorDeployment { get; private set; } = null!; + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("status")] + public Output Status { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a SignalMap 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 SignalMap(string name, SignalMapArgs args, CustomResourceOptions? options = null) + : base("aws-native:medialive:SignalMap", name, args ?? new SignalMapArgs(), MakeResourceOptions(options, "")) + { + } + + private SignalMap(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:medialive:SignalMap", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "tags.*", + }, + }; + 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 SignalMap 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. + /// A bag of options that control this resource's behavior + public static SignalMap Get(string name, Input id, CustomResourceOptions? options = null) + { + return new SignalMap(name, id, options); + } + } + + public sealed class SignalMapArgs : global::Pulumi.ResourceArgs + { + [Input("cloudWatchAlarmTemplateGroupIdentifiers")] + private InputList? _cloudWatchAlarmTemplateGroupIdentifiers; + public InputList CloudWatchAlarmTemplateGroupIdentifiers + { + get => _cloudWatchAlarmTemplateGroupIdentifiers ?? (_cloudWatchAlarmTemplateGroupIdentifiers = new InputList()); + set => _cloudWatchAlarmTemplateGroupIdentifiers = value; + } + + /// + /// A resource's optional description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A top-level supported AWS resource ARN to discovery a signal map from. + /// + [Input("discoveryEntryPointArn", required: true)] + public Input DiscoveryEntryPointArn { get; set; } = null!; + + [Input("eventBridgeRuleTemplateGroupIdentifiers")] + private InputList? _eventBridgeRuleTemplateGroupIdentifiers; + public InputList EventBridgeRuleTemplateGroupIdentifiers + { + get => _eventBridgeRuleTemplateGroupIdentifiers ?? (_eventBridgeRuleTemplateGroupIdentifiers = new InputList()); + set => _eventBridgeRuleTemplateGroupIdentifiers = value; + } + + /// + /// If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + /// + [Input("forceRediscovery")] + public Input? ForceRediscovery { get; set; } + + /// + /// A resource's name. Names must be unique within the scope of a resource type in a specific region. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public SignalMapArgs() + { + } + public static new SignalMapArgs Empty => new SignalMapArgs(); + } +} diff --git a/sdk/dotnet/PaymentCryptography/Enums.cs b/sdk/dotnet/PaymentCryptography/Enums.cs index fee86bac1b..d393a982fc 100644 --- a/sdk/dotnet/PaymentCryptography/Enums.cs +++ b/sdk/dotnet/PaymentCryptography/Enums.cs @@ -25,6 +25,8 @@ private KeyAlgorithm(string value) public static KeyAlgorithm Rsa2048 { get; } = new KeyAlgorithm("RSA_2048"); public static KeyAlgorithm Rsa3072 { get; } = new KeyAlgorithm("RSA_3072"); public static KeyAlgorithm Rsa4096 { get; } = new KeyAlgorithm("RSA_4096"); + public static KeyAlgorithm EccNistP256 { get; } = new KeyAlgorithm("ECC_NIST_P256"); + public static KeyAlgorithm EccNistP384 { get; } = new KeyAlgorithm("ECC_NIST_P384"); public static bool operator ==(KeyAlgorithm left, KeyAlgorithm right) => left.Equals(right); public static bool operator !=(KeyAlgorithm left, KeyAlgorithm right) => !left.Equals(right); diff --git a/sdk/dotnet/PcaConnectorScep/Challenge.cs b/sdk/dotnet/PcaConnectorScep/Challenge.cs new file mode 100644 index 0000000000..e53359c692 --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/Challenge.cs @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep +{ + /// + /// Represents a SCEP Challenge that is used for certificate enrollment + /// + [AwsNativeResourceType("aws-native:pcaconnectorscep:Challenge")] + public partial class Challenge : global::Pulumi.CustomResource + { + [Output("challengeArn")] + public Output ChallengeArn { get; private set; } = null!; + + [Output("connectorArn")] + public Output ConnectorArn { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a Challenge 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 Challenge(string name, ChallengeArgs args, CustomResourceOptions? options = null) + : base("aws-native:pcaconnectorscep:Challenge", name, args ?? new ChallengeArgs(), MakeResourceOptions(options, "")) + { + } + + private Challenge(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:pcaconnectorscep:Challenge", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "connectorArn", + }, + }; + 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 Challenge 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. + /// A bag of options that control this resource's behavior + public static Challenge Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Challenge(name, id, options); + } + } + + public sealed class ChallengeArgs : global::Pulumi.ResourceArgs + { + [Input("connectorArn", required: true)] + public Input ConnectorArn { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ChallengeArgs() + { + } + public static new ChallengeArgs Empty => new ChallengeArgs(); + } +} diff --git a/sdk/dotnet/PcaConnectorScep/Connector.cs b/sdk/dotnet/PcaConnectorScep/Connector.cs new file mode 100644 index 0000000000..b49bcc1dab --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/Connector.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep +{ + /// + /// Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + /// + [AwsNativeResourceType("aws-native:pcaconnectorscep:Connector")] + public partial class Connector : global::Pulumi.CustomResource + { + [Output("certificateAuthorityArn")] + public Output CertificateAuthorityArn { get; private set; } = null!; + + [Output("connectorArn")] + public Output ConnectorArn { get; private set; } = null!; + + [Output("endpoint")] + public Output Endpoint { get; private set; } = null!; + + [Output("mobileDeviceManagement")] + public Output MobileDeviceManagement { get; private set; } = null!; + + [Output("openIdConfiguration")] + public Output OpenIdConfiguration { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("type")] + public Output Type { get; private set; } = null!; + + + /// + /// Create a Connector 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 Connector(string name, ConnectorArgs args, CustomResourceOptions? options = null) + : base("aws-native:pcaconnectorscep:Connector", name, args ?? new ConnectorArgs(), MakeResourceOptions(options, "")) + { + } + + private Connector(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:pcaconnectorscep:Connector", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "certificateAuthorityArn", + "mobileDeviceManagement", + }, + }; + 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 Connector 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. + /// A bag of options that control this resource's behavior + public static Connector Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Connector(name, id, options); + } + } + + public sealed class ConnectorArgs : global::Pulumi.ResourceArgs + { + [Input("certificateAuthorityArn", required: true)] + public Input CertificateAuthorityArn { get; set; } = null!; + + [Input("mobileDeviceManagement")] + public Input? MobileDeviceManagement { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ConnectorArgs() + { + } + public static new ConnectorArgs Empty => new ConnectorArgs(); + } +} diff --git a/sdk/dotnet/PcaConnectorScep/Enums.cs b/sdk/dotnet/PcaConnectorScep/Enums.cs new file mode 100644 index 0000000000..e9fb3fe899 --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/Enums.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AwsNative.PcaConnectorScep +{ + [EnumType] + public readonly struct ConnectorType : IEquatable + { + private readonly string _value; + + private ConnectorType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ConnectorType GeneralPurpose { get; } = new ConnectorType("GENERAL_PURPOSE"); + public static ConnectorType Intune { get; } = new ConnectorType("INTUNE"); + + public static bool operator ==(ConnectorType left, ConnectorType right) => left.Equals(right); + public static bool operator !=(ConnectorType left, ConnectorType right) => !left.Equals(right); + + public static explicit operator string(ConnectorType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ConnectorType other && Equals(other); + public bool Equals(ConnectorType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/PcaConnectorScep/GetChallenge.cs b/sdk/dotnet/PcaConnectorScep/GetChallenge.cs new file mode 100644 index 0000000000..d6a4bc4b1f --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/GetChallenge.cs @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep +{ + public static class GetChallenge + { + /// + /// Represents a SCEP Challenge that is used for certificate enrollment + /// + public static Task InvokeAsync(GetChallengeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:pcaconnectorscep:getChallenge", args ?? new GetChallengeArgs(), options.WithDefaults()); + + /// + /// Represents a SCEP Challenge that is used for certificate enrollment + /// + public static Output Invoke(GetChallengeInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcaconnectorscep:getChallenge", args ?? new GetChallengeInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetChallengeArgs : global::Pulumi.InvokeArgs + { + [Input("challengeArn", required: true)] + public string ChallengeArn { get; set; } = null!; + + public GetChallengeArgs() + { + } + public static new GetChallengeArgs Empty => new GetChallengeArgs(); + } + + public sealed class GetChallengeInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("challengeArn", required: true)] + public Input ChallengeArn { get; set; } = null!; + + public GetChallengeInvokeArgs() + { + } + public static new GetChallengeInvokeArgs Empty => new GetChallengeInvokeArgs(); + } + + + [OutputType] + public sealed class GetChallengeResult + { + public readonly string? ChallengeArn; + public readonly ImmutableDictionary? Tags; + + [OutputConstructor] + private GetChallengeResult( + string? challengeArn, + + ImmutableDictionary? tags) + { + ChallengeArn = challengeArn; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/PcaConnectorScep/GetConnector.cs b/sdk/dotnet/PcaConnectorScep/GetConnector.cs new file mode 100644 index 0000000000..683744c2f6 --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/GetConnector.cs @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep +{ + public static class GetConnector + { + /// + /// Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + /// + public static Task InvokeAsync(GetConnectorArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:pcaconnectorscep:getConnector", args ?? new GetConnectorArgs(), options.WithDefaults()); + + /// + /// Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + /// + public static Output Invoke(GetConnectorInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcaconnectorscep:getConnector", args ?? new GetConnectorInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetConnectorArgs : global::Pulumi.InvokeArgs + { + [Input("connectorArn", required: true)] + public string ConnectorArn { get; set; } = null!; + + public GetConnectorArgs() + { + } + public static new GetConnectorArgs Empty => new GetConnectorArgs(); + } + + public sealed class GetConnectorInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("connectorArn", required: true)] + public Input ConnectorArn { get; set; } = null!; + + public GetConnectorInvokeArgs() + { + } + public static new GetConnectorInvokeArgs Empty => new GetConnectorInvokeArgs(); + } + + + [OutputType] + public sealed class GetConnectorResult + { + public readonly string? ConnectorArn; + public readonly string? Endpoint; + public readonly Outputs.ConnectorOpenIdConfiguration? OpenIdConfiguration; + public readonly ImmutableDictionary? Tags; + public readonly Pulumi.AwsNative.PcaConnectorScep.ConnectorType? Type; + + [OutputConstructor] + private GetConnectorResult( + string? connectorArn, + + string? endpoint, + + Outputs.ConnectorOpenIdConfiguration? openIdConfiguration, + + ImmutableDictionary? tags, + + Pulumi.AwsNative.PcaConnectorScep.ConnectorType? type) + { + ConnectorArn = connectorArn; + Endpoint = endpoint; + OpenIdConfiguration = openIdConfiguration; + Tags = tags; + Type = type; + } + } +} diff --git a/sdk/dotnet/PcaConnectorScep/Inputs/ConnectorMobileDeviceManagementArgs.cs b/sdk/dotnet/PcaConnectorScep/Inputs/ConnectorMobileDeviceManagementArgs.cs new file mode 100644 index 0000000000..c116c7a39d --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/Inputs/ConnectorMobileDeviceManagementArgs.cs @@ -0,0 +1,20 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep.Inputs +{ + + public sealed class ConnectorMobileDeviceManagementArgs : global::Pulumi.ResourceArgs + { + public ConnectorMobileDeviceManagementArgs() + { + } + public static new ConnectorMobileDeviceManagementArgs Empty => new ConnectorMobileDeviceManagementArgs(); + } +} diff --git a/sdk/dotnet/PcaConnectorScep/Outputs/ConnectorMobileDeviceManagement.cs b/sdk/dotnet/PcaConnectorScep/Outputs/ConnectorMobileDeviceManagement.cs new file mode 100644 index 0000000000..8a7b6aa82e --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/Outputs/ConnectorMobileDeviceManagement.cs @@ -0,0 +1,21 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep.Outputs +{ + + [OutputType] + public sealed class ConnectorMobileDeviceManagement + { + [OutputConstructor] + private ConnectorMobileDeviceManagement() + { + } + } +} diff --git a/sdk/dotnet/PcaConnectorScep/Outputs/ConnectorOpenIdConfiguration.cs b/sdk/dotnet/PcaConnectorScep/Outputs/ConnectorOpenIdConfiguration.cs new file mode 100644 index 0000000000..5e564a96f5 --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/Outputs/ConnectorOpenIdConfiguration.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.PcaConnectorScep.Outputs +{ + + [OutputType] + public sealed class ConnectorOpenIdConfiguration + { + public readonly string? Audience; + public readonly string? Issuer; + public readonly string? Subject; + + [OutputConstructor] + private ConnectorOpenIdConfiguration( + string? audience, + + string? issuer, + + string? subject) + { + Audience = audience; + Issuer = issuer; + Subject = subject; + } + } +} diff --git a/sdk/dotnet/PcaConnectorScep/README.md b/sdk/dotnet/PcaConnectorScep/README.md new file mode 100644 index 0000000000..77b2f47ec2 --- /dev/null +++ b/sdk/dotnet/PcaConnectorScep/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Amazon Web Services (AWS) resources. diff --git a/sdk/dotnet/QBusiness/Application.cs b/sdk/dotnet/QBusiness/Application.cs index 67339e4ce3..bf5e5c2c82 100644 --- a/sdk/dotnet/QBusiness/Application.cs +++ b/sdk/dotnet/QBusiness/Application.cs @@ -105,7 +105,7 @@ public partial class Application : global::Pulumi.CustomResource public Output QAppsConfiguration { get; private set; } = null!; /// - /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. /// [Output("roleArn")] public Output RoleArn { get; private set; } = null!; @@ -251,7 +251,7 @@ public InputList ClientIdsForOidc public Input? QAppsConfiguration { get; set; } /// - /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. /// [Input("roleArn")] public Input? RoleArn { get; set; } diff --git a/sdk/dotnet/QBusiness/GetApplication.cs b/sdk/dotnet/QBusiness/GetApplication.cs index 87dd442f29..c75d847786 100644 --- a/sdk/dotnet/QBusiness/GetApplication.cs +++ b/sdk/dotnet/QBusiness/GetApplication.cs @@ -98,7 +98,7 @@ public sealed class GetApplicationResult /// public readonly Outputs.ApplicationQAppsConfiguration? QAppsConfiguration; /// - /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + /// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. /// public readonly string? RoleArn; /// diff --git a/sdk/dotnet/QuickSight/Enums.cs b/sdk/dotnet/QuickSight/Enums.cs index 9904a9fd1c..bf83b0971c 100644 --- a/sdk/dotnet/QuickSight/Enums.cs +++ b/sdk/dotnet/QuickSight/Enums.cs @@ -1899,6 +1899,34 @@ private AnalysisPrimaryValueDisplayType(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct AnalysisQueryExecutionMode : IEquatable + { + private readonly string _value; + + private AnalysisQueryExecutionMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static AnalysisQueryExecutionMode Auto { get; } = new AnalysisQueryExecutionMode("AUTO"); + public static AnalysisQueryExecutionMode Manual { get; } = new AnalysisQueryExecutionMode("MANUAL"); + + public static bool operator ==(AnalysisQueryExecutionMode left, AnalysisQueryExecutionMode right) => left.Equals(right); + public static bool operator !=(AnalysisQueryExecutionMode left, AnalysisQueryExecutionMode right) => !left.Equals(right); + + public static explicit operator string(AnalysisQueryExecutionMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is AnalysisQueryExecutionMode other && Equals(other); + public bool Equals(AnalysisQueryExecutionMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct AnalysisRadarChartAxesRangeScale : IEquatable { @@ -9464,6 +9492,34 @@ private TemplatePrimaryValueDisplayType(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct TemplateQueryExecutionMode : IEquatable + { + private readonly string _value; + + private TemplateQueryExecutionMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static TemplateQueryExecutionMode Auto { get; } = new TemplateQueryExecutionMode("AUTO"); + public static TemplateQueryExecutionMode Manual { get; } = new TemplateQueryExecutionMode("MANUAL"); + + public static bool operator ==(TemplateQueryExecutionMode left, TemplateQueryExecutionMode right) => left.Equals(right); + public static bool operator !=(TemplateQueryExecutionMode left, TemplateQueryExecutionMode right) => !left.Equals(right); + + public static explicit operator string(TemplateQueryExecutionMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is TemplateQueryExecutionMode other && Equals(other); + public bool Equals(TemplateQueryExecutionMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct TemplateRadarChartAxesRangeScale : IEquatable { diff --git a/sdk/dotnet/QuickSight/Inputs/AnalysisDefinitionArgs.cs b/sdk/dotnet/QuickSight/Inputs/AnalysisDefinitionArgs.cs index cfa7a6f7ab..8dc550abe7 100644 --- a/sdk/dotnet/QuickSight/Inputs/AnalysisDefinitionArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/AnalysisDefinitionArgs.cs @@ -87,6 +87,9 @@ public InputList ParameterDeclarations set => _parameterDeclarations = value; } + [Input("queryExecutionOptions")] + public Input? QueryExecutionOptions { get; set; } + [Input("sheets")] private InputList? _sheets; diff --git a/sdk/dotnet/QuickSight/Inputs/AnalysisQueryExecutionOptionsArgs.cs b/sdk/dotnet/QuickSight/Inputs/AnalysisQueryExecutionOptionsArgs.cs new file mode 100644 index 0000000000..570e05377e --- /dev/null +++ b/sdk/dotnet/QuickSight/Inputs/AnalysisQueryExecutionOptionsArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.QuickSight.Inputs +{ + + public sealed class AnalysisQueryExecutionOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("queryExecutionMode")] + public Input? QueryExecutionMode { get; set; } + + public AnalysisQueryExecutionOptionsArgs() + { + } + public static new AnalysisQueryExecutionOptionsArgs Empty => new AnalysisQueryExecutionOptionsArgs(); + } +} diff --git a/sdk/dotnet/QuickSight/Inputs/TemplateQueryExecutionOptionsArgs.cs b/sdk/dotnet/QuickSight/Inputs/TemplateQueryExecutionOptionsArgs.cs new file mode 100644 index 0000000000..e2813ec88a --- /dev/null +++ b/sdk/dotnet/QuickSight/Inputs/TemplateQueryExecutionOptionsArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.QuickSight.Inputs +{ + + public sealed class TemplateQueryExecutionOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("queryExecutionMode")] + public Input? QueryExecutionMode { get; set; } + + public TemplateQueryExecutionOptionsArgs() + { + } + public static new TemplateQueryExecutionOptionsArgs Empty => new TemplateQueryExecutionOptionsArgs(); + } +} diff --git a/sdk/dotnet/QuickSight/Inputs/TemplateVersionDefinitionArgs.cs b/sdk/dotnet/QuickSight/Inputs/TemplateVersionDefinitionArgs.cs index 3e37a7815e..7e60aa4923 100644 --- a/sdk/dotnet/QuickSight/Inputs/TemplateVersionDefinitionArgs.cs +++ b/sdk/dotnet/QuickSight/Inputs/TemplateVersionDefinitionArgs.cs @@ -87,6 +87,9 @@ public InputList ParameterDeclarations set => _parameterDeclarations = value; } + [Input("queryExecutionOptions")] + public Input? QueryExecutionOptions { get; set; } + [Input("sheets")] private InputList? _sheets; diff --git a/sdk/dotnet/QuickSight/Outputs/AnalysisDefinition.cs b/sdk/dotnet/QuickSight/Outputs/AnalysisDefinition.cs index 13635114e8..6b60f4a71c 100644 --- a/sdk/dotnet/QuickSight/Outputs/AnalysisDefinition.cs +++ b/sdk/dotnet/QuickSight/Outputs/AnalysisDefinition.cs @@ -44,6 +44,7 @@ public sealed class AnalysisDefinition /// For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . /// public readonly ImmutableArray ParameterDeclarations; + public readonly Outputs.AnalysisQueryExecutionOptions? QueryExecutionOptions; /// /// An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. /// @@ -65,6 +66,8 @@ private AnalysisDefinition( ImmutableArray parameterDeclarations, + Outputs.AnalysisQueryExecutionOptions? queryExecutionOptions, + ImmutableArray sheets) { AnalysisDefaults = analysisDefaults; @@ -74,6 +77,7 @@ private AnalysisDefinition( FilterGroups = filterGroups; Options = options; ParameterDeclarations = parameterDeclarations; + QueryExecutionOptions = queryExecutionOptions; Sheets = sheets; } } diff --git a/sdk/dotnet/QuickSight/Outputs/AnalysisQueryExecutionOptions.cs b/sdk/dotnet/QuickSight/Outputs/AnalysisQueryExecutionOptions.cs new file mode 100644 index 0000000000..4c9712f113 --- /dev/null +++ b/sdk/dotnet/QuickSight/Outputs/AnalysisQueryExecutionOptions.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.QuickSight.Outputs +{ + + [OutputType] + public sealed class AnalysisQueryExecutionOptions + { + public readonly Pulumi.AwsNative.QuickSight.AnalysisQueryExecutionMode? QueryExecutionMode; + + [OutputConstructor] + private AnalysisQueryExecutionOptions(Pulumi.AwsNative.QuickSight.AnalysisQueryExecutionMode? queryExecutionMode) + { + QueryExecutionMode = queryExecutionMode; + } + } +} diff --git a/sdk/dotnet/QuickSight/Outputs/TemplateQueryExecutionOptions.cs b/sdk/dotnet/QuickSight/Outputs/TemplateQueryExecutionOptions.cs new file mode 100644 index 0000000000..bbe32a81ab --- /dev/null +++ b/sdk/dotnet/QuickSight/Outputs/TemplateQueryExecutionOptions.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.QuickSight.Outputs +{ + + [OutputType] + public sealed class TemplateQueryExecutionOptions + { + public readonly Pulumi.AwsNative.QuickSight.TemplateQueryExecutionMode? QueryExecutionMode; + + [OutputConstructor] + private TemplateQueryExecutionOptions(Pulumi.AwsNative.QuickSight.TemplateQueryExecutionMode? queryExecutionMode) + { + QueryExecutionMode = queryExecutionMode; + } + } +} diff --git a/sdk/dotnet/QuickSight/Outputs/TemplateVersionDefinition.cs b/sdk/dotnet/QuickSight/Outputs/TemplateVersionDefinition.cs index 3d04886c26..aac5a8bc48 100644 --- a/sdk/dotnet/QuickSight/Outputs/TemplateVersionDefinition.cs +++ b/sdk/dotnet/QuickSight/Outputs/TemplateVersionDefinition.cs @@ -44,6 +44,7 @@ public sealed class TemplateVersionDefinition /// For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . /// public readonly ImmutableArray ParameterDeclarations; + public readonly Outputs.TemplateQueryExecutionOptions? QueryExecutionOptions; /// /// An array of sheet definitions for a template. /// @@ -65,6 +66,8 @@ private TemplateVersionDefinition( ImmutableArray parameterDeclarations, + Outputs.TemplateQueryExecutionOptions? queryExecutionOptions, + ImmutableArray sheets) { AnalysisDefaults = analysisDefaults; @@ -74,6 +77,7 @@ private TemplateVersionDefinition( FilterGroups = filterGroups; Options = options; ParameterDeclarations = parameterDeclarations; + QueryExecutionOptions = queryExecutionOptions; Sheets = sheets; } } diff --git a/sdk/dotnet/SageMaker/Cluster.cs b/sdk/dotnet/SageMaker/Cluster.cs new file mode 100644 index 0000000000..aeed10e051 --- /dev/null +++ b/sdk/dotnet/SageMaker/Cluster.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker +{ + /// + /// Resource Type definition for AWS::SageMaker::Cluster + /// + [AwsNativeResourceType("aws-native:sagemaker:Cluster")] + public partial class Cluster : global::Pulumi.CustomResource + { + /// + /// The Amazon Resource Name (ARN) of the HyperPod Cluster. + /// + [Output("clusterArn")] + public Output ClusterArn { get; private set; } = null!; + + /// + /// The name of the HyperPod Cluster. + /// + [Output("clusterName")] + public Output ClusterName { get; private set; } = null!; + + /// + /// The status of the HyperPod Cluster. + /// + [Output("clusterStatus")] + public Output ClusterStatus { get; private set; } = null!; + + /// + /// The time at which the HyperPod cluster was created. + /// + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + /// + /// The failure message of the HyperPod Cluster. + /// + [Output("failureMessage")] + public Output FailureMessage { get; private set; } = null!; + + [Output("instanceGroups")] + public Output> InstanceGroups { get; private set; } = null!; + + /// + /// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + /// + [Output("nodeRecovery")] + public Output NodeRecovery { get; private set; } = null!; + + [Output("orchestrator")] + public Output Orchestrator { get; private set; } = null!; + + /// + /// Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + /// + [Output("vpcConfig")] + public Output VpcConfig { get; private set; } = null!; + + + /// + /// Create a Cluster 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 Cluster(string name, ClusterArgs args, CustomResourceOptions? options = null) + : base("aws-native:sagemaker:Cluster", name, args ?? new ClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private Cluster(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:sagemaker:Cluster", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "clusterName", + "instanceGroups[*].executionRole", + "instanceGroups[*].instanceGroupName", + "instanceGroups[*].instanceType", + "instanceGroups[*].threadsPerCore", + "orchestrator", + "vpcConfig", + }, + }; + 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 Cluster 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. + /// A bag of options that control this resource's behavior + public static Cluster Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Cluster(name, id, options); + } + } + + public sealed class ClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the HyperPod Cluster. + /// + [Input("clusterName")] + public Input? ClusterName { get; set; } + + [Input("instanceGroups", required: true)] + private InputList? _instanceGroups; + public InputList InstanceGroups + { + get => _instanceGroups ?? (_instanceGroups = new InputList()); + set => _instanceGroups = value; + } + + /// + /// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + /// + [Input("nodeRecovery")] + public Input? NodeRecovery { get; set; } + + [Input("orchestrator")] + public Input? Orchestrator { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + /// + [Input("vpcConfig")] + public Input? VpcConfig { get; set; } + + public ClusterArgs() + { + } + public static new ClusterArgs Empty => new ClusterArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Enums.cs b/sdk/dotnet/SageMaker/Enums.cs index 603751c943..540a3ced77 100644 --- a/sdk/dotnet/SageMaker/Enums.cs +++ b/sdk/dotnet/SageMaker/Enums.cs @@ -133,6 +133,104 @@ private AppType(string value) public override string ToString() => _value; } + /// + /// The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group. + /// + [EnumType] + public readonly struct ClusterDeepHealthCheckType : IEquatable + { + private readonly string _value; + + private ClusterDeepHealthCheckType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterDeepHealthCheckType InstanceStress { get; } = new ClusterDeepHealthCheckType("InstanceStress"); + public static ClusterDeepHealthCheckType InstanceConnectivity { get; } = new ClusterDeepHealthCheckType("InstanceConnectivity"); + + public static bool operator ==(ClusterDeepHealthCheckType left, ClusterDeepHealthCheckType right) => left.Equals(right); + public static bool operator !=(ClusterDeepHealthCheckType left, ClusterDeepHealthCheckType right) => !left.Equals(right); + + public static explicit operator string(ClusterDeepHealthCheckType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterDeepHealthCheckType other && Equals(other); + public bool Equals(ClusterDeepHealthCheckType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + /// + [EnumType] + public readonly struct ClusterNodeRecovery : IEquatable + { + private readonly string _value; + + private ClusterNodeRecovery(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterNodeRecovery Automatic { get; } = new ClusterNodeRecovery("Automatic"); + public static ClusterNodeRecovery None { get; } = new ClusterNodeRecovery("None"); + + public static bool operator ==(ClusterNodeRecovery left, ClusterNodeRecovery right) => left.Equals(right); + public static bool operator !=(ClusterNodeRecovery left, ClusterNodeRecovery right) => !left.Equals(right); + + public static explicit operator string(ClusterNodeRecovery value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterNodeRecovery other && Equals(other); + public bool Equals(ClusterNodeRecovery other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The status of the HyperPod Cluster. + /// + [EnumType] + public readonly struct ClusterStatus : IEquatable + { + private readonly string _value; + + private ClusterStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterStatus Creating { get; } = new ClusterStatus("Creating"); + public static ClusterStatus Deleting { get; } = new ClusterStatus("Deleting"); + public static ClusterStatus Failed { get; } = new ClusterStatus("Failed"); + public static ClusterStatus InService { get; } = new ClusterStatus("InService"); + public static ClusterStatus RollingBack { get; } = new ClusterStatus("RollingBack"); + public static ClusterStatus SystemUpdating { get; } = new ClusterStatus("SystemUpdating"); + public static ClusterStatus Updating { get; } = new ClusterStatus("Updating"); + + public static bool operator ==(ClusterStatus left, ClusterStatus right) => left.Equals(right); + public static bool operator !=(ClusterStatus left, ClusterStatus right) => !left.Equals(right); + + public static explicit operator string(ClusterStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterStatus other && Equals(other); + public bool Equals(ClusterStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defauts to FullyReplicated /// @@ -445,6 +543,37 @@ private DomainDockerSettingsEnableDockerAccess(string value) public override string ToString() => _value; } + /// + /// A flag to enable/disable AppLifecycleManagement settings + /// + [EnumType] + public readonly struct DomainLifecycleManagement : IEquatable + { + private readonly string _value; + + private DomainLifecycleManagement(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DomainLifecycleManagement Enabled { get; } = new DomainLifecycleManagement("ENABLED"); + public static DomainLifecycleManagement Disabled { get; } = new DomainLifecycleManagement("DISABLED"); + + public static bool operator ==(DomainLifecycleManagement left, DomainLifecycleManagement right) => left.Equals(right); + public static bool operator !=(DomainLifecycleManagement left, DomainLifecycleManagement right) => !left.Equals(right); + + public static explicit operator string(DomainLifecycleManagement value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DomainLifecycleManagement other && Equals(other); + public bool Equals(DomainLifecycleManagement other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct DomainMlTools : IEquatable { @@ -468,6 +597,7 @@ private DomainMlTools(string value) public static DomainMlTools InferenceRecommender { get; } = new DomainMlTools("InferenceRecommender"); public static DomainMlTools Endpoints { get; } = new DomainMlTools("Endpoints"); public static DomainMlTools Projects { get; } = new DomainMlTools("Projects"); + public static DomainMlTools InferenceOptimization { get; } = new DomainMlTools("InferenceOptimization"); public static bool operator ==(DomainMlTools left, DomainMlTools right) => left.Equals(right); public static bool operator !=(DomainMlTools left, DomainMlTools right) => !left.Equals(right); @@ -2917,6 +3047,37 @@ private UserProfileAppType(string value) public override string ToString() => _value; } + /// + /// A flag to enable/disable AppLifecycleManagement settings + /// + [EnumType] + public readonly struct UserProfileLifecycleManagement : IEquatable + { + private readonly string _value; + + private UserProfileLifecycleManagement(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static UserProfileLifecycleManagement Enabled { get; } = new UserProfileLifecycleManagement("ENABLED"); + public static UserProfileLifecycleManagement Disabled { get; } = new UserProfileLifecycleManagement("DISABLED"); + + public static bool operator ==(UserProfileLifecycleManagement left, UserProfileLifecycleManagement right) => left.Equals(right); + public static bool operator !=(UserProfileLifecycleManagement left, UserProfileLifecycleManagement right) => !left.Equals(right); + + public static explicit operator string(UserProfileLifecycleManagement value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UserProfileLifecycleManagement other && Equals(other); + public bool Equals(UserProfileLifecycleManagement other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct UserProfileMlTools : IEquatable { @@ -2940,6 +3101,7 @@ private UserProfileMlTools(string value) public static UserProfileMlTools InferenceRecommender { get; } = new UserProfileMlTools("InferenceRecommender"); public static UserProfileMlTools Endpoints { get; } = new UserProfileMlTools("Endpoints"); public static UserProfileMlTools Projects { get; } = new UserProfileMlTools("Projects"); + public static UserProfileMlTools InferenceOptimization { get; } = new UserProfileMlTools("InferenceOptimization"); public static bool operator ==(UserProfileMlTools left, UserProfileMlTools right) => left.Equals(right); public static bool operator !=(UserProfileMlTools left, UserProfileMlTools right) => !left.Equals(right); diff --git a/sdk/dotnet/SageMaker/GetCluster.cs b/sdk/dotnet/SageMaker/GetCluster.cs new file mode 100644 index 0000000000..2f08571603 --- /dev/null +++ b/sdk/dotnet/SageMaker/GetCluster.cs @@ -0,0 +1,111 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker +{ + public static class GetCluster + { + /// + /// Resource Type definition for AWS::SageMaker::Cluster + /// + public static Task InvokeAsync(GetClusterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:sagemaker:getCluster", args ?? new GetClusterArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::SageMaker::Cluster + /// + public static Output Invoke(GetClusterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:sagemaker:getCluster", args ?? new GetClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name (ARN) of the HyperPod Cluster. + /// + [Input("clusterArn", required: true)] + public string ClusterArn { get; set; } = null!; + + public GetClusterArgs() + { + } + public static new GetClusterArgs Empty => new GetClusterArgs(); + } + + public sealed class GetClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Amazon Resource Name (ARN) of the HyperPod Cluster. + /// + [Input("clusterArn", required: true)] + public Input ClusterArn { get; set; } = null!; + + public GetClusterInvokeArgs() + { + } + public static new GetClusterInvokeArgs Empty => new GetClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterResult + { + /// + /// The Amazon Resource Name (ARN) of the HyperPod Cluster. + /// + public readonly string? ClusterArn; + /// + /// The status of the HyperPod Cluster. + /// + public readonly Pulumi.AwsNative.SageMaker.ClusterStatus? ClusterStatus; + /// + /// The time at which the HyperPod cluster was created. + /// + public readonly string? CreationTime; + /// + /// The failure message of the HyperPod Cluster. + /// + public readonly string? FailureMessage; + public readonly ImmutableArray InstanceGroups; + /// + /// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + /// + public readonly Pulumi.AwsNative.SageMaker.ClusterNodeRecovery? NodeRecovery; + /// + /// Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetClusterResult( + string? clusterArn, + + Pulumi.AwsNative.SageMaker.ClusterStatus? clusterStatus, + + string? creationTime, + + string? failureMessage, + + ImmutableArray instanceGroups, + + Pulumi.AwsNative.SageMaker.ClusterNodeRecovery? nodeRecovery, + + ImmutableArray tags) + { + ClusterArn = clusterArn; + ClusterStatus = clusterStatus; + CreationTime = creationTime; + FailureMessage = failureMessage; + InstanceGroups = instanceGroups; + NodeRecovery = nodeRecovery; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs new file mode 100644 index 0000000000..2172c9d236 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs @@ -0,0 +1,69 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + /// + /// Details of an instance group in a SageMaker HyperPod cluster. + /// + public sealed class ClusterInstanceGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + /// + [Input("currentCount")] + public Input? CurrentCount { get; set; } + + [Input("executionRole", required: true)] + public Input ExecutionRole { get; set; } = null!; + + /// + /// The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + /// + [Input("instanceCount", required: true)] + public Input InstanceCount { get; set; } = null!; + + [Input("instanceGroupName", required: true)] + public Input InstanceGroupName { get; set; } = null!; + + [Input("instanceStorageConfigs")] + private InputList? _instanceStorageConfigs; + public InputList InstanceStorageConfigs + { + get => _instanceStorageConfigs ?? (_instanceStorageConfigs = new InputList()); + set => _instanceStorageConfigs = value; + } + + [Input("instanceType", required: true)] + public Input InstanceType { get; set; } = null!; + + [Input("lifeCycleConfig", required: true)] + public Input LifeCycleConfig { get; set; } = null!; + + [Input("onStartDeepHealthChecks")] + private InputList? _onStartDeepHealthChecks; + public InputList OnStartDeepHealthChecks + { + get => _onStartDeepHealthChecks ?? (_onStartDeepHealthChecks = new InputList()); + set => _onStartDeepHealthChecks = value; + } + + /// + /// The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + /// + [Input("threadsPerCore")] + public Input? ThreadsPerCore { get; set; } + + public ClusterInstanceGroupArgs() + { + } + public static new ClusterInstanceGroupArgs Empty => new ClusterInstanceGroupArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterInstanceStorageConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceStorageConfigArgs.cs new file mode 100644 index 0000000000..fc27c854ca --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceStorageConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + /// + /// Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + /// + public sealed class ClusterInstanceStorageConfigArgs : global::Pulumi.ResourceArgs + { + public ClusterInstanceStorageConfigArgs() + { + } + public static new ClusterInstanceStorageConfigArgs Empty => new ClusterInstanceStorageConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterLifeCycleConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterLifeCycleConfigArgs.cs new file mode 100644 index 0000000000..d3b3b553f0 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/ClusterLifeCycleConfigArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + /// + /// The lifecycle configuration for a SageMaker HyperPod cluster. + /// + public sealed class ClusterLifeCycleConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + /// + [Input("onCreate", required: true)] + public Input OnCreate { get; set; } = null!; + + /// + /// An Amazon S3 bucket path where your lifecycle scripts are stored. + /// + [Input("sourceS3Uri", required: true)] + public Input SourceS3Uri { get; set; } = null!; + + public ClusterLifeCycleConfigArgs() + { + } + public static new ClusterLifeCycleConfigArgs Empty => new ClusterLifeCycleConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorArgs.cs new file mode 100644 index 0000000000..41adeb1c58 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + /// + /// Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + /// + public sealed class ClusterOrchestratorArgs : global::Pulumi.ResourceArgs + { + [Input("eks", required: true)] + public Input Eks { get; set; } = null!; + + public ClusterOrchestratorArgs() + { + } + public static new ClusterOrchestratorArgs Empty => new ClusterOrchestratorArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorEksConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorEksConfigArgs.cs new file mode 100644 index 0000000000..5be4b67488 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/ClusterOrchestratorEksConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + /// + /// Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + /// + public sealed class ClusterOrchestratorEksConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + /// + [Input("clusterArn", required: true)] + public Input ClusterArn { get; set; } = null!; + + public ClusterOrchestratorEksConfigArgs() + { + } + public static new ClusterOrchestratorEksConfigArgs Empty => new ClusterOrchestratorEksConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterVpcConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterVpcConfigArgs.cs new file mode 100644 index 0000000000..4bd3d2c73e --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/ClusterVpcConfigArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + /// + /// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + /// + public sealed class ClusterVpcConfigArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupIds", required: true)] + private InputList? _securityGroupIds; + + /// + /// The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnets", required: true)] + private InputList? _subnets; + + /// + /// The ID of the subnets in the VPC to which you want to connect your training job or model. + /// + public InputList Subnets + { + get => _subnets ?? (_subnets = new InputList()); + set => _subnets = value; + } + + public ClusterVpcConfigArgs() + { + } + public static new ClusterVpcConfigArgs Empty => new ClusterVpcConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainAppLifecycleManagementArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainAppLifecycleManagementArgs.cs new file mode 100644 index 0000000000..137e1ac949 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainAppLifecycleManagementArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class DomainAppLifecycleManagementArgs : global::Pulumi.ResourceArgs + { + [Input("idleSettings")] + public Input? IdleSettings { get; set; } + + public DomainAppLifecycleManagementArgs() + { + } + public static new DomainAppLifecycleManagementArgs Empty => new DomainAppLifecycleManagementArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs index 32fad3b600..cef354c612 100644 --- a/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class DomainCodeEditorAppSettingsArgs : global::Pulumi.ResourceArgs { + [Input("appLifecycleManagement")] + public Input? AppLifecycleManagement { get; set; } + [Input("customImages")] private InputList? _customImages; diff --git a/sdk/dotnet/SageMaker/Inputs/DomainIdleSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainIdleSettingsArgs.cs new file mode 100644 index 0000000000..8156c9f389 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainIdleSettingsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class DomainIdleSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + [Input("lifecycleManagement")] + public Input? LifecycleManagement { get; set; } + + [Input("maxIdleTimeoutInMinutes")] + public Input? MaxIdleTimeoutInMinutes { get; set; } + + [Input("minIdleTimeoutInMinutes")] + public Input? MinIdleTimeoutInMinutes { get; set; } + + public DomainIdleSettingsArgs() + { + } + public static new DomainIdleSettingsArgs Empty => new DomainIdleSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs index e82c5e1247..2b84865f44 100644 --- a/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class DomainJupyterLabAppSettingsArgs : global::Pulumi.ResourceArgs { + [Input("appLifecycleManagement")] + public Input? AppLifecycleManagement { get; set; } + [Input("codeRepositories")] private InputList? _codeRepositories; diff --git a/sdk/dotnet/SageMaker/Inputs/SpaceAppLifecycleManagementArgs.cs b/sdk/dotnet/SageMaker/Inputs/SpaceAppLifecycleManagementArgs.cs new file mode 100644 index 0000000000..529908c090 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/SpaceAppLifecycleManagementArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class SpaceAppLifecycleManagementArgs : global::Pulumi.ResourceArgs + { + [Input("idleSettings")] + public Input? IdleSettings { get; set; } + + public SpaceAppLifecycleManagementArgs() + { + } + public static new SpaceAppLifecycleManagementArgs Empty => new SpaceAppLifecycleManagementArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/SpaceCodeEditorAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/SpaceCodeEditorAppSettingsArgs.cs index 2ef9947fdf..cda6240d1c 100644 --- a/sdk/dotnet/SageMaker/Inputs/SpaceCodeEditorAppSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/SpaceCodeEditorAppSettingsArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class SpaceCodeEditorAppSettingsArgs : global::Pulumi.ResourceArgs { + [Input("appLifecycleManagement")] + public Input? AppLifecycleManagement { get; set; } + /// /// Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. /// diff --git a/sdk/dotnet/SageMaker/Inputs/SpaceIdleSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/SpaceIdleSettingsArgs.cs new file mode 100644 index 0000000000..5f0fb4ef4b --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/SpaceIdleSettingsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class SpaceIdleSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// The space idle timeout value set in minutes + /// + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + public SpaceIdleSettingsArgs() + { + } + public static new SpaceIdleSettingsArgs Empty => new SpaceIdleSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/SpaceJupyterLabAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/SpaceJupyterLabAppSettingsArgs.cs index 8aad8952ff..b9469fd4b3 100644 --- a/sdk/dotnet/SageMaker/Inputs/SpaceJupyterLabAppSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/SpaceJupyterLabAppSettingsArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class SpaceJupyterLabAppSettingsArgs : global::Pulumi.ResourceArgs { + [Input("appLifecycleManagement")] + public Input? AppLifecycleManagement { get; set; } + [Input("codeRepositories")] private InputList? _codeRepositories; diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileAppLifecycleManagementArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileAppLifecycleManagementArgs.cs new file mode 100644 index 0000000000..f321418a52 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileAppLifecycleManagementArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class UserProfileAppLifecycleManagementArgs : global::Pulumi.ResourceArgs + { + [Input("idleSettings")] + public Input? IdleSettings { get; set; } + + public UserProfileAppLifecycleManagementArgs() + { + } + public static new UserProfileAppLifecycleManagementArgs Empty => new UserProfileAppLifecycleManagementArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs index 3bfb5a1eb0..c2f1d79b02 100644 --- a/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class UserProfileCodeEditorAppSettingsArgs : global::Pulumi.ResourceArgs { + [Input("appLifecycleManagement")] + public Input? AppLifecycleManagement { get; set; } + [Input("customImages")] private InputList? _customImages; diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileIdleSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileIdleSettingsArgs.cs new file mode 100644 index 0000000000..d52c561247 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileIdleSettingsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Inputs +{ + + public sealed class UserProfileIdleSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("idleTimeoutInMinutes")] + public Input? IdleTimeoutInMinutes { get; set; } + + [Input("lifecycleManagement")] + public Input? LifecycleManagement { get; set; } + + [Input("maxIdleTimeoutInMinutes")] + public Input? MaxIdleTimeoutInMinutes { get; set; } + + [Input("minIdleTimeoutInMinutes")] + public Input? MinIdleTimeoutInMinutes { get; set; } + + public UserProfileIdleSettingsArgs() + { + } + public static new UserProfileIdleSettingsArgs Empty => new UserProfileIdleSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs index d5a945431f..b36107cdd5 100644 --- a/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class UserProfileJupyterLabAppSettingsArgs : global::Pulumi.ResourceArgs { + [Input("appLifecycleManagement")] + public Input? AppLifecycleManagement { get; set; } + [Input("codeRepositories")] private InputList? _codeRepositories; diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs new file mode 100644 index 0000000000..8fec74a452 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs @@ -0,0 +1,69 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + /// + /// Details of an instance group in a SageMaker HyperPod cluster. + /// + [OutputType] + public sealed class ClusterInstanceGroup + { + /// + /// The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + /// + public readonly int? CurrentCount; + public readonly string ExecutionRole; + /// + /// The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + /// + public readonly int InstanceCount; + public readonly string InstanceGroupName; + public readonly ImmutableArray InstanceStorageConfigs; + public readonly string InstanceType; + public readonly Outputs.ClusterLifeCycleConfig LifeCycleConfig; + public readonly ImmutableArray OnStartDeepHealthChecks; + /// + /// The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + /// + public readonly int? ThreadsPerCore; + + [OutputConstructor] + private ClusterInstanceGroup( + int? currentCount, + + string executionRole, + + int instanceCount, + + string instanceGroupName, + + ImmutableArray instanceStorageConfigs, + + string instanceType, + + Outputs.ClusterLifeCycleConfig lifeCycleConfig, + + ImmutableArray onStartDeepHealthChecks, + + int? threadsPerCore) + { + CurrentCount = currentCount; + ExecutionRole = executionRole; + InstanceCount = instanceCount; + InstanceGroupName = instanceGroupName; + InstanceStorageConfigs = instanceStorageConfigs; + InstanceType = instanceType; + LifeCycleConfig = lifeCycleConfig; + OnStartDeepHealthChecks = onStartDeepHealthChecks; + ThreadsPerCore = threadsPerCore; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterInstanceStorageConfig.cs b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceStorageConfig.cs new file mode 100644 index 0000000000..f73ff9259b --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceStorageConfig.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + /// + /// Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + /// + [OutputType] + public sealed class ClusterInstanceStorageConfig + { + [OutputConstructor] + private ClusterInstanceStorageConfig() + { + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterLifeCycleConfig.cs b/sdk/dotnet/SageMaker/Outputs/ClusterLifeCycleConfig.cs new file mode 100644 index 0000000000..bf5869708f --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/ClusterLifeCycleConfig.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + /// + /// The lifecycle configuration for a SageMaker HyperPod cluster. + /// + [OutputType] + public sealed class ClusterLifeCycleConfig + { + /// + /// The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + /// + public readonly string OnCreate; + /// + /// An Amazon S3 bucket path where your lifecycle scripts are stored. + /// + public readonly string SourceS3Uri; + + [OutputConstructor] + private ClusterLifeCycleConfig( + string onCreate, + + string sourceS3Uri) + { + OnCreate = onCreate; + SourceS3Uri = sourceS3Uri; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterOrchestrator.cs b/sdk/dotnet/SageMaker/Outputs/ClusterOrchestrator.cs new file mode 100644 index 0000000000..dc01a9d10c --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/ClusterOrchestrator.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + /// + /// Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + /// + [OutputType] + public sealed class ClusterOrchestrator + { + public readonly Outputs.ClusterOrchestratorEksConfig Eks; + + [OutputConstructor] + private ClusterOrchestrator(Outputs.ClusterOrchestratorEksConfig eks) + { + Eks = eks; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterOrchestratorEksConfig.cs b/sdk/dotnet/SageMaker/Outputs/ClusterOrchestratorEksConfig.cs new file mode 100644 index 0000000000..f88aab68a1 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/ClusterOrchestratorEksConfig.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + /// + /// Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + /// + [OutputType] + public sealed class ClusterOrchestratorEksConfig + { + /// + /// The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + /// + public readonly string ClusterArn; + + [OutputConstructor] + private ClusterOrchestratorEksConfig(string clusterArn) + { + ClusterArn = clusterArn; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterVpcConfig.cs b/sdk/dotnet/SageMaker/Outputs/ClusterVpcConfig.cs new file mode 100644 index 0000000000..2c294ef02a --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/ClusterVpcConfig.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + /// + /// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + /// + [OutputType] + public sealed class ClusterVpcConfig + { + /// + /// The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// The ID of the subnets in the VPC to which you want to connect your training job or model. + /// + public readonly ImmutableArray Subnets; + + [OutputConstructor] + private ClusterVpcConfig( + ImmutableArray securityGroupIds, + + ImmutableArray subnets) + { + SecurityGroupIds = securityGroupIds; + Subnets = subnets; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainAppLifecycleManagement.cs b/sdk/dotnet/SageMaker/Outputs/DomainAppLifecycleManagement.cs new file mode 100644 index 0000000000..64e543cbe9 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainAppLifecycleManagement.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class DomainAppLifecycleManagement + { + public readonly Outputs.DomainIdleSettings? IdleSettings; + + [OutputConstructor] + private DomainAppLifecycleManagement(Outputs.DomainIdleSettings? idleSettings) + { + IdleSettings = idleSettings; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs index dcd8d57b13..61e86be40c 100644 --- a/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs @@ -16,6 +16,7 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class DomainCodeEditorAppSettings { + public readonly Outputs.DomainAppLifecycleManagement? AppLifecycleManagement; /// /// A list of custom images for use for CodeEditor apps. /// @@ -31,12 +32,15 @@ public sealed class DomainCodeEditorAppSettings [OutputConstructor] private DomainCodeEditorAppSettings( + Outputs.DomainAppLifecycleManagement? appLifecycleManagement, + ImmutableArray customImages, Outputs.DomainResourceSpec? defaultResourceSpec, ImmutableArray lifecycleConfigArns) { + AppLifecycleManagement = appLifecycleManagement; CustomImages = customImages; DefaultResourceSpec = defaultResourceSpec; LifecycleConfigArns = lifecycleConfigArns; diff --git a/sdk/dotnet/SageMaker/Outputs/DomainIdleSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainIdleSettings.cs new file mode 100644 index 0000000000..12117bb705 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainIdleSettings.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class DomainIdleSettings + { + public readonly int? IdleTimeoutInMinutes; + public readonly Pulumi.AwsNative.SageMaker.DomainLifecycleManagement? LifecycleManagement; + public readonly int? MaxIdleTimeoutInMinutes; + public readonly int? MinIdleTimeoutInMinutes; + + [OutputConstructor] + private DomainIdleSettings( + int? idleTimeoutInMinutes, + + Pulumi.AwsNative.SageMaker.DomainLifecycleManagement? lifecycleManagement, + + int? maxIdleTimeoutInMinutes, + + int? minIdleTimeoutInMinutes) + { + IdleTimeoutInMinutes = idleTimeoutInMinutes; + LifecycleManagement = lifecycleManagement; + MaxIdleTimeoutInMinutes = maxIdleTimeoutInMinutes; + MinIdleTimeoutInMinutes = minIdleTimeoutInMinutes; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs index 59f3d04c2a..12618dcbe8 100644 --- a/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs @@ -16,6 +16,7 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class DomainJupyterLabAppSettings { + public readonly Outputs.DomainAppLifecycleManagement? AppLifecycleManagement; /// /// A list of CodeRepositories available for use with JupyterLab apps. /// @@ -35,6 +36,8 @@ public sealed class DomainJupyterLabAppSettings [OutputConstructor] private DomainJupyterLabAppSettings( + Outputs.DomainAppLifecycleManagement? appLifecycleManagement, + ImmutableArray codeRepositories, ImmutableArray customImages, @@ -43,6 +46,7 @@ private DomainJupyterLabAppSettings( ImmutableArray lifecycleConfigArns) { + AppLifecycleManagement = appLifecycleManagement; CodeRepositories = codeRepositories; CustomImages = customImages; DefaultResourceSpec = defaultResourceSpec; diff --git a/sdk/dotnet/SageMaker/Outputs/SpaceAppLifecycleManagement.cs b/sdk/dotnet/SageMaker/Outputs/SpaceAppLifecycleManagement.cs new file mode 100644 index 0000000000..e80c55631d --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/SpaceAppLifecycleManagement.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class SpaceAppLifecycleManagement + { + public readonly Outputs.SpaceIdleSettings? IdleSettings; + + [OutputConstructor] + private SpaceAppLifecycleManagement(Outputs.SpaceIdleSettings? idleSettings) + { + IdleSettings = idleSettings; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/SpaceCodeEditorAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/SpaceCodeEditorAppSettings.cs index 8f73c2b50b..4f9b689d9e 100644 --- a/sdk/dotnet/SageMaker/Outputs/SpaceCodeEditorAppSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/SpaceCodeEditorAppSettings.cs @@ -16,14 +16,19 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class SpaceCodeEditorAppSettings { + public readonly Outputs.SpaceAppLifecycleManagement? AppLifecycleManagement; /// /// Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. /// public readonly Outputs.SpaceResourceSpec? DefaultResourceSpec; [OutputConstructor] - private SpaceCodeEditorAppSettings(Outputs.SpaceResourceSpec? defaultResourceSpec) + private SpaceCodeEditorAppSettings( + Outputs.SpaceAppLifecycleManagement? appLifecycleManagement, + + Outputs.SpaceResourceSpec? defaultResourceSpec) { + AppLifecycleManagement = appLifecycleManagement; DefaultResourceSpec = defaultResourceSpec; } } diff --git a/sdk/dotnet/SageMaker/Outputs/SpaceIdleSettings.cs b/sdk/dotnet/SageMaker/Outputs/SpaceIdleSettings.cs new file mode 100644 index 0000000000..cdc5b2e6d2 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/SpaceIdleSettings.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class SpaceIdleSettings + { + /// + /// The space idle timeout value set in minutes + /// + public readonly int? IdleTimeoutInMinutes; + + [OutputConstructor] + private SpaceIdleSettings(int? idleTimeoutInMinutes) + { + IdleTimeoutInMinutes = idleTimeoutInMinutes; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/SpaceJupyterLabAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/SpaceJupyterLabAppSettings.cs index 6c1913b769..7adb4e3b69 100644 --- a/sdk/dotnet/SageMaker/Outputs/SpaceJupyterLabAppSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/SpaceJupyterLabAppSettings.cs @@ -16,6 +16,7 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class SpaceJupyterLabAppSettings { + public readonly Outputs.SpaceAppLifecycleManagement? AppLifecycleManagement; /// /// A list of CodeRepositories available for use with JupyterLab apps. /// @@ -27,10 +28,13 @@ public sealed class SpaceJupyterLabAppSettings [OutputConstructor] private SpaceJupyterLabAppSettings( + Outputs.SpaceAppLifecycleManagement? appLifecycleManagement, + ImmutableArray codeRepositories, Outputs.SpaceResourceSpec? defaultResourceSpec) { + AppLifecycleManagement = appLifecycleManagement; CodeRepositories = codeRepositories; DefaultResourceSpec = defaultResourceSpec; } diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileAppLifecycleManagement.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileAppLifecycleManagement.cs new file mode 100644 index 0000000000..95d865a25e --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileAppLifecycleManagement.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class UserProfileAppLifecycleManagement + { + public readonly Outputs.UserProfileIdleSettings? IdleSettings; + + [OutputConstructor] + private UserProfileAppLifecycleManagement(Outputs.UserProfileIdleSettings? idleSettings) + { + IdleSettings = idleSettings; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs index 5fe23281bf..cce85083d6 100644 --- a/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs @@ -16,6 +16,7 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class UserProfileCodeEditorAppSettings { + public readonly Outputs.UserProfileAppLifecycleManagement? AppLifecycleManagement; /// /// A list of custom images for use for CodeEditor apps. /// @@ -31,12 +32,15 @@ public sealed class UserProfileCodeEditorAppSettings [OutputConstructor] private UserProfileCodeEditorAppSettings( + Outputs.UserProfileAppLifecycleManagement? appLifecycleManagement, + ImmutableArray customImages, Outputs.UserProfileResourceSpec? defaultResourceSpec, ImmutableArray lifecycleConfigArns) { + AppLifecycleManagement = appLifecycleManagement; CustomImages = customImages; DefaultResourceSpec = defaultResourceSpec; LifecycleConfigArns = lifecycleConfigArns; diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileIdleSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileIdleSettings.cs new file mode 100644 index 0000000000..c422be5322 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileIdleSettings.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class UserProfileIdleSettings + { + public readonly int? IdleTimeoutInMinutes; + public readonly Pulumi.AwsNative.SageMaker.UserProfileLifecycleManagement? LifecycleManagement; + public readonly int? MaxIdleTimeoutInMinutes; + public readonly int? MinIdleTimeoutInMinutes; + + [OutputConstructor] + private UserProfileIdleSettings( + int? idleTimeoutInMinutes, + + Pulumi.AwsNative.SageMaker.UserProfileLifecycleManagement? lifecycleManagement, + + int? maxIdleTimeoutInMinutes, + + int? minIdleTimeoutInMinutes) + { + IdleTimeoutInMinutes = idleTimeoutInMinutes; + LifecycleManagement = lifecycleManagement; + MaxIdleTimeoutInMinutes = maxIdleTimeoutInMinutes; + MinIdleTimeoutInMinutes = minIdleTimeoutInMinutes; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs index acd83fea47..992527180a 100644 --- a/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs @@ -16,6 +16,7 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class UserProfileJupyterLabAppSettings { + public readonly Outputs.UserProfileAppLifecycleManagement? AppLifecycleManagement; /// /// A list of CodeRepositories available for use with JupyterLab apps. /// @@ -35,6 +36,8 @@ public sealed class UserProfileJupyterLabAppSettings [OutputConstructor] private UserProfileJupyterLabAppSettings( + Outputs.UserProfileAppLifecycleManagement? appLifecycleManagement, + ImmutableArray codeRepositories, ImmutableArray customImages, @@ -43,6 +46,7 @@ private UserProfileJupyterLabAppSettings( ImmutableArray lifecycleConfigArns) { + AppLifecycleManagement = appLifecycleManagement; CodeRepositories = codeRepositories; CustomImages = customImages; DefaultResourceSpec = defaultResourceSpec; diff --git a/sdk/dotnet/Sns/GetSubscription.cs b/sdk/dotnet/Sns/GetSubscription.cs new file mode 100644 index 0000000000..5f27bdbf1a --- /dev/null +++ b/sdk/dotnet/Sns/GetSubscription.cs @@ -0,0 +1,129 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Sns +{ + public static class GetSubscription + { + /// + /// Resource Type definition for AWS::SNS::Subscription + /// + public static Task InvokeAsync(GetSubscriptionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:sns:getSubscription", args ?? new GetSubscriptionArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::SNS::Subscription + /// + public static Output Invoke(GetSubscriptionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:sns:getSubscription", args ?? new GetSubscriptionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSubscriptionArgs : global::Pulumi.InvokeArgs + { + /// + /// Arn of the subscription + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetSubscriptionArgs() + { + } + public static new GetSubscriptionArgs Empty => new GetSubscriptionArgs(); + } + + public sealed class GetSubscriptionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Arn of the subscription + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetSubscriptionInvokeArgs() + { + } + public static new GetSubscriptionInvokeArgs Empty => new GetSubscriptionInvokeArgs(); + } + + + [OutputType] + public sealed class GetSubscriptionResult + { + /// + /// Arn of the subscription + /// + public readonly string? Arn; + /// + /// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + public readonly object? DeliveryPolicy; + /// + /// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + public readonly object? FilterPolicy; + /// + /// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + /// + public readonly string? FilterPolicyScope; + /// + /// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + /// + public readonly bool? RawMessageDelivery; + /// + /// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + public readonly object? RedrivePolicy; + /// + /// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + public readonly object? ReplayPolicy; + /// + /// This property applies only to Amazon Data Firehose delivery stream subscriptions. + /// + public readonly string? SubscriptionRoleArn; + + [OutputConstructor] + private GetSubscriptionResult( + string? arn, + + object? deliveryPolicy, + + object? filterPolicy, + + string? filterPolicyScope, + + bool? rawMessageDelivery, + + object? redrivePolicy, + + object? replayPolicy, + + string? subscriptionRoleArn) + { + Arn = arn; + DeliveryPolicy = deliveryPolicy; + FilterPolicy = filterPolicy; + FilterPolicyScope = filterPolicyScope; + RawMessageDelivery = rawMessageDelivery; + RedrivePolicy = redrivePolicy; + ReplayPolicy = replayPolicy; + SubscriptionRoleArn = subscriptionRoleArn; + } + } +} diff --git a/sdk/dotnet/Sns/Subscription.cs b/sdk/dotnet/Sns/Subscription.cs new file mode 100644 index 0000000000..29f3b53dfd --- /dev/null +++ b/sdk/dotnet/Sns/Subscription.cs @@ -0,0 +1,228 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.AwsNative.Sns +{ + /// + /// Resource Type definition for AWS::SNS::Subscription + /// + [AwsNativeResourceType("aws-native:sns:Subscription")] + public partial class Subscription : global::Pulumi.CustomResource + { + /// + /// Arn of the subscription + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Output("deliveryPolicy")] + public Output DeliveryPolicy { get; private set; } = null!; + + /// + /// The subscription's endpoint. The endpoint value depends on the protocol that you specify. + /// + [Output("endpoint")] + public Output Endpoint { get; private set; } = null!; + + /// + /// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Output("filterPolicy")] + public Output FilterPolicy { get; private set; } = null!; + + /// + /// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + /// + [Output("filterPolicyScope")] + public Output FilterPolicyScope { get; private set; } = null!; + + /// + /// The subscription's protocol. + /// + [Output("protocol")] + public Output Protocol { get; private set; } = null!; + + /// + /// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + /// + [Output("rawMessageDelivery")] + public Output RawMessageDelivery { get; private set; } = null!; + + /// + /// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Output("redrivePolicy")] + public Output RedrivePolicy { get; private set; } = null!; + + /// + /// For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Output("replayPolicy")] + public Output ReplayPolicy { get; private set; } = null!; + + /// + /// This property applies only to Amazon Data Firehose delivery stream subscriptions. + /// + [Output("subscriptionRoleArn")] + public Output SubscriptionRoleArn { get; private set; } = null!; + + /// + /// The ARN of the topic to subscribe to. + /// + [Output("topicArn")] + public Output TopicArn { get; private set; } = null!; + + + /// + /// Create a Subscription 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 Subscription(string name, SubscriptionArgs args, CustomResourceOptions? options = null) + : base("aws-native:sns:Subscription", name, args ?? new SubscriptionArgs(), MakeResourceOptions(options, "")) + { + } + + private Subscription(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:sns:Subscription", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "endpoint", + "protocol", + "topicArn", + }, + }; + 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 Subscription 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. + /// A bag of options that control this resource's behavior + public static Subscription Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Subscription(name, id, options); + } + } + + public sealed class SubscriptionArgs : global::Pulumi.ResourceArgs + { + /// + /// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Input("deliveryPolicy")] + public Input? DeliveryPolicy { get; set; } + + /// + /// The subscription's endpoint. The endpoint value depends on the protocol that you specify. + /// + [Input("endpoint")] + public Input? Endpoint { get; set; } + + /// + /// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Input("filterPolicy")] + public Input? FilterPolicy { get; set; } + + /// + /// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + /// + [Input("filterPolicyScope")] + public Input? FilterPolicyScope { get; set; } + + /// + /// The subscription's protocol. + /// + [Input("protocol", required: true)] + public Input Protocol { get; set; } = null!; + + /// + /// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + /// + [Input("rawMessageDelivery")] + public Input? RawMessageDelivery { get; set; } + + /// + /// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Input("redrivePolicy")] + public Input? RedrivePolicy { get; set; } + + /// + /// For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + /// + [Input("replayPolicy")] + public Input? ReplayPolicy { get; set; } + + /// + /// This property applies only to Amazon Data Firehose delivery stream subscriptions. + /// + [Input("subscriptionRoleArn")] + public Input? SubscriptionRoleArn { get; set; } + + /// + /// The ARN of the topic to subscribe to. + /// + [Input("topicArn", required: true)] + public Input TopicArn { get; set; } = null!; + + public SubscriptionArgs() + { + } + public static new SubscriptionArgs Empty => new SubscriptionArgs(); + } +} diff --git a/sdk/dotnet/Sns/Topic.cs b/sdk/dotnet/Sns/Topic.cs index 0ddbb313e3..ae5de1f788 100644 --- a/sdk/dotnet/Sns/Topic.cs +++ b/sdk/dotnet/Sns/Topic.cs @@ -13,6 +13,136 @@ namespace Pulumi.AwsNative.Sns /// The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published. /// One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*. /// The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. + /// + /// ## Example Usage + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var carSalesTopic = new AwsNative.Sns.Topic("carSalesTopic"); + /// + /// var erpIntegrationQueue = new AwsNative.Sqs.Queue("erpIntegrationQueue"); + /// + /// var erpSubscription = new AwsNative.Sns.Subscription("erpSubscription", new() + /// { + /// TopicArn = carSalesTopic.Id, + /// Endpoint = erpIntegrationQueue.Arn, + /// Protocol = "sqs", + /// RawMessageDelivery = true, + /// }); + /// + /// var crmIntegrationQueue = new AwsNative.Sqs.Queue("crmIntegrationQueue"); + /// + /// var crmSubscription = new AwsNative.Sns.Subscription("crmSubscription", new() + /// { + /// TopicArn = carSalesTopic.Id, + /// Endpoint = crmIntegrationQueue.Arn, + /// Protocol = "sqs", + /// RawMessageDelivery = true, + /// FilterPolicy = new Dictionary<string, object?> + /// { + /// ["buyer-class"] = new[] + /// { + /// "vip", + /// }, + /// }, + /// }); + /// + /// var config = new Config(); + /// var myHttpEndpoint = config.Require("myHttpEndpoint"); + /// var scmSubscription = new AwsNative.Sns.Subscription("scmSubscription", new() + /// { + /// TopicArn = carSalesTopic.Id, + /// Endpoint = myHttpEndpoint, + /// Protocol = "https", + /// DeliveryPolicy = new Dictionary<string, object?> + /// { + /// ["healthyRetryPolicy"] = new Dictionary<string, object?> + /// { + /// ["numRetries"] = 20, + /// ["minDelayTarget"] = 10, + /// ["maxDelayTarget"] = 30, + /// ["numMinDelayRetries"] = 3, + /// ["numMaxDelayRetries"] = 17, + /// ["numNoDelayRetries"] = 0, + /// ["backoffFunction"] = "exponential", + /// }, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` + /// ### Example + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using AwsNative = Pulumi.AwsNative; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var carSalesTopic = new AwsNative.Sns.Topic("carSalesTopic"); + /// + /// var erpIntegrationQueue = new AwsNative.Sqs.Queue("erpIntegrationQueue"); + /// + /// var erpSubscription = new AwsNative.Sns.Subscription("erpSubscription", new() + /// { + /// TopicArn = carSalesTopic.Id, + /// Endpoint = erpIntegrationQueue.Arn, + /// Protocol = "sqs", + /// RawMessageDelivery = true, + /// }); + /// + /// var crmIntegrationQueue = new AwsNative.Sqs.Queue("crmIntegrationQueue"); + /// + /// var crmSubscription = new AwsNative.Sns.Subscription("crmSubscription", new() + /// { + /// TopicArn = carSalesTopic.Id, + /// Endpoint = crmIntegrationQueue.Arn, + /// Protocol = "sqs", + /// RawMessageDelivery = true, + /// FilterPolicy = new Dictionary<string, object?> + /// { + /// ["buyer-class"] = new[] + /// { + /// "vip", + /// }, + /// }, + /// }); + /// + /// var config = new Config(); + /// var myHttpEndpoint = config.Require("myHttpEndpoint"); + /// var scmSubscription = new AwsNative.Sns.Subscription("scmSubscription", new() + /// { + /// TopicArn = carSalesTopic.Id, + /// Endpoint = myHttpEndpoint, + /// Protocol = "https", + /// DeliveryPolicy = new Dictionary<string, object?> + /// { + /// ["healthyRetryPolicy"] = new Dictionary<string, object?> + /// { + /// ["numRetries"] = 20, + /// ["minDelayTarget"] = 10, + /// ["maxDelayTarget"] = 30, + /// ["numMinDelayRetries"] = 3, + /// ["numMaxDelayRetries"] = 17, + /// ["numNoDelayRetries"] = 0, + /// ["backoffFunction"] = "exponential", + /// }, + /// }, + /// }); + /// + /// }); + /// + /// + /// ``` /// [AwsNativeResourceType("aws-native:sns:Topic")] public partial class Topic : global::Pulumi.CustomResource diff --git a/sdk/go/aws/amplify/app.go b/sdk/go/aws/amplify/app.go index 3ae4a1027a..9a27b93471 100644 --- a/sdk/go/aws/amplify/app.go +++ b/sdk/go/aws/amplify/app.go @@ -36,6 +36,8 @@ type App struct { BasicAuthConfig AppBasicAuthConfigPtrOutput `pulumi:"basicAuthConfig"` // The build specification (build spec) for an Amplify app. BuildSpec pulumi.StringPtrOutput `pulumi:"buildSpec"` + // The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + CacheConfig AppCacheConfigPtrOutput `pulumi:"cacheConfig"` // The custom HTTP headers for an Amplify app. CustomHeaders pulumi.StringPtrOutput `pulumi:"customHeaders"` // The custom rewrite and redirect rules for an Amplify app. @@ -63,6 +65,8 @@ type App struct { // Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* . OauthToken pulumi.StringPtrOutput `pulumi:"oauthToken"` // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + // + // If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . Platform AppPlatformPtrOutput `pulumi:"platform"` // The Git repository for the Amplify app. Repository pulumi.StringPtrOutput `pulumi:"repository"` @@ -124,6 +128,8 @@ type appArgs struct { BasicAuthConfig *AppBasicAuthConfig `pulumi:"basicAuthConfig"` // The build specification (build spec) for an Amplify app. BuildSpec *string `pulumi:"buildSpec"` + // The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + CacheConfig *AppCacheConfig `pulumi:"cacheConfig"` // The custom HTTP headers for an Amplify app. CustomHeaders *string `pulumi:"customHeaders"` // The custom rewrite and redirect rules for an Amplify app. @@ -149,6 +155,8 @@ type appArgs struct { // Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* . OauthToken *string `pulumi:"oauthToken"` // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + // + // If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . Platform *AppPlatform `pulumi:"platform"` // The Git repository for the Amplify app. Repository *string `pulumi:"repository"` @@ -172,6 +180,8 @@ type AppArgs struct { BasicAuthConfig AppBasicAuthConfigPtrInput // The build specification (build spec) for an Amplify app. BuildSpec pulumi.StringPtrInput + // The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + CacheConfig AppCacheConfigPtrInput // The custom HTTP headers for an Amplify app. CustomHeaders pulumi.StringPtrInput // The custom rewrite and redirect rules for an Amplify app. @@ -197,6 +207,8 @@ type AppArgs struct { // Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* . OauthToken pulumi.StringPtrInput // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + // + // If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . Platform AppPlatformPtrInput // The Git repository for the Amplify app. Repository pulumi.StringPtrInput @@ -282,6 +294,11 @@ func (o AppOutput) BuildSpec() pulumi.StringPtrOutput { return o.ApplyT(func(v *App) pulumi.StringPtrOutput { return v.BuildSpec }).(pulumi.StringPtrOutput) } +// The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. +func (o AppOutput) CacheConfig() AppCacheConfigPtrOutput { + return o.ApplyT(func(v *App) AppCacheConfigPtrOutput { return v.CacheConfig }).(AppCacheConfigPtrOutput) +} + // The custom HTTP headers for an Amplify app. func (o AppOutput) CustomHeaders() pulumi.StringPtrOutput { return o.ApplyT(func(v *App) pulumi.StringPtrOutput { return v.CustomHeaders }).(pulumi.StringPtrOutput) @@ -336,6 +353,8 @@ func (o AppOutput) OauthToken() pulumi.StringPtrOutput { } // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . +// +// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . func (o AppOutput) Platform() AppPlatformPtrOutput { return o.ApplyT(func(v *App) AppPlatformPtrOutput { return v.Platform }).(AppPlatformPtrOutput) } diff --git a/sdk/go/aws/amplify/getApp.go b/sdk/go/aws/amplify/getApp.go index f64e55ded4..8d8c9a5edb 100644 --- a/sdk/go/aws/amplify/getApp.go +++ b/sdk/go/aws/amplify/getApp.go @@ -37,6 +37,8 @@ type LookupAppResult struct { Arn *string `pulumi:"arn"` // The build specification (build spec) for an Amplify app. BuildSpec *string `pulumi:"buildSpec"` + // The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + CacheConfig *AppCacheConfig `pulumi:"cacheConfig"` // The custom HTTP headers for an Amplify app. CustomHeaders *string `pulumi:"customHeaders"` // The custom rewrite and redirect rules for an Amplify app. @@ -56,6 +58,8 @@ type LookupAppResult struct { // The name of the Amplify app. Name *string `pulumi:"name"` // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + // + // If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . Platform *AppPlatform `pulumi:"platform"` // The Git repository for the Amplify app. Repository *string `pulumi:"repository"` @@ -119,6 +123,11 @@ func (o LookupAppResultOutput) BuildSpec() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupAppResult) *string { return v.BuildSpec }).(pulumi.StringPtrOutput) } +// The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. +func (o LookupAppResultOutput) CacheConfig() AppCacheConfigPtrOutput { + return o.ApplyT(func(v LookupAppResult) *AppCacheConfig { return v.CacheConfig }).(AppCacheConfigPtrOutput) +} + // The custom HTTP headers for an Amplify app. func (o LookupAppResultOutput) CustomHeaders() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupAppResult) *string { return v.CustomHeaders }).(pulumi.StringPtrOutput) @@ -162,6 +171,8 @@ func (o LookupAppResultOutput) Name() pulumi.StringPtrOutput { } // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . +// +// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . func (o LookupAppResultOutput) Platform() AppPlatformPtrOutput { return o.ApplyT(func(v LookupAppResult) *AppPlatform { return v.Platform }).(AppPlatformPtrOutput) } diff --git a/sdk/go/aws/amplify/pulumiEnums.go b/sdk/go/aws/amplify/pulumiEnums.go index 0aa736fa03..9b4751ecc3 100644 --- a/sdk/go/aws/amplify/pulumiEnums.go +++ b/sdk/go/aws/amplify/pulumiEnums.go @@ -182,7 +182,179 @@ func (in *appAutoBranchCreationConfigStagePtr) ToAppAutoBranchCreationConfigStag return pulumi.ToOutputWithContext(ctx, in).(AppAutoBranchCreationConfigStagePtrOutput) } +// The type of cache configuration to use for an Amplify app. +// +// The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. +// +// The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. +type AppCacheConfigType string + +const ( + AppCacheConfigTypeAmplifyManaged = AppCacheConfigType("AMPLIFY_MANAGED") + AppCacheConfigTypeAmplifyManagedNoCookies = AppCacheConfigType("AMPLIFY_MANAGED_NO_COOKIES") +) + +func (AppCacheConfigType) ElementType() reflect.Type { + return reflect.TypeOf((*AppCacheConfigType)(nil)).Elem() +} + +func (e AppCacheConfigType) ToAppCacheConfigTypeOutput() AppCacheConfigTypeOutput { + return pulumi.ToOutput(e).(AppCacheConfigTypeOutput) +} + +func (e AppCacheConfigType) ToAppCacheConfigTypeOutputWithContext(ctx context.Context) AppCacheConfigTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(AppCacheConfigTypeOutput) +} + +func (e AppCacheConfigType) ToAppCacheConfigTypePtrOutput() AppCacheConfigTypePtrOutput { + return e.ToAppCacheConfigTypePtrOutputWithContext(context.Background()) +} + +func (e AppCacheConfigType) ToAppCacheConfigTypePtrOutputWithContext(ctx context.Context) AppCacheConfigTypePtrOutput { + return AppCacheConfigType(e).ToAppCacheConfigTypeOutputWithContext(ctx).ToAppCacheConfigTypePtrOutputWithContext(ctx) +} + +func (e AppCacheConfigType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AppCacheConfigType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AppCacheConfigType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e AppCacheConfigType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type AppCacheConfigTypeOutput struct{ *pulumi.OutputState } + +func (AppCacheConfigTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppCacheConfigType)(nil)).Elem() +} + +func (o AppCacheConfigTypeOutput) ToAppCacheConfigTypeOutput() AppCacheConfigTypeOutput { + return o +} + +func (o AppCacheConfigTypeOutput) ToAppCacheConfigTypeOutputWithContext(ctx context.Context) AppCacheConfigTypeOutput { + return o +} + +func (o AppCacheConfigTypeOutput) ToAppCacheConfigTypePtrOutput() AppCacheConfigTypePtrOutput { + return o.ToAppCacheConfigTypePtrOutputWithContext(context.Background()) +} + +func (o AppCacheConfigTypeOutput) ToAppCacheConfigTypePtrOutputWithContext(ctx context.Context) AppCacheConfigTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppCacheConfigType) *AppCacheConfigType { + return &v + }).(AppCacheConfigTypePtrOutput) +} + +func (o AppCacheConfigTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o AppCacheConfigTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AppCacheConfigType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o AppCacheConfigTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AppCacheConfigTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AppCacheConfigType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type AppCacheConfigTypePtrOutput struct{ *pulumi.OutputState } + +func (AppCacheConfigTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppCacheConfigType)(nil)).Elem() +} + +func (o AppCacheConfigTypePtrOutput) ToAppCacheConfigTypePtrOutput() AppCacheConfigTypePtrOutput { + return o +} + +func (o AppCacheConfigTypePtrOutput) ToAppCacheConfigTypePtrOutputWithContext(ctx context.Context) AppCacheConfigTypePtrOutput { + return o +} + +func (o AppCacheConfigTypePtrOutput) Elem() AppCacheConfigTypeOutput { + return o.ApplyT(func(v *AppCacheConfigType) AppCacheConfigType { + if v != nil { + return *v + } + var ret AppCacheConfigType + return ret + }).(AppCacheConfigTypeOutput) +} + +func (o AppCacheConfigTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AppCacheConfigTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *AppCacheConfigType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// AppCacheConfigTypeInput is an input type that accepts values of the AppCacheConfigType enum +// A concrete instance of `AppCacheConfigTypeInput` can be one of the following: +// +// AppCacheConfigTypeAmplifyManaged +// AppCacheConfigTypeAmplifyManagedNoCookies +type AppCacheConfigTypeInput interface { + pulumi.Input + + ToAppCacheConfigTypeOutput() AppCacheConfigTypeOutput + ToAppCacheConfigTypeOutputWithContext(context.Context) AppCacheConfigTypeOutput +} + +var appCacheConfigTypePtrType = reflect.TypeOf((**AppCacheConfigType)(nil)).Elem() + +type AppCacheConfigTypePtrInput interface { + pulumi.Input + + ToAppCacheConfigTypePtrOutput() AppCacheConfigTypePtrOutput + ToAppCacheConfigTypePtrOutputWithContext(context.Context) AppCacheConfigTypePtrOutput +} + +type appCacheConfigTypePtr string + +func AppCacheConfigTypePtr(v string) AppCacheConfigTypePtrInput { + return (*appCacheConfigTypePtr)(&v) +} + +func (*appCacheConfigTypePtr) ElementType() reflect.Type { + return appCacheConfigTypePtrType +} + +func (in *appCacheConfigTypePtr) ToAppCacheConfigTypePtrOutput() AppCacheConfigTypePtrOutput { + return pulumi.ToOutput(in).(AppCacheConfigTypePtrOutput) +} + +func (in *appCacheConfigTypePtr) ToAppCacheConfigTypePtrOutputWithContext(ctx context.Context) AppCacheConfigTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(AppCacheConfigTypePtrOutput) +} + // The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . +// +// If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . type AppPlatform string const ( @@ -790,6 +962,8 @@ func (in *domainCertificateSettingsCertificateTypePtr) ToDomainCertificateSettin func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppAutoBranchCreationConfigStageInput)(nil)).Elem(), AppAutoBranchCreationConfigStage("EXPERIMENTAL")) pulumi.RegisterInputType(reflect.TypeOf((*AppAutoBranchCreationConfigStagePtrInput)(nil)).Elem(), AppAutoBranchCreationConfigStage("EXPERIMENTAL")) + pulumi.RegisterInputType(reflect.TypeOf((*AppCacheConfigTypeInput)(nil)).Elem(), AppCacheConfigType("AMPLIFY_MANAGED")) + pulumi.RegisterInputType(reflect.TypeOf((*AppCacheConfigTypePtrInput)(nil)).Elem(), AppCacheConfigType("AMPLIFY_MANAGED")) pulumi.RegisterInputType(reflect.TypeOf((*AppPlatformInput)(nil)).Elem(), AppPlatform("WEB")) pulumi.RegisterInputType(reflect.TypeOf((*AppPlatformPtrInput)(nil)).Elem(), AppPlatform("WEB")) pulumi.RegisterInputType(reflect.TypeOf((*BranchStageInput)(nil)).Elem(), BranchStage("EXPERIMENTAL")) @@ -798,6 +972,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainCertificateSettingsCertificateTypePtrInput)(nil)).Elem(), DomainCertificateSettingsCertificateType("AMPLIFY_MANAGED")) pulumi.RegisterOutputType(AppAutoBranchCreationConfigStageOutput{}) pulumi.RegisterOutputType(AppAutoBranchCreationConfigStagePtrOutput{}) + pulumi.RegisterOutputType(AppCacheConfigTypeOutput{}) + pulumi.RegisterOutputType(AppCacheConfigTypePtrOutput{}) pulumi.RegisterOutputType(AppPlatformOutput{}) pulumi.RegisterOutputType(AppPlatformPtrOutput{}) pulumi.RegisterOutputType(BranchStageOutput{}) diff --git a/sdk/go/aws/amplify/pulumiTypes.go b/sdk/go/aws/amplify/pulumiTypes.go index bd7647fe9e..132605e777 100644 --- a/sdk/go/aws/amplify/pulumiTypes.go +++ b/sdk/go/aws/amplify/pulumiTypes.go @@ -563,6 +563,159 @@ func (o AppBasicAuthConfigPtrOutput) Username() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type AppCacheConfig struct { + // The type of cache configuration to use for an Amplify app. + // + // The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + // + // The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + Type *AppCacheConfigType `pulumi:"type"` +} + +// AppCacheConfigInput is an input type that accepts AppCacheConfigArgs and AppCacheConfigOutput values. +// You can construct a concrete instance of `AppCacheConfigInput` via: +// +// AppCacheConfigArgs{...} +type AppCacheConfigInput interface { + pulumi.Input + + ToAppCacheConfigOutput() AppCacheConfigOutput + ToAppCacheConfigOutputWithContext(context.Context) AppCacheConfigOutput +} + +type AppCacheConfigArgs struct { + // The type of cache configuration to use for an Amplify app. + // + // The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + // + // The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + Type AppCacheConfigTypePtrInput `pulumi:"type"` +} + +func (AppCacheConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppCacheConfig)(nil)).Elem() +} + +func (i AppCacheConfigArgs) ToAppCacheConfigOutput() AppCacheConfigOutput { + return i.ToAppCacheConfigOutputWithContext(context.Background()) +} + +func (i AppCacheConfigArgs) ToAppCacheConfigOutputWithContext(ctx context.Context) AppCacheConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppCacheConfigOutput) +} + +func (i AppCacheConfigArgs) ToAppCacheConfigPtrOutput() AppCacheConfigPtrOutput { + return i.ToAppCacheConfigPtrOutputWithContext(context.Background()) +} + +func (i AppCacheConfigArgs) ToAppCacheConfigPtrOutputWithContext(ctx context.Context) AppCacheConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppCacheConfigOutput).ToAppCacheConfigPtrOutputWithContext(ctx) +} + +// AppCacheConfigPtrInput is an input type that accepts AppCacheConfigArgs, AppCacheConfigPtr and AppCacheConfigPtrOutput values. +// You can construct a concrete instance of `AppCacheConfigPtrInput` via: +// +// AppCacheConfigArgs{...} +// +// or: +// +// nil +type AppCacheConfigPtrInput interface { + pulumi.Input + + ToAppCacheConfigPtrOutput() AppCacheConfigPtrOutput + ToAppCacheConfigPtrOutputWithContext(context.Context) AppCacheConfigPtrOutput +} + +type appCacheConfigPtrType AppCacheConfigArgs + +func AppCacheConfigPtr(v *AppCacheConfigArgs) AppCacheConfigPtrInput { + return (*appCacheConfigPtrType)(v) +} + +func (*appCacheConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppCacheConfig)(nil)).Elem() +} + +func (i *appCacheConfigPtrType) ToAppCacheConfigPtrOutput() AppCacheConfigPtrOutput { + return i.ToAppCacheConfigPtrOutputWithContext(context.Background()) +} + +func (i *appCacheConfigPtrType) ToAppCacheConfigPtrOutputWithContext(ctx context.Context) AppCacheConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppCacheConfigPtrOutput) +} + +type AppCacheConfigOutput struct{ *pulumi.OutputState } + +func (AppCacheConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppCacheConfig)(nil)).Elem() +} + +func (o AppCacheConfigOutput) ToAppCacheConfigOutput() AppCacheConfigOutput { + return o +} + +func (o AppCacheConfigOutput) ToAppCacheConfigOutputWithContext(ctx context.Context) AppCacheConfigOutput { + return o +} + +func (o AppCacheConfigOutput) ToAppCacheConfigPtrOutput() AppCacheConfigPtrOutput { + return o.ToAppCacheConfigPtrOutputWithContext(context.Background()) +} + +func (o AppCacheConfigOutput) ToAppCacheConfigPtrOutputWithContext(ctx context.Context) AppCacheConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppCacheConfig) *AppCacheConfig { + return &v + }).(AppCacheConfigPtrOutput) +} + +// The type of cache configuration to use for an Amplify app. +// +// The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. +// +// The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. +func (o AppCacheConfigOutput) Type() AppCacheConfigTypePtrOutput { + return o.ApplyT(func(v AppCacheConfig) *AppCacheConfigType { return v.Type }).(AppCacheConfigTypePtrOutput) +} + +type AppCacheConfigPtrOutput struct{ *pulumi.OutputState } + +func (AppCacheConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppCacheConfig)(nil)).Elem() +} + +func (o AppCacheConfigPtrOutput) ToAppCacheConfigPtrOutput() AppCacheConfigPtrOutput { + return o +} + +func (o AppCacheConfigPtrOutput) ToAppCacheConfigPtrOutputWithContext(ctx context.Context) AppCacheConfigPtrOutput { + return o +} + +func (o AppCacheConfigPtrOutput) Elem() AppCacheConfigOutput { + return o.ApplyT(func(v *AppCacheConfig) AppCacheConfig { + if v != nil { + return *v + } + var ret AppCacheConfig + return ret + }).(AppCacheConfigOutput) +} + +// The type of cache configuration to use for an Amplify app. +// +// The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. +// +// The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. +func (o AppCacheConfigPtrOutput) Type() AppCacheConfigTypePtrOutput { + return o.ApplyT(func(v *AppCacheConfig) *AppCacheConfigType { + if v == nil { + return nil + } + return v.Type + }).(AppCacheConfigTypePtrOutput) +} + type AppCustomRule struct { // The condition for a URL rewrite or redirect rule, such as a country code. Condition *string `pulumi:"condition"` @@ -1652,6 +1805,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppAutoBranchCreationConfigPtrInput)(nil)).Elem(), AppAutoBranchCreationConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppBasicAuthConfigInput)(nil)).Elem(), AppBasicAuthConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppBasicAuthConfigPtrInput)(nil)).Elem(), AppBasicAuthConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppCacheConfigInput)(nil)).Elem(), AppCacheConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppCacheConfigPtrInput)(nil)).Elem(), AppCacheConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppCustomRuleInput)(nil)).Elem(), AppCustomRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppCustomRuleArrayInput)(nil)).Elem(), AppCustomRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppEnvironmentVariableInput)(nil)).Elem(), AppEnvironmentVariableArgs{}) @@ -1670,6 +1825,8 @@ func init() { pulumi.RegisterOutputType(AppAutoBranchCreationConfigPtrOutput{}) pulumi.RegisterOutputType(AppBasicAuthConfigOutput{}) pulumi.RegisterOutputType(AppBasicAuthConfigPtrOutput{}) + pulumi.RegisterOutputType(AppCacheConfigOutput{}) + pulumi.RegisterOutputType(AppCacheConfigPtrOutput{}) pulumi.RegisterOutputType(AppCustomRuleOutput{}) pulumi.RegisterOutputType(AppCustomRuleArrayOutput{}) pulumi.RegisterOutputType(AppEnvironmentVariableOutput{}) diff --git a/sdk/go/aws/applicationsignals/getServiceLevelObjective.go b/sdk/go/aws/applicationsignals/getServiceLevelObjective.go index cf609082f8..3bbef557cb 100644 --- a/sdk/go/aws/applicationsignals/getServiceLevelObjective.go +++ b/sdk/go/aws/applicationsignals/getServiceLevelObjective.go @@ -35,11 +35,15 @@ type LookupServiceLevelObjectiveResult struct { CreatedTime *int `pulumi:"createdTime"` // An optional description for this SLO. Default is 'No description' Description *string `pulumi:"description"` + // Displays whether this is a period-based SLO or a request-based SLO. + EvaluationType *ServiceLevelObjectiveEvaluationType `pulumi:"evaluationType"` // This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. Goal *ServiceLevelObjectiveGoal `pulumi:"goal"` // Epoch time in seconds of the time that this SLO was most recently updated LastUpdatedTime *int `pulumi:"lastUpdatedTime"` - // A structure containing information about the performance metric that this SLO monitors. + // A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + RequestBasedSli *ServiceLevelObjectiveRequestBasedSli `pulumi:"requestBasedSli"` + // A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. Sli *ServiceLevelObjectiveSli `pulumi:"sli"` // A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. // @@ -98,6 +102,13 @@ func (o LookupServiceLevelObjectiveResultOutput) Description() pulumi.StringPtrO return o.ApplyT(func(v LookupServiceLevelObjectiveResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +// Displays whether this is a period-based SLO or a request-based SLO. +func (o LookupServiceLevelObjectiveResultOutput) EvaluationType() ServiceLevelObjectiveEvaluationTypePtrOutput { + return o.ApplyT(func(v LookupServiceLevelObjectiveResult) *ServiceLevelObjectiveEvaluationType { + return v.EvaluationType + }).(ServiceLevelObjectiveEvaluationTypePtrOutput) +} + // This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. func (o LookupServiceLevelObjectiveResultOutput) Goal() ServiceLevelObjectiveGoalPtrOutput { return o.ApplyT(func(v LookupServiceLevelObjectiveResult) *ServiceLevelObjectiveGoal { return v.Goal }).(ServiceLevelObjectiveGoalPtrOutput) @@ -108,7 +119,14 @@ func (o LookupServiceLevelObjectiveResultOutput) LastUpdatedTime() pulumi.IntPtr return o.ApplyT(func(v LookupServiceLevelObjectiveResult) *int { return v.LastUpdatedTime }).(pulumi.IntPtrOutput) } -// A structure containing information about the performance metric that this SLO monitors. +// A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. +func (o LookupServiceLevelObjectiveResultOutput) RequestBasedSli() ServiceLevelObjectiveRequestBasedSliPtrOutput { + return o.ApplyT(func(v LookupServiceLevelObjectiveResult) *ServiceLevelObjectiveRequestBasedSli { + return v.RequestBasedSli + }).(ServiceLevelObjectiveRequestBasedSliPtrOutput) +} + +// A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. func (o LookupServiceLevelObjectiveResultOutput) Sli() ServiceLevelObjectiveSliPtrOutput { return o.ApplyT(func(v LookupServiceLevelObjectiveResult) *ServiceLevelObjectiveSli { return v.Sli }).(ServiceLevelObjectiveSliPtrOutput) } diff --git a/sdk/go/aws/applicationsignals/pulumiEnums.go b/sdk/go/aws/applicationsignals/pulumiEnums.go index e4c53db028..40bc974e10 100644 --- a/sdk/go/aws/applicationsignals/pulumiEnums.go +++ b/sdk/go/aws/applicationsignals/pulumiEnums.go @@ -176,6 +176,433 @@ func (in *serviceLevelObjectiveDurationUnitPtr) ToServiceLevelObjectiveDurationU return pulumi.ToOutputWithContext(ctx, in).(ServiceLevelObjectiveDurationUnitPtrOutput) } +// Displays whether this is a period-based SLO or a request-based SLO. +type ServiceLevelObjectiveEvaluationType string + +const ( + ServiceLevelObjectiveEvaluationTypePeriodBased = ServiceLevelObjectiveEvaluationType("PeriodBased") + ServiceLevelObjectiveEvaluationTypeRequestBased = ServiceLevelObjectiveEvaluationType("RequestBased") +) + +type ServiceLevelObjectiveEvaluationTypeOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveEvaluationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveEvaluationType)(nil)).Elem() +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToServiceLevelObjectiveEvaluationTypeOutput() ServiceLevelObjectiveEvaluationTypeOutput { + return o +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToServiceLevelObjectiveEvaluationTypeOutputWithContext(ctx context.Context) ServiceLevelObjectiveEvaluationTypeOutput { + return o +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToServiceLevelObjectiveEvaluationTypePtrOutput() ServiceLevelObjectiveEvaluationTypePtrOutput { + return o.ToServiceLevelObjectiveEvaluationTypePtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToServiceLevelObjectiveEvaluationTypePtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveEvaluationTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveEvaluationType) *ServiceLevelObjectiveEvaluationType { + return &v + }).(ServiceLevelObjectiveEvaluationTypePtrOutput) +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServiceLevelObjectiveEvaluationType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveEvaluationTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServiceLevelObjectiveEvaluationType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServiceLevelObjectiveEvaluationTypePtrOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveEvaluationTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveEvaluationType)(nil)).Elem() +} + +func (o ServiceLevelObjectiveEvaluationTypePtrOutput) ToServiceLevelObjectiveEvaluationTypePtrOutput() ServiceLevelObjectiveEvaluationTypePtrOutput { + return o +} + +func (o ServiceLevelObjectiveEvaluationTypePtrOutput) ToServiceLevelObjectiveEvaluationTypePtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveEvaluationTypePtrOutput { + return o +} + +func (o ServiceLevelObjectiveEvaluationTypePtrOutput) Elem() ServiceLevelObjectiveEvaluationTypeOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveEvaluationType) ServiceLevelObjectiveEvaluationType { + if v != nil { + return *v + } + var ret ServiceLevelObjectiveEvaluationType + return ret + }).(ServiceLevelObjectiveEvaluationTypeOutput) +} + +func (o ServiceLevelObjectiveEvaluationTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveEvaluationTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServiceLevelObjectiveEvaluationType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// The arithmetic operation used when comparing the specified metric to the threshold. +type ServiceLevelObjectiveRequestBasedSliComparisonOperator string + +const ( + ServiceLevelObjectiveRequestBasedSliComparisonOperatorGreaterThanOrEqualTo = ServiceLevelObjectiveRequestBasedSliComparisonOperator("GreaterThanOrEqualTo") + ServiceLevelObjectiveRequestBasedSliComparisonOperatorLessThanOrEqualTo = ServiceLevelObjectiveRequestBasedSliComparisonOperator("LessThanOrEqualTo") + ServiceLevelObjectiveRequestBasedSliComparisonOperatorLessThan = ServiceLevelObjectiveRequestBasedSliComparisonOperator("LessThan") + ServiceLevelObjectiveRequestBasedSliComparisonOperatorGreaterThan = ServiceLevelObjectiveRequestBasedSliComparisonOperator("GreaterThan") +) + +func (ServiceLevelObjectiveRequestBasedSliComparisonOperator) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliComparisonOperator)(nil)).Elem() +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput { + return pulumi.ToOutput(e).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return e.ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(context.Background()) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return ServiceLevelObjectiveRequestBasedSliComparisonOperator(e).ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutputWithContext(ctx).ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(ctx) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServiceLevelObjectiveRequestBasedSliComparisonOperator) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliComparisonOperator)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return o.ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveRequestBasedSliComparisonOperator) *ServiceLevelObjectiveRequestBasedSliComparisonOperator { + return &v + }).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServiceLevelObjectiveRequestBasedSliComparisonOperator) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServiceLevelObjectiveRequestBasedSliComparisonOperator) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSliComparisonOperator)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) Elem() ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliComparisonOperator) ServiceLevelObjectiveRequestBasedSliComparisonOperator { + if v != nil { + return *v + } + var ret ServiceLevelObjectiveRequestBasedSliComparisonOperator + return ret + }).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServiceLevelObjectiveRequestBasedSliComparisonOperator) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServiceLevelObjectiveRequestBasedSliComparisonOperatorInput is an input type that accepts values of the ServiceLevelObjectiveRequestBasedSliComparisonOperator enum +// A concrete instance of `ServiceLevelObjectiveRequestBasedSliComparisonOperatorInput` can be one of the following: +// +// ServiceLevelObjectiveRequestBasedSliComparisonOperatorGreaterThanOrEqualTo +// ServiceLevelObjectiveRequestBasedSliComparisonOperatorLessThanOrEqualTo +// ServiceLevelObjectiveRequestBasedSliComparisonOperatorLessThan +// ServiceLevelObjectiveRequestBasedSliComparisonOperatorGreaterThan +type ServiceLevelObjectiveRequestBasedSliComparisonOperatorInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput + ToServiceLevelObjectiveRequestBasedSliComparisonOperatorOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput +} + +var serviceLevelObjectiveRequestBasedSliComparisonOperatorPtrType = reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSliComparisonOperator)(nil)).Elem() + +type ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput + ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput +} + +type serviceLevelObjectiveRequestBasedSliComparisonOperatorPtr string + +func ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtr(v string) ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrInput { + return (*serviceLevelObjectiveRequestBasedSliComparisonOperatorPtr)(&v) +} + +func (*serviceLevelObjectiveRequestBasedSliComparisonOperatorPtr) ElementType() reflect.Type { + return serviceLevelObjectiveRequestBasedSliComparisonOperatorPtrType +} + +func (in *serviceLevelObjectiveRequestBasedSliComparisonOperatorPtr) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return pulumi.ToOutput(in).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) +} + +func (in *serviceLevelObjectiveRequestBasedSliComparisonOperatorPtr) ToServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) +} + +// If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. +type ServiceLevelObjectiveRequestBasedSliMetricMetricType string + +const ( + ServiceLevelObjectiveRequestBasedSliMetricMetricTypeLatency = ServiceLevelObjectiveRequestBasedSliMetricMetricType("LATENCY") + ServiceLevelObjectiveRequestBasedSliMetricMetricTypeAvailability = ServiceLevelObjectiveRequestBasedSliMetricMetricType("AVAILABILITY") +) + +func (ServiceLevelObjectiveRequestBasedSliMetricMetricType) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetricMetricType)(nil)).Elem() +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput { + return pulumi.ToOutput(e).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return e.ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(context.Background()) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return ServiceLevelObjectiveRequestBasedSliMetricMetricType(e).ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutputWithContext(ctx).ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(ctx) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ServiceLevelObjectiveRequestBasedSliMetricMetricType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetricMetricType)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return o.ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveRequestBasedSliMetricMetricType) *ServiceLevelObjectiveRequestBasedSliMetricMetricType { + return &v + }).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServiceLevelObjectiveRequestBasedSliMetricMetricType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ServiceLevelObjectiveRequestBasedSliMetricMetricType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSliMetricMetricType)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) Elem() ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetricMetricType) ServiceLevelObjectiveRequestBasedSliMetricMetricType { + if v != nil { + return *v + } + var ret ServiceLevelObjectiveRequestBasedSliMetricMetricType + return ret + }).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ServiceLevelObjectiveRequestBasedSliMetricMetricType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ServiceLevelObjectiveRequestBasedSliMetricMetricTypeInput is an input type that accepts values of the ServiceLevelObjectiveRequestBasedSliMetricMetricType enum +// A concrete instance of `ServiceLevelObjectiveRequestBasedSliMetricMetricTypeInput` can be one of the following: +// +// ServiceLevelObjectiveRequestBasedSliMetricMetricTypeLatency +// ServiceLevelObjectiveRequestBasedSliMetricMetricTypeAvailability +type ServiceLevelObjectiveRequestBasedSliMetricMetricTypeInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput + ToServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput +} + +var serviceLevelObjectiveRequestBasedSliMetricMetricTypePtrType = reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSliMetricMetricType)(nil)).Elem() + +type ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput + ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput +} + +type serviceLevelObjectiveRequestBasedSliMetricMetricTypePtr string + +func ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtr(v string) ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrInput { + return (*serviceLevelObjectiveRequestBasedSliMetricMetricTypePtr)(&v) +} + +func (*serviceLevelObjectiveRequestBasedSliMetricMetricTypePtr) ElementType() reflect.Type { + return serviceLevelObjectiveRequestBasedSliMetricMetricTypePtrType +} + +func (in *serviceLevelObjectiveRequestBasedSliMetricMetricTypePtr) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return pulumi.ToOutput(in).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) +} + +func (in *serviceLevelObjectiveRequestBasedSliMetricMetricTypePtr) ToServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) +} + // The arithmetic operation used when comparing the specified metric to the threshold. type ServiceLevelObjectiveSliComparisonOperator string @@ -515,12 +942,22 @@ func (in *serviceLevelObjectiveSliMetricMetricTypePtr) ToServiceLevelObjectiveSl func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveDurationUnitInput)(nil)).Elem(), ServiceLevelObjectiveDurationUnit("DAY")) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveDurationUnitPtrInput)(nil)).Elem(), ServiceLevelObjectiveDurationUnit("DAY")) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliComparisonOperatorInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliComparisonOperator("GreaterThanOrEqualTo")) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliComparisonOperator("GreaterThanOrEqualTo")) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetricMetricTypeInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliMetricMetricType("LATENCY")) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliMetricMetricType("LATENCY")) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliComparisonOperatorInput)(nil)).Elem(), ServiceLevelObjectiveSliComparisonOperator("GreaterThanOrEqualTo")) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliComparisonOperatorPtrInput)(nil)).Elem(), ServiceLevelObjectiveSliComparisonOperator("GreaterThanOrEqualTo")) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliMetricMetricTypeInput)(nil)).Elem(), ServiceLevelObjectiveSliMetricMetricType("LATENCY")) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliMetricMetricTypePtrInput)(nil)).Elem(), ServiceLevelObjectiveSliMetricMetricType("LATENCY")) pulumi.RegisterOutputType(ServiceLevelObjectiveDurationUnitOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveDurationUnitPtrOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveEvaluationTypeOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveEvaluationTypePtrOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliComparisonOperatorOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliMetricMetricTypeOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveSliComparisonOperatorOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveSliComparisonOperatorPtrOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveSliMetricMetricTypeOutput{}) diff --git a/sdk/go/aws/applicationsignals/pulumiTypes.go b/sdk/go/aws/applicationsignals/pulumiTypes.go index c854c31949..8a15992be0 100644 --- a/sdk/go/aws/applicationsignals/pulumiTypes.go +++ b/sdk/go/aws/applicationsignals/pulumiTypes.go @@ -1168,6 +1168,597 @@ func (o ServiceLevelObjectiveMetricStatPtrOutput) Unit() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } +// This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. +type ServiceLevelObjectiveMonitoredRequestCountMetric struct { + // If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + BadCountMetric []ServiceLevelObjectiveMetricDataQuery `pulumi:"badCountMetric"` + // If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + GoodCountMetric []ServiceLevelObjectiveMetricDataQuery `pulumi:"goodCountMetric"` +} + +// ServiceLevelObjectiveMonitoredRequestCountMetricInput is an input type that accepts ServiceLevelObjectiveMonitoredRequestCountMetricArgs and ServiceLevelObjectiveMonitoredRequestCountMetricOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveMonitoredRequestCountMetricInput` via: +// +// ServiceLevelObjectiveMonitoredRequestCountMetricArgs{...} +type ServiceLevelObjectiveMonitoredRequestCountMetricInput interface { + pulumi.Input + + ToServiceLevelObjectiveMonitoredRequestCountMetricOutput() ServiceLevelObjectiveMonitoredRequestCountMetricOutput + ToServiceLevelObjectiveMonitoredRequestCountMetricOutputWithContext(context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricOutput +} + +// This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. +type ServiceLevelObjectiveMonitoredRequestCountMetricArgs struct { + // If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + BadCountMetric ServiceLevelObjectiveMetricDataQueryArrayInput `pulumi:"badCountMetric"` + // If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + GoodCountMetric ServiceLevelObjectiveMetricDataQueryArrayInput `pulumi:"goodCountMetric"` +} + +func (ServiceLevelObjectiveMonitoredRequestCountMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveMonitoredRequestCountMetric)(nil)).Elem() +} + +func (i ServiceLevelObjectiveMonitoredRequestCountMetricArgs) ToServiceLevelObjectiveMonitoredRequestCountMetricOutput() ServiceLevelObjectiveMonitoredRequestCountMetricOutput { + return i.ToServiceLevelObjectiveMonitoredRequestCountMetricOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveMonitoredRequestCountMetricArgs) ToServiceLevelObjectiveMonitoredRequestCountMetricOutputWithContext(ctx context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveMonitoredRequestCountMetricOutput) +} + +func (i ServiceLevelObjectiveMonitoredRequestCountMetricArgs) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return i.ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveMonitoredRequestCountMetricArgs) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveMonitoredRequestCountMetricOutput).ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(ctx) +} + +// ServiceLevelObjectiveMonitoredRequestCountMetricPtrInput is an input type that accepts ServiceLevelObjectiveMonitoredRequestCountMetricArgs, ServiceLevelObjectiveMonitoredRequestCountMetricPtr and ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveMonitoredRequestCountMetricPtrInput` via: +// +// ServiceLevelObjectiveMonitoredRequestCountMetricArgs{...} +// +// or: +// +// nil +type ServiceLevelObjectiveMonitoredRequestCountMetricPtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput + ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput +} + +type serviceLevelObjectiveMonitoredRequestCountMetricPtrType ServiceLevelObjectiveMonitoredRequestCountMetricArgs + +func ServiceLevelObjectiveMonitoredRequestCountMetricPtr(v *ServiceLevelObjectiveMonitoredRequestCountMetricArgs) ServiceLevelObjectiveMonitoredRequestCountMetricPtrInput { + return (*serviceLevelObjectiveMonitoredRequestCountMetricPtrType)(v) +} + +func (*serviceLevelObjectiveMonitoredRequestCountMetricPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveMonitoredRequestCountMetric)(nil)).Elem() +} + +func (i *serviceLevelObjectiveMonitoredRequestCountMetricPtrType) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return i.ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(context.Background()) +} + +func (i *serviceLevelObjectiveMonitoredRequestCountMetricPtrType) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) +} + +// This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. +type ServiceLevelObjectiveMonitoredRequestCountMetricOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveMonitoredRequestCountMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveMonitoredRequestCountMetric)(nil)).Elem() +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricOutput) ToServiceLevelObjectiveMonitoredRequestCountMetricOutput() ServiceLevelObjectiveMonitoredRequestCountMetricOutput { + return o +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricOutput) ToServiceLevelObjectiveMonitoredRequestCountMetricOutputWithContext(ctx context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricOutput { + return o +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricOutput) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return o.ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricOutput) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveMonitoredRequestCountMetric) *ServiceLevelObjectiveMonitoredRequestCountMetric { + return &v + }).(ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) +} + +// If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. +func (o ServiceLevelObjectiveMonitoredRequestCountMetricOutput) BadCountMetric() ServiceLevelObjectiveMetricDataQueryArrayOutput { + return o.ApplyT(func(v ServiceLevelObjectiveMonitoredRequestCountMetric) []ServiceLevelObjectiveMetricDataQuery { + return v.BadCountMetric + }).(ServiceLevelObjectiveMetricDataQueryArrayOutput) +} + +// If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. +func (o ServiceLevelObjectiveMonitoredRequestCountMetricOutput) GoodCountMetric() ServiceLevelObjectiveMetricDataQueryArrayOutput { + return o.ApplyT(func(v ServiceLevelObjectiveMonitoredRequestCountMetric) []ServiceLevelObjectiveMetricDataQuery { + return v.GoodCountMetric + }).(ServiceLevelObjectiveMetricDataQueryArrayOutput) +} + +type ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveMonitoredRequestCountMetric)(nil)).Elem() +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return o +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) ToServiceLevelObjectiveMonitoredRequestCountMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return o +} + +func (o ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) Elem() ServiceLevelObjectiveMonitoredRequestCountMetricOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveMonitoredRequestCountMetric) ServiceLevelObjectiveMonitoredRequestCountMetric { + if v != nil { + return *v + } + var ret ServiceLevelObjectiveMonitoredRequestCountMetric + return ret + }).(ServiceLevelObjectiveMonitoredRequestCountMetricOutput) +} + +// If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. +func (o ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) BadCountMetric() ServiceLevelObjectiveMetricDataQueryArrayOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveMonitoredRequestCountMetric) []ServiceLevelObjectiveMetricDataQuery { + if v == nil { + return nil + } + return v.BadCountMetric + }).(ServiceLevelObjectiveMetricDataQueryArrayOutput) +} + +// If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. +func (o ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) GoodCountMetric() ServiceLevelObjectiveMetricDataQueryArrayOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveMonitoredRequestCountMetric) []ServiceLevelObjectiveMetricDataQuery { + if v == nil { + return nil + } + return v.GoodCountMetric + }).(ServiceLevelObjectiveMetricDataQueryArrayOutput) +} + +// This structure contains information about the performance metric that a request-based SLO monitors. +type ServiceLevelObjectiveRequestBasedSli struct { + // The arithmetic operation used when comparing the specified metric to the threshold. + ComparisonOperator *ServiceLevelObjectiveRequestBasedSliComparisonOperator `pulumi:"comparisonOperator"` + // The value that the SLI metric is compared to. + MetricThreshold *float64 `pulumi:"metricThreshold"` + // A structure that contains information about the metric that the SLO monitors. + RequestBasedSliMetric ServiceLevelObjectiveRequestBasedSliMetric `pulumi:"requestBasedSliMetric"` +} + +// ServiceLevelObjectiveRequestBasedSliInput is an input type that accepts ServiceLevelObjectiveRequestBasedSliArgs and ServiceLevelObjectiveRequestBasedSliOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveRequestBasedSliInput` via: +// +// ServiceLevelObjectiveRequestBasedSliArgs{...} +type ServiceLevelObjectiveRequestBasedSliInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliOutput() ServiceLevelObjectiveRequestBasedSliOutput + ToServiceLevelObjectiveRequestBasedSliOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliOutput +} + +// This structure contains information about the performance metric that a request-based SLO monitors. +type ServiceLevelObjectiveRequestBasedSliArgs struct { + // The arithmetic operation used when comparing the specified metric to the threshold. + ComparisonOperator ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrInput `pulumi:"comparisonOperator"` + // The value that the SLI metric is compared to. + MetricThreshold pulumi.Float64PtrInput `pulumi:"metricThreshold"` + // A structure that contains information about the metric that the SLO monitors. + RequestBasedSliMetric ServiceLevelObjectiveRequestBasedSliMetricInput `pulumi:"requestBasedSliMetric"` +} + +func (ServiceLevelObjectiveRequestBasedSliArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSli)(nil)).Elem() +} + +func (i ServiceLevelObjectiveRequestBasedSliArgs) ToServiceLevelObjectiveRequestBasedSliOutput() ServiceLevelObjectiveRequestBasedSliOutput { + return i.ToServiceLevelObjectiveRequestBasedSliOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveRequestBasedSliArgs) ToServiceLevelObjectiveRequestBasedSliOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveRequestBasedSliOutput) +} + +func (i ServiceLevelObjectiveRequestBasedSliArgs) ToServiceLevelObjectiveRequestBasedSliPtrOutput() ServiceLevelObjectiveRequestBasedSliPtrOutput { + return i.ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveRequestBasedSliArgs) ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveRequestBasedSliOutput).ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(ctx) +} + +// ServiceLevelObjectiveRequestBasedSliPtrInput is an input type that accepts ServiceLevelObjectiveRequestBasedSliArgs, ServiceLevelObjectiveRequestBasedSliPtr and ServiceLevelObjectiveRequestBasedSliPtrOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveRequestBasedSliPtrInput` via: +// +// ServiceLevelObjectiveRequestBasedSliArgs{...} +// +// or: +// +// nil +type ServiceLevelObjectiveRequestBasedSliPtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliPtrOutput() ServiceLevelObjectiveRequestBasedSliPtrOutput + ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliPtrOutput +} + +type serviceLevelObjectiveRequestBasedSliPtrType ServiceLevelObjectiveRequestBasedSliArgs + +func ServiceLevelObjectiveRequestBasedSliPtr(v *ServiceLevelObjectiveRequestBasedSliArgs) ServiceLevelObjectiveRequestBasedSliPtrInput { + return (*serviceLevelObjectiveRequestBasedSliPtrType)(v) +} + +func (*serviceLevelObjectiveRequestBasedSliPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSli)(nil)).Elem() +} + +func (i *serviceLevelObjectiveRequestBasedSliPtrType) ToServiceLevelObjectiveRequestBasedSliPtrOutput() ServiceLevelObjectiveRequestBasedSliPtrOutput { + return i.ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(context.Background()) +} + +func (i *serviceLevelObjectiveRequestBasedSliPtrType) ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveRequestBasedSliPtrOutput) +} + +// This structure contains information about the performance metric that a request-based SLO monitors. +type ServiceLevelObjectiveRequestBasedSliOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSli)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliOutput) ToServiceLevelObjectiveRequestBasedSliOutput() ServiceLevelObjectiveRequestBasedSliOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliOutput) ToServiceLevelObjectiveRequestBasedSliOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliOutput) ToServiceLevelObjectiveRequestBasedSliPtrOutput() ServiceLevelObjectiveRequestBasedSliPtrOutput { + return o.ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliOutput) ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveRequestBasedSli) *ServiceLevelObjectiveRequestBasedSli { + return &v + }).(ServiceLevelObjectiveRequestBasedSliPtrOutput) +} + +// The arithmetic operation used when comparing the specified metric to the threshold. +func (o ServiceLevelObjectiveRequestBasedSliOutput) ComparisonOperator() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSli) *ServiceLevelObjectiveRequestBasedSliComparisonOperator { + return v.ComparisonOperator + }).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) +} + +// The value that the SLI metric is compared to. +func (o ServiceLevelObjectiveRequestBasedSliOutput) MetricThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSli) *float64 { return v.MetricThreshold }).(pulumi.Float64PtrOutput) +} + +// A structure that contains information about the metric that the SLO monitors. +func (o ServiceLevelObjectiveRequestBasedSliOutput) RequestBasedSliMetric() ServiceLevelObjectiveRequestBasedSliMetricOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSli) ServiceLevelObjectiveRequestBasedSliMetric { + return v.RequestBasedSliMetric + }).(ServiceLevelObjectiveRequestBasedSliMetricOutput) +} + +type ServiceLevelObjectiveRequestBasedSliPtrOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSli)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliPtrOutput) ToServiceLevelObjectiveRequestBasedSliPtrOutput() ServiceLevelObjectiveRequestBasedSliPtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliPtrOutput) ToServiceLevelObjectiveRequestBasedSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliPtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliPtrOutput) Elem() ServiceLevelObjectiveRequestBasedSliOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSli) ServiceLevelObjectiveRequestBasedSli { + if v != nil { + return *v + } + var ret ServiceLevelObjectiveRequestBasedSli + return ret + }).(ServiceLevelObjectiveRequestBasedSliOutput) +} + +// The arithmetic operation used when comparing the specified metric to the threshold. +func (o ServiceLevelObjectiveRequestBasedSliPtrOutput) ComparisonOperator() ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSli) *ServiceLevelObjectiveRequestBasedSliComparisonOperator { + if v == nil { + return nil + } + return v.ComparisonOperator + }).(ServiceLevelObjectiveRequestBasedSliComparisonOperatorPtrOutput) +} + +// The value that the SLI metric is compared to. +func (o ServiceLevelObjectiveRequestBasedSliPtrOutput) MetricThreshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSli) *float64 { + if v == nil { + return nil + } + return v.MetricThreshold + }).(pulumi.Float64PtrOutput) +} + +// A structure that contains information about the metric that the SLO monitors. +func (o ServiceLevelObjectiveRequestBasedSliPtrOutput) RequestBasedSliMetric() ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSli) *ServiceLevelObjectiveRequestBasedSliMetric { + if v == nil { + return nil + } + return &v.RequestBasedSliMetric + }).(ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) +} + +// This structure contains the information about the metric that is used for a request-based SLO. +type ServiceLevelObjectiveRequestBasedSliMetric struct { + // This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + // + // - `Type` designates the type of object that this SLO is related to. + // - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + // - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + // - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + // - `Environment` specifies the location where this object is hosted, or what it belongs to. + KeyAttributes map[string]string `pulumi:"keyAttributes"` + // If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + MetricType *ServiceLevelObjectiveRequestBasedSliMetricMetricType `pulumi:"metricType"` + // Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + MonitoredRequestCountMetric *ServiceLevelObjectiveMonitoredRequestCountMetric `pulumi:"monitoredRequestCountMetric"` + // If the SLO monitors a specific operation of the service, this field displays that operation name. + OperationName *string `pulumi:"operationName"` + // This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + TotalRequestCountMetric []ServiceLevelObjectiveMetricDataQuery `pulumi:"totalRequestCountMetric"` +} + +// ServiceLevelObjectiveRequestBasedSliMetricInput is an input type that accepts ServiceLevelObjectiveRequestBasedSliMetricArgs and ServiceLevelObjectiveRequestBasedSliMetricOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveRequestBasedSliMetricInput` via: +// +// ServiceLevelObjectiveRequestBasedSliMetricArgs{...} +type ServiceLevelObjectiveRequestBasedSliMetricInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliMetricOutput() ServiceLevelObjectiveRequestBasedSliMetricOutput + ToServiceLevelObjectiveRequestBasedSliMetricOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliMetricOutput +} + +// This structure contains the information about the metric that is used for a request-based SLO. +type ServiceLevelObjectiveRequestBasedSliMetricArgs struct { + // This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + // + // - `Type` designates the type of object that this SLO is related to. + // - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + // - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + // - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + // - `Environment` specifies the location where this object is hosted, or what it belongs to. + KeyAttributes pulumi.StringMapInput `pulumi:"keyAttributes"` + // If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + MetricType ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrInput `pulumi:"metricType"` + // Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + MonitoredRequestCountMetric ServiceLevelObjectiveMonitoredRequestCountMetricPtrInput `pulumi:"monitoredRequestCountMetric"` + // If the SLO monitors a specific operation of the service, this field displays that operation name. + OperationName pulumi.StringPtrInput `pulumi:"operationName"` + // This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + TotalRequestCountMetric ServiceLevelObjectiveMetricDataQueryArrayInput `pulumi:"totalRequestCountMetric"` +} + +func (ServiceLevelObjectiveRequestBasedSliMetricArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetric)(nil)).Elem() +} + +func (i ServiceLevelObjectiveRequestBasedSliMetricArgs) ToServiceLevelObjectiveRequestBasedSliMetricOutput() ServiceLevelObjectiveRequestBasedSliMetricOutput { + return i.ToServiceLevelObjectiveRequestBasedSliMetricOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveRequestBasedSliMetricArgs) ToServiceLevelObjectiveRequestBasedSliMetricOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveRequestBasedSliMetricOutput) +} + +func (i ServiceLevelObjectiveRequestBasedSliMetricArgs) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutput() ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return i.ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveRequestBasedSliMetricArgs) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveRequestBasedSliMetricOutput).ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(ctx) +} + +// ServiceLevelObjectiveRequestBasedSliMetricPtrInput is an input type that accepts ServiceLevelObjectiveRequestBasedSliMetricArgs, ServiceLevelObjectiveRequestBasedSliMetricPtr and ServiceLevelObjectiveRequestBasedSliMetricPtrOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveRequestBasedSliMetricPtrInput` via: +// +// ServiceLevelObjectiveRequestBasedSliMetricArgs{...} +// +// or: +// +// nil +type ServiceLevelObjectiveRequestBasedSliMetricPtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveRequestBasedSliMetricPtrOutput() ServiceLevelObjectiveRequestBasedSliMetricPtrOutput + ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(context.Context) ServiceLevelObjectiveRequestBasedSliMetricPtrOutput +} + +type serviceLevelObjectiveRequestBasedSliMetricPtrType ServiceLevelObjectiveRequestBasedSliMetricArgs + +func ServiceLevelObjectiveRequestBasedSliMetricPtr(v *ServiceLevelObjectiveRequestBasedSliMetricArgs) ServiceLevelObjectiveRequestBasedSliMetricPtrInput { + return (*serviceLevelObjectiveRequestBasedSliMetricPtrType)(v) +} + +func (*serviceLevelObjectiveRequestBasedSliMetricPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSliMetric)(nil)).Elem() +} + +func (i *serviceLevelObjectiveRequestBasedSliMetricPtrType) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutput() ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return i.ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(context.Background()) +} + +func (i *serviceLevelObjectiveRequestBasedSliMetricPtrType) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) +} + +// This structure contains the information about the metric that is used for a request-based SLO. +type ServiceLevelObjectiveRequestBasedSliMetricOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliMetricOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetric)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) ToServiceLevelObjectiveRequestBasedSliMetricOutput() ServiceLevelObjectiveRequestBasedSliMetricOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) ToServiceLevelObjectiveRequestBasedSliMetricOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutput() ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return o.ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveRequestBasedSliMetric) *ServiceLevelObjectiveRequestBasedSliMetric { + return &v + }).(ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) +} + +// This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. +// +// - `Type` designates the type of object that this SLO is related to. +// - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . +// - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . +// - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . +// - `Environment` specifies the location where this object is hosted, or what it belongs to. +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) KeyAttributes() pulumi.StringMapOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSliMetric) map[string]string { return v.KeyAttributes }).(pulumi.StringMapOutput) +} + +// If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) MetricType() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSliMetric) *ServiceLevelObjectiveRequestBasedSliMetricMetricType { + return v.MetricType + }).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) +} + +// Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) MonitoredRequestCountMetric() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSliMetric) *ServiceLevelObjectiveMonitoredRequestCountMetric { + return v.MonitoredRequestCountMetric + }).(ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) +} + +// If the SLO monitors a specific operation of the service, this field displays that operation name. +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) OperationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSliMetric) *string { return v.OperationName }).(pulumi.StringPtrOutput) +} + +// This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. +func (o ServiceLevelObjectiveRequestBasedSliMetricOutput) TotalRequestCountMetric() ServiceLevelObjectiveMetricDataQueryArrayOutput { + return o.ApplyT(func(v ServiceLevelObjectiveRequestBasedSliMetric) []ServiceLevelObjectiveMetricDataQuery { + return v.TotalRequestCountMetric + }).(ServiceLevelObjectiveMetricDataQueryArrayOutput) +} + +type ServiceLevelObjectiveRequestBasedSliMetricPtrOutput struct{ *pulumi.OutputState } + +func (ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveRequestBasedSliMetric)(nil)).Elem() +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutput() ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) ToServiceLevelObjectiveRequestBasedSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveRequestBasedSliMetricPtrOutput { + return o +} + +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) Elem() ServiceLevelObjectiveRequestBasedSliMetricOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetric) ServiceLevelObjectiveRequestBasedSliMetric { + if v != nil { + return *v + } + var ret ServiceLevelObjectiveRequestBasedSliMetric + return ret + }).(ServiceLevelObjectiveRequestBasedSliMetricOutput) +} + +// This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. +// +// - `Type` designates the type of object that this SLO is related to. +// - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . +// - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . +// - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . +// - `Environment` specifies the location where this object is hosted, or what it belongs to. +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) KeyAttributes() pulumi.StringMapOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetric) map[string]string { + if v == nil { + return nil + } + return v.KeyAttributes + }).(pulumi.StringMapOutput) +} + +// If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) MetricType() ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetric) *ServiceLevelObjectiveRequestBasedSliMetricMetricType { + if v == nil { + return nil + } + return v.MetricType + }).(ServiceLevelObjectiveRequestBasedSliMetricMetricTypePtrOutput) +} + +// Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) MonitoredRequestCountMetric() ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetric) *ServiceLevelObjectiveMonitoredRequestCountMetric { + if v == nil { + return nil + } + return v.MonitoredRequestCountMetric + }).(ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput) +} + +// If the SLO monitors a specific operation of the service, this field displays that operation name. +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) OperationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetric) *string { + if v == nil { + return nil + } + return v.OperationName + }).(pulumi.StringPtrOutput) +} + +// This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. +func (o ServiceLevelObjectiveRequestBasedSliMetricPtrOutput) TotalRequestCountMetric() ServiceLevelObjectiveMetricDataQueryArrayOutput { + return o.ApplyT(func(v *ServiceLevelObjectiveRequestBasedSliMetric) []ServiceLevelObjectiveMetricDataQuery { + if v == nil { + return nil + } + return v.TotalRequestCountMetric + }).(ServiceLevelObjectiveMetricDataQueryArrayOutput) +} + // If the interval is a calendar interval, this structure contains the interval specifications. type ServiceLevelObjectiveRollingInterval struct { // Specifies the duration of each rolling interval. For example, if `Duration` is `7` and `DurationUnit` is `DAY` , each rolling interval is seven days. @@ -1370,6 +1961,47 @@ func (i ServiceLevelObjectiveSliArgs) ToServiceLevelObjectiveSliOutputWithContex return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveSliOutput) } +func (i ServiceLevelObjectiveSliArgs) ToServiceLevelObjectiveSliPtrOutput() ServiceLevelObjectiveSliPtrOutput { + return i.ToServiceLevelObjectiveSliPtrOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveSliArgs) ToServiceLevelObjectiveSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveSliPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveSliOutput).ToServiceLevelObjectiveSliPtrOutputWithContext(ctx) +} + +// ServiceLevelObjectiveSliPtrInput is an input type that accepts ServiceLevelObjectiveSliArgs, ServiceLevelObjectiveSliPtr and ServiceLevelObjectiveSliPtrOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveSliPtrInput` via: +// +// ServiceLevelObjectiveSliArgs{...} +// +// or: +// +// nil +type ServiceLevelObjectiveSliPtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveSliPtrOutput() ServiceLevelObjectiveSliPtrOutput + ToServiceLevelObjectiveSliPtrOutputWithContext(context.Context) ServiceLevelObjectiveSliPtrOutput +} + +type serviceLevelObjectiveSliPtrType ServiceLevelObjectiveSliArgs + +func ServiceLevelObjectiveSliPtr(v *ServiceLevelObjectiveSliArgs) ServiceLevelObjectiveSliPtrInput { + return (*serviceLevelObjectiveSliPtrType)(v) +} + +func (*serviceLevelObjectiveSliPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveSli)(nil)).Elem() +} + +func (i *serviceLevelObjectiveSliPtrType) ToServiceLevelObjectiveSliPtrOutput() ServiceLevelObjectiveSliPtrOutput { + return i.ToServiceLevelObjectiveSliPtrOutputWithContext(context.Background()) +} + +func (i *serviceLevelObjectiveSliPtrType) ToServiceLevelObjectiveSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveSliPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveSliPtrOutput) +} + // This structure contains information about the performance metric that an SLO monitors. type ServiceLevelObjectiveSliOutput struct{ *pulumi.OutputState } @@ -1385,6 +2017,16 @@ func (o ServiceLevelObjectiveSliOutput) ToServiceLevelObjectiveSliOutputWithCont return o } +func (o ServiceLevelObjectiveSliOutput) ToServiceLevelObjectiveSliPtrOutput() ServiceLevelObjectiveSliPtrOutput { + return o.ToServiceLevelObjectiveSliPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveSliOutput) ToServiceLevelObjectiveSliPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveSliPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveSli) *ServiceLevelObjectiveSli { + return &v + }).(ServiceLevelObjectiveSliPtrOutput) +} + // The arithmetic operation used when comparing the specified metric to the threshold. func (o ServiceLevelObjectiveSliOutput) ComparisonOperator() ServiceLevelObjectiveSliComparisonOperatorOutput { return o.ApplyT(func(v ServiceLevelObjectiveSli) ServiceLevelObjectiveSliComparisonOperator { @@ -1527,6 +2169,47 @@ func (i ServiceLevelObjectiveSliMetricArgs) ToServiceLevelObjectiveSliMetricOutp return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveSliMetricOutput) } +func (i ServiceLevelObjectiveSliMetricArgs) ToServiceLevelObjectiveSliMetricPtrOutput() ServiceLevelObjectiveSliMetricPtrOutput { + return i.ToServiceLevelObjectiveSliMetricPtrOutputWithContext(context.Background()) +} + +func (i ServiceLevelObjectiveSliMetricArgs) ToServiceLevelObjectiveSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveSliMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveSliMetricOutput).ToServiceLevelObjectiveSliMetricPtrOutputWithContext(ctx) +} + +// ServiceLevelObjectiveSliMetricPtrInput is an input type that accepts ServiceLevelObjectiveSliMetricArgs, ServiceLevelObjectiveSliMetricPtr and ServiceLevelObjectiveSliMetricPtrOutput values. +// You can construct a concrete instance of `ServiceLevelObjectiveSliMetricPtrInput` via: +// +// ServiceLevelObjectiveSliMetricArgs{...} +// +// or: +// +// nil +type ServiceLevelObjectiveSliMetricPtrInput interface { + pulumi.Input + + ToServiceLevelObjectiveSliMetricPtrOutput() ServiceLevelObjectiveSliMetricPtrOutput + ToServiceLevelObjectiveSliMetricPtrOutputWithContext(context.Context) ServiceLevelObjectiveSliMetricPtrOutput +} + +type serviceLevelObjectiveSliMetricPtrType ServiceLevelObjectiveSliMetricArgs + +func ServiceLevelObjectiveSliMetricPtr(v *ServiceLevelObjectiveSliMetricArgs) ServiceLevelObjectiveSliMetricPtrInput { + return (*serviceLevelObjectiveSliMetricPtrType)(v) +} + +func (*serviceLevelObjectiveSliMetricPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceLevelObjectiveSliMetric)(nil)).Elem() +} + +func (i *serviceLevelObjectiveSliMetricPtrType) ToServiceLevelObjectiveSliMetricPtrOutput() ServiceLevelObjectiveSliMetricPtrOutput { + return i.ToServiceLevelObjectiveSliMetricPtrOutputWithContext(context.Background()) +} + +func (i *serviceLevelObjectiveSliMetricPtrType) ToServiceLevelObjectiveSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveSliMetricPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceLevelObjectiveSliMetricPtrOutput) +} + // A structure that contains information about the metric that the SLO monitors. type ServiceLevelObjectiveSliMetricOutput struct{ *pulumi.OutputState } @@ -1542,6 +2225,16 @@ func (o ServiceLevelObjectiveSliMetricOutput) ToServiceLevelObjectiveSliMetricOu return o } +func (o ServiceLevelObjectiveSliMetricOutput) ToServiceLevelObjectiveSliMetricPtrOutput() ServiceLevelObjectiveSliMetricPtrOutput { + return o.ToServiceLevelObjectiveSliMetricPtrOutputWithContext(context.Background()) +} + +func (o ServiceLevelObjectiveSliMetricOutput) ToServiceLevelObjectiveSliMetricPtrOutputWithContext(ctx context.Context) ServiceLevelObjectiveSliMetricPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceLevelObjectiveSliMetric) *ServiceLevelObjectiveSliMetric { + return &v + }).(ServiceLevelObjectiveSliMetricPtrOutput) +} + // If this SLO is related to a metric collected by Application Signals, you must use this field to specify which service the SLO metric is related to. To do so, you must specify at least the `Type` , `Name` , and `Environment` attributes. // // This is a string-to-string map. It can include the following fields. @@ -1696,10 +2389,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveMetricDataQueryArrayInput)(nil)).Elem(), ServiceLevelObjectiveMetricDataQueryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveMetricStatInput)(nil)).Elem(), ServiceLevelObjectiveMetricStatArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveMetricStatPtrInput)(nil)).Elem(), ServiceLevelObjectiveMetricStatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveMonitoredRequestCountMetricInput)(nil)).Elem(), ServiceLevelObjectiveMonitoredRequestCountMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveMonitoredRequestCountMetricPtrInput)(nil)).Elem(), ServiceLevelObjectiveMonitoredRequestCountMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliPtrInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetricInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRequestBasedSliMetricPtrInput)(nil)).Elem(), ServiceLevelObjectiveRequestBasedSliMetricArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRollingIntervalInput)(nil)).Elem(), ServiceLevelObjectiveRollingIntervalArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveRollingIntervalPtrInput)(nil)).Elem(), ServiceLevelObjectiveRollingIntervalArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliInput)(nil)).Elem(), ServiceLevelObjectiveSliArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliPtrInput)(nil)).Elem(), ServiceLevelObjectiveSliArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliMetricInput)(nil)).Elem(), ServiceLevelObjectiveSliMetricArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceLevelObjectiveSliMetricPtrInput)(nil)).Elem(), ServiceLevelObjectiveSliMetricArgs{}) pulumi.RegisterOutputType(ServiceLevelObjectiveCalendarIntervalOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveCalendarIntervalPtrOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveDimensionOutput{}) @@ -1714,6 +2415,12 @@ func init() { pulumi.RegisterOutputType(ServiceLevelObjectiveMetricDataQueryArrayOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveMetricStatOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveMetricStatPtrOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveMonitoredRequestCountMetricOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveMonitoredRequestCountMetricPtrOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliPtrOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliMetricOutput{}) + pulumi.RegisterOutputType(ServiceLevelObjectiveRequestBasedSliMetricPtrOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveRollingIntervalOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveRollingIntervalPtrOutput{}) pulumi.RegisterOutputType(ServiceLevelObjectiveSliOutput{}) diff --git a/sdk/go/aws/applicationsignals/serviceLevelObjective.go b/sdk/go/aws/applicationsignals/serviceLevelObjective.go index 2a8aa539d6..a95041b198 100644 --- a/sdk/go/aws/applicationsignals/serviceLevelObjective.go +++ b/sdk/go/aws/applicationsignals/serviceLevelObjective.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/pulumi/pulumi-aws-native/sdk/go/aws" "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" @@ -23,14 +22,18 @@ type ServiceLevelObjective struct { CreatedTime pulumi.IntOutput `pulumi:"createdTime"` // An optional description for this SLO. Default is 'No description' Description pulumi.StringPtrOutput `pulumi:"description"` + // Displays whether this is a period-based SLO or a request-based SLO. + EvaluationType ServiceLevelObjectiveEvaluationTypeOutput `pulumi:"evaluationType"` // This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. Goal ServiceLevelObjectiveGoalPtrOutput `pulumi:"goal"` // Epoch time in seconds of the time that this SLO was most recently updated LastUpdatedTime pulumi.IntOutput `pulumi:"lastUpdatedTime"` // The name of this SLO. Name pulumi.StringOutput `pulumi:"name"` - // A structure containing information about the performance metric that this SLO monitors. - Sli ServiceLevelObjectiveSliOutput `pulumi:"sli"` + // A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + RequestBasedSli ServiceLevelObjectiveRequestBasedSliPtrOutput `pulumi:"requestBasedSli"` + // A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. + Sli ServiceLevelObjectiveSliPtrOutput `pulumi:"sli"` // A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. // // Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. @@ -41,12 +44,9 @@ type ServiceLevelObjective struct { func NewServiceLevelObjective(ctx *pulumi.Context, name string, args *ServiceLevelObjectiveArgs, opts ...pulumi.ResourceOption) (*ServiceLevelObjective, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &ServiceLevelObjectiveArgs{} } - if args.Sli == nil { - return nil, errors.New("invalid value for required argument 'Sli'") - } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "name", }) @@ -90,8 +90,10 @@ type serviceLevelObjectiveArgs struct { Goal *ServiceLevelObjectiveGoal `pulumi:"goal"` // The name of this SLO. Name *string `pulumi:"name"` - // A structure containing information about the performance metric that this SLO monitors. - Sli ServiceLevelObjectiveSli `pulumi:"sli"` + // A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + RequestBasedSli *ServiceLevelObjectiveRequestBasedSli `pulumi:"requestBasedSli"` + // A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. + Sli *ServiceLevelObjectiveSli `pulumi:"sli"` // A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. // // Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. @@ -106,8 +108,10 @@ type ServiceLevelObjectiveArgs struct { Goal ServiceLevelObjectiveGoalPtrInput // The name of this SLO. Name pulumi.StringPtrInput - // A structure containing information about the performance metric that this SLO monitors. - Sli ServiceLevelObjectiveSliInput + // A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + RequestBasedSli ServiceLevelObjectiveRequestBasedSliPtrInput + // A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. + Sli ServiceLevelObjectiveSliPtrInput // A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. // // Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. @@ -166,6 +170,11 @@ func (o ServiceLevelObjectiveOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *ServiceLevelObjective) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// Displays whether this is a period-based SLO or a request-based SLO. +func (o ServiceLevelObjectiveOutput) EvaluationType() ServiceLevelObjectiveEvaluationTypeOutput { + return o.ApplyT(func(v *ServiceLevelObjective) ServiceLevelObjectiveEvaluationTypeOutput { return v.EvaluationType }).(ServiceLevelObjectiveEvaluationTypeOutput) +} + // This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. func (o ServiceLevelObjectiveOutput) Goal() ServiceLevelObjectiveGoalPtrOutput { return o.ApplyT(func(v *ServiceLevelObjective) ServiceLevelObjectiveGoalPtrOutput { return v.Goal }).(ServiceLevelObjectiveGoalPtrOutput) @@ -181,9 +190,14 @@ func (o ServiceLevelObjectiveOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *ServiceLevelObjective) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// A structure containing information about the performance metric that this SLO monitors. -func (o ServiceLevelObjectiveOutput) Sli() ServiceLevelObjectiveSliOutput { - return o.ApplyT(func(v *ServiceLevelObjective) ServiceLevelObjectiveSliOutput { return v.Sli }).(ServiceLevelObjectiveSliOutput) +// A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. +func (o ServiceLevelObjectiveOutput) RequestBasedSli() ServiceLevelObjectiveRequestBasedSliPtrOutput { + return o.ApplyT(func(v *ServiceLevelObjective) ServiceLevelObjectiveRequestBasedSliPtrOutput { return v.RequestBasedSli }).(ServiceLevelObjectiveRequestBasedSliPtrOutput) +} + +// A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. +func (o ServiceLevelObjectiveOutput) Sli() ServiceLevelObjectiveSliPtrOutput { + return o.ApplyT(func(v *ServiceLevelObjective) ServiceLevelObjectiveSliPtrOutput { return v.Sli }).(ServiceLevelObjectiveSliPtrOutput) } // A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. diff --git a/sdk/go/aws/athena/pulumiTypes.go b/sdk/go/aws/athena/pulumiTypes.go index f5cb059fba..81ca727984 100644 --- a/sdk/go/aws/athena/pulumiTypes.go +++ b/sdk/go/aws/athena/pulumiTypes.go @@ -263,7 +263,7 @@ type DataCatalogTag struct { // Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results type WorkGroupAclConfiguration struct { - // The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + // The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . S3AclOption WorkGroupS3AclOption `pulumi:"s3AclOption"` } @@ -280,7 +280,7 @@ type WorkGroupAclConfigurationInput interface { // Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results type WorkGroupAclConfigurationArgs struct { - // The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + // The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . S3AclOption WorkGroupS3AclOptionInput `pulumi:"s3AclOption"` } @@ -362,7 +362,7 @@ func (o WorkGroupAclConfigurationOutput) ToWorkGroupAclConfigurationPtrOutputWit }).(WorkGroupAclConfigurationPtrOutput) } -// The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . +// The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . func (o WorkGroupAclConfigurationOutput) S3AclOption() WorkGroupS3AclOptionOutput { return o.ApplyT(func(v WorkGroupAclConfiguration) WorkGroupS3AclOption { return v.S3AclOption }).(WorkGroupS3AclOptionOutput) } @@ -391,7 +391,7 @@ func (o WorkGroupAclConfigurationPtrOutput) Elem() WorkGroupAclConfigurationOutp }).(WorkGroupAclConfigurationOutput) } -// The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . +// The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . func (o WorkGroupAclConfigurationPtrOutput) S3AclOption() WorkGroupS3AclOptionPtrOutput { return o.ApplyT(func(v *WorkGroupAclConfiguration) *WorkGroupS3AclOption { if v == nil { diff --git a/sdk/go/aws/cloudformation/getStack.go b/sdk/go/aws/cloudformation/getStack.go index 0d0b5e5180..8b6be395b8 100644 --- a/sdk/go/aws/cloudformation/getStack.go +++ b/sdk/go/aws/cloudformation/getStack.go @@ -80,7 +80,7 @@ type LookupStackResult struct { EnableTerminationProtection *bool `pulumi:"enableTerminationProtection"` // The time the stack was last updated. This field will only be returned if the stack has been updated at least once. LastUpdateTime *string `pulumi:"lastUpdateTime"` - // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + // The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). NotificationArns []string `pulumi:"notificationArns"` // A list of output structures. Outputs []StackOutputType `pulumi:"outputs"` @@ -94,7 +94,7 @@ type LookupStackResult struct { Parameters map[string]string `pulumi:"parameters"` // For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. // - // For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + // For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . ParentId *string `pulumi:"parentId"` // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. Provided that users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. // @@ -102,7 +102,7 @@ type LookupStackResult struct { RoleArn *string `pulumi:"roleArn"` // For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. // - // For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + // For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . RootId *string `pulumi:"rootId"` // Unique identifier of the stack. StackId *string `pulumi:"stackId"` @@ -114,7 +114,7 @@ type LookupStackResult struct { StackStatus *StackStatus `pulumi:"stackStatus"` // Success/failure message associated with the stack status. StackStatusReason *string `pulumi:"stackStatusReason"` - // Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + // Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. Tags []aws.Tag `pulumi:"tags"` // Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to [Template anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) in the AWS CloudFormation User Guide. // @@ -236,7 +236,7 @@ func (o LookupStackResultOutput) LastUpdateTime() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStackResult) *string { return v.LastUpdateTime }).(pulumi.StringPtrOutput) } -// The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). +// The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). func (o LookupStackResultOutput) NotificationArns() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupStackResult) []string { return v.NotificationArns }).(pulumi.StringArrayOutput) } @@ -259,7 +259,7 @@ func (o LookupStackResultOutput) Parameters() pulumi.StringMapOutput { // For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. // -// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . +// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . func (o LookupStackResultOutput) ParentId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStackResult) *string { return v.ParentId }).(pulumi.StringPtrOutput) } @@ -273,7 +273,7 @@ func (o LookupStackResultOutput) RoleArn() pulumi.StringPtrOutput { // For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. // -// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . +// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . func (o LookupStackResultOutput) RootId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStackResult) *string { return v.RootId }).(pulumi.StringPtrOutput) } @@ -300,7 +300,7 @@ func (o LookupStackResultOutput) StackStatusReason() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupStackResult) *string { return v.StackStatusReason }).(pulumi.StringPtrOutput) } -// Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. +// Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. func (o LookupStackResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupStackResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/cloudformation/pulumiTypes.go b/sdk/go/aws/cloudformation/pulumiTypes.go index 32094bb1d5..2a809b4ec3 100644 --- a/sdk/go/aws/cloudformation/pulumiTypes.go +++ b/sdk/go/aws/cloudformation/pulumiTypes.go @@ -1373,7 +1373,7 @@ type StackSetTag struct { } type StackTag struct { - // *Required* . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services ( AWS ) have the reserved prefix: `aws:` . + // *Required* . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by AWS have the reserved prefix: `aws:` . Key string `pulumi:"key"` // *Required* . A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value. Value string `pulumi:"value"` diff --git a/sdk/go/aws/cloudformation/stack.go b/sdk/go/aws/cloudformation/stack.go index 62ae8edac2..6a708cc7c8 100644 --- a/sdk/go/aws/cloudformation/stack.go +++ b/sdk/go/aws/cloudformation/stack.go @@ -67,7 +67,7 @@ type Stack struct { EnableTerminationProtection pulumi.BoolPtrOutput `pulumi:"enableTerminationProtection"` // The time the stack was last updated. This field will only be returned if the stack has been updated at least once. LastUpdateTime pulumi.StringOutput `pulumi:"lastUpdateTime"` - // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + // The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). NotificationArns pulumi.StringArrayOutput `pulumi:"notificationArns"` // A list of output structures. Outputs StackOutputTypeArrayOutput `pulumi:"outputs"` @@ -81,7 +81,7 @@ type Stack struct { Parameters pulumi.StringMapOutput `pulumi:"parameters"` // For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. // - // For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + // For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . ParentId pulumi.StringOutput `pulumi:"parentId"` // The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. Provided that users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege. // @@ -89,7 +89,7 @@ type Stack struct { RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"` // For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. // - // For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + // For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . RootId pulumi.StringOutput `pulumi:"rootId"` // Unique identifier of the stack. StackId pulumi.StringOutput `pulumi:"stackId"` @@ -107,7 +107,7 @@ type Stack struct { StackStatus StackStatusOutput `pulumi:"stackStatus"` // Success/failure message associated with the stack status. StackStatusReason pulumi.StringPtrOutput `pulumi:"stackStatusReason"` - // Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + // Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. Tags aws.TagArrayOutput `pulumi:"tags"` // Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to [Template anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) in the AWS CloudFormation User Guide. // @@ -214,7 +214,7 @@ type stackArgs struct { // // For [nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) , termination protection is set on the root stack and can't be changed directly on the nested stack. EnableTerminationProtection *bool `pulumi:"enableTerminationProtection"` - // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + // The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). NotificationArns []string `pulumi:"notificationArns"` // The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. // @@ -240,7 +240,7 @@ type stackArgs struct { StackPolicyUrl *string `pulumi:"stackPolicyUrl"` // Success/failure message associated with the stack status. StackStatusReason *string `pulumi:"stackStatusReason"` - // Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + // Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. Tags []aws.Tag `pulumi:"tags"` // Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to [Template anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) in the AWS CloudFormation User Guide. // @@ -305,7 +305,7 @@ type StackArgs struct { // // For [nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) , termination protection is set on the root stack and can't be changed directly on the nested stack. EnableTerminationProtection pulumi.BoolPtrInput - // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + // The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). NotificationArns pulumi.StringArrayInput // The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. // @@ -331,7 +331,7 @@ type StackArgs struct { StackPolicyUrl pulumi.StringPtrInput // Success/failure message associated with the stack status. StackStatusReason pulumi.StringPtrInput - // Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + // Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. Tags aws.TagArrayInput // Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to [Template anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) in the AWS CloudFormation User Guide. // @@ -458,7 +458,7 @@ func (o StackOutput) LastUpdateTime() pulumi.StringOutput { return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.LastUpdateTime }).(pulumi.StringOutput) } -// The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). +// The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). func (o StackOutput) NotificationArns() pulumi.StringArrayOutput { return o.ApplyT(func(v *Stack) pulumi.StringArrayOutput { return v.NotificationArns }).(pulumi.StringArrayOutput) } @@ -481,7 +481,7 @@ func (o StackOutput) Parameters() pulumi.StringMapOutput { // For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. // -// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . +// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . func (o StackOutput) ParentId() pulumi.StringOutput { return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.ParentId }).(pulumi.StringOutput) } @@ -495,7 +495,7 @@ func (o StackOutput) RoleArn() pulumi.StringPtrOutput { // For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. // -// For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . +// For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . func (o StackOutput) RootId() pulumi.StringOutput { return o.ApplyT(func(v *Stack) pulumi.StringOutput { return v.RootId }).(pulumi.StringOutput) } @@ -534,7 +534,7 @@ func (o StackOutput) StackStatusReason() pulumi.StringPtrOutput { return o.ApplyT(func(v *Stack) pulumi.StringPtrOutput { return v.StackStatusReason }).(pulumi.StringPtrOutput) } -// Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. +// Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. func (o StackOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v *Stack) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) } diff --git a/sdk/go/aws/codebuild/fleet.go b/sdk/go/aws/codebuild/fleet.go index c791559f89..ec157ceb92 100644 --- a/sdk/go/aws/codebuild/fleet.go +++ b/sdk/go/aws/codebuild/fleet.go @@ -20,6 +20,8 @@ type Fleet struct { Arn pulumi.StringOutput `pulumi:"arn"` // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity pulumi.IntPtrOutput `pulumi:"baseCapacity"` + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -42,6 +44,8 @@ type Fleet struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType FleetComputeTypePtrOutput `pulumi:"computeType"` + // > Updating this field is not allowed for `MAC_ARM` . + // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -54,8 +58,12 @@ type Fleet struct { EnvironmentType FleetEnvironmentTypePtrOutput `pulumi:"environmentType"` // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole pulumi.StringPtrOutput `pulumi:"fleetServiceRole"` + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig FleetVpcConfigPtrOutput `pulumi:"fleetVpcConfig"` + // > Updating this field is not allowed for `MAC_ARM` . + // // The Amazon Machine Image (AMI) of the compute fleet. ImageId pulumi.StringPtrOutput `pulumi:"imageId"` // The name of the compute fleet. @@ -115,6 +123,8 @@ func (FleetState) ElementType() reflect.Type { type fleetArgs struct { // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity *int `pulumi:"baseCapacity"` + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -137,6 +147,8 @@ type fleetArgs struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType *FleetComputeType `pulumi:"computeType"` + // > Updating this field is not allowed for `MAC_ARM` . + // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -149,8 +161,12 @@ type fleetArgs struct { EnvironmentType *FleetEnvironmentType `pulumi:"environmentType"` // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole *string `pulumi:"fleetServiceRole"` + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig *FleetVpcConfig `pulumi:"fleetVpcConfig"` + // > Updating this field is not allowed for `MAC_ARM` . + // // The Amazon Machine Image (AMI) of the compute fleet. ImageId *string `pulumi:"imageId"` // The name of the compute fleet. @@ -172,6 +188,8 @@ type fleetArgs struct { type FleetArgs struct { // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity pulumi.IntPtrInput + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -194,6 +212,8 @@ type FleetArgs struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType FleetComputeTypePtrInput + // > Updating this field is not allowed for `MAC_ARM` . + // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -206,8 +226,12 @@ type FleetArgs struct { EnvironmentType FleetEnvironmentTypePtrInput // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole pulumi.StringPtrInput + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig FleetVpcConfigPtrInput + // > Updating this field is not allowed for `MAC_ARM` . + // // The Amazon Machine Image (AMI) of the compute fleet. ImageId pulumi.StringPtrInput // The name of the compute fleet. @@ -272,6 +296,8 @@ func (o FleetOutput) BaseCapacity() pulumi.IntPtrOutput { return o.ApplyT(func(v *Fleet) pulumi.IntPtrOutput { return v.BaseCapacity }).(pulumi.IntPtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -297,6 +323,8 @@ func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v *Fleet) FleetComputeTypePtrOutput { return v.ComputeType }).(FleetComputeTypePtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -315,11 +343,15 @@ func (o FleetOutput) FleetServiceRole() pulumi.StringPtrOutput { return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.FleetServiceRole }).(pulumi.StringPtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // Information about the VPC configuration that AWS CodeBuild accesses. func (o FleetOutput) FleetVpcConfig() FleetVpcConfigPtrOutput { return o.ApplyT(func(v *Fleet) FleetVpcConfigPtrOutput { return v.FleetVpcConfig }).(FleetVpcConfigPtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // The Amazon Machine Image (AMI) of the compute fleet. func (o FleetOutput) ImageId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/codebuild/getFleet.go b/sdk/go/aws/codebuild/getFleet.go index 355e41ddc2..b9a8922192 100644 --- a/sdk/go/aws/codebuild/getFleet.go +++ b/sdk/go/aws/codebuild/getFleet.go @@ -33,6 +33,8 @@ type LookupFleetResult struct { Arn *string `pulumi:"arn"` // The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. BaseCapacity *int `pulumi:"baseCapacity"` + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -55,6 +57,8 @@ type LookupFleetResult struct { // // For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* ComputeType *FleetComputeType `pulumi:"computeType"` + // > Updating this field is not allowed for `MAC_ARM` . + // // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -67,8 +71,12 @@ type LookupFleetResult struct { EnvironmentType *FleetEnvironmentType `pulumi:"environmentType"` // The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . FleetServiceRole *string `pulumi:"fleetServiceRole"` + // > Updating this field is not allowed for `MAC_ARM` . + // // Information about the VPC configuration that AWS CodeBuild accesses. FleetVpcConfig *FleetVpcConfig `pulumi:"fleetVpcConfig"` + // > Updating this field is not allowed for `MAC_ARM` . + // // The Amazon Machine Image (AMI) of the compute fleet. ImageId *string `pulumi:"imageId"` // The name of the compute fleet. @@ -132,6 +140,8 @@ func (o LookupFleetResultOutput) BaseCapacity() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupFleetResult) *int { return v.BaseCapacity }).(pulumi.IntPtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -157,6 +167,8 @@ func (o LookupFleetResultOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v LookupFleetResult) *FleetComputeType { return v.ComputeType }).(FleetComputeTypePtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -175,11 +187,15 @@ func (o LookupFleetResultOutput) FleetServiceRole() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupFleetResult) *string { return v.FleetServiceRole }).(pulumi.StringPtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // Information about the VPC configuration that AWS CodeBuild accesses. func (o LookupFleetResultOutput) FleetVpcConfig() FleetVpcConfigPtrOutput { return o.ApplyT(func(v LookupFleetResult) *FleetVpcConfig { return v.FleetVpcConfig }).(FleetVpcConfigPtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // The Amazon Machine Image (AMI) of the compute fleet. func (o LookupFleetResultOutput) ImageId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupFleetResult) *string { return v.ImageId }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/codebuild/pulumiEnums.go b/sdk/go/aws/codebuild/pulumiEnums.go index 46a50fe5a3..3b4534cb1b 100644 --- a/sdk/go/aws/codebuild/pulumiEnums.go +++ b/sdk/go/aws/codebuild/pulumiEnums.go @@ -10,6 +10,8 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// > Updating this field is not allowed for `MAC_ARM` . +// // Information about the compute resources the compute fleet uses. Available values include: // // - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -202,6 +204,8 @@ func (in *fleetComputeTypePtr) ToFleetComputeTypePtrOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, in).(FleetComputeTypePtrOutput) } +// > Updating this field is not allowed for `MAC_ARM` . +// // The environment type of the compute fleet. // // - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/go/aws/cognito/getUserPool.go b/sdk/go/aws/cognito/getUserPool.go index d2946eea9a..6b032ae6d0 100644 --- a/sdk/go/aws/cognito/getUserPool.go +++ b/sdk/go/aws/cognito/getUserPool.go @@ -30,7 +30,9 @@ type LookupUserPoolArgs struct { type LookupUserPoolResult struct { // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. AccountRecoverySetting *UserPoolAccountRecoverySetting `pulumi:"accountRecoverySetting"` - // The configuration for creating a new user profile. + // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig *UserPoolAdminCreateUserConfig `pulumi:"adminCreateUserConfig"` // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . // @@ -56,13 +58,7 @@ type LookupUserPoolResult struct { EmailVerificationMessage *string `pulumi:"emailVerificationMessage"` // This parameter is no longer used. See [VerificationMessageTemplateType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html) . EmailVerificationSubject *string `pulumi:"emailVerificationSubject"` - // The Lambda trigger configuration information for the new user pool. - // - // > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - // > - // > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - // > - // > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig *UserPoolLambdaConfig `pulumi:"lambdaConfig"` // The multi-factor authentication (MFA) configuration. Valid values include: // @@ -70,7 +66,9 @@ type LookupUserPoolResult struct { // - `ON` MFA is required for all users to sign in. // - `OPTIONAL` MFA will be required only for individual users who have an MFA factor activated. MfaConfiguration *string `pulumi:"mfaConfiguration"` - // The policy associated with a user pool. + // A list of user pool policies. Contains the policy that sets password-complexity requirements. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies *UserPoolPolicies `pulumi:"policies"` // The provider name of the Amazon Cognito user pool, specified as a `String` . ProviderName *string `pulumi:"providerName"` @@ -106,7 +104,9 @@ type LookupUserPoolResult struct { UsernameAttributes []string `pulumi:"usernameAttributes"` // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. UsernameConfiguration *UserPoolUsernameConfiguration `pulumi:"usernameConfiguration"` - // The template for the verification message that the user sees when the app requests permission to access the user's information. + // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + // + // Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. VerificationMessageTemplate *UserPoolVerificationMessageTemplate `pulumi:"verificationMessageTemplate"` } @@ -151,7 +151,9 @@ func (o LookupUserPoolResultOutput) AccountRecoverySetting() UserPoolAccountReco return o.ApplyT(func(v LookupUserPoolResult) *UserPoolAccountRecoverySetting { return v.AccountRecoverySetting }).(UserPoolAccountRecoverySettingPtrOutput) } -// The configuration for creating a new user profile. +// The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. +// +// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . func (o LookupUserPoolResultOutput) AdminCreateUserConfig() UserPoolAdminCreateUserConfigPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolAdminCreateUserConfig { return v.AdminCreateUserConfig }).(UserPoolAdminCreateUserConfigPtrOutput) } @@ -204,13 +206,7 @@ func (o LookupUserPoolResultOutput) EmailVerificationSubject() pulumi.StringPtrO return o.ApplyT(func(v LookupUserPoolResult) *string { return v.EmailVerificationSubject }).(pulumi.StringPtrOutput) } -// The Lambda trigger configuration information for the new user pool. -// -// > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. -// > -// > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . -// > -// > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . +// A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. func (o LookupUserPoolResultOutput) LambdaConfig() UserPoolLambdaConfigPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolLambdaConfig { return v.LambdaConfig }).(UserPoolLambdaConfigPtrOutput) } @@ -224,7 +220,9 @@ func (o LookupUserPoolResultOutput) MfaConfiguration() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *string { return v.MfaConfiguration }).(pulumi.StringPtrOutput) } -// The policy associated with a user pool. +// A list of user pool policies. Contains the policy that sets password-complexity requirements. +// +// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . func (o LookupUserPoolResultOutput) Policies() UserPoolPoliciesPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolPolicies { return v.Policies }).(UserPoolPoliciesPtrOutput) } @@ -304,7 +302,9 @@ func (o LookupUserPoolResultOutput) UsernameConfiguration() UserPoolUsernameConf return o.ApplyT(func(v LookupUserPoolResult) *UserPoolUsernameConfiguration { return v.UsernameConfiguration }).(UserPoolUsernameConfigurationPtrOutput) } -// The template for the verification message that the user sees when the app requests permission to access the user's information. +// The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. +// +// Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. func (o LookupUserPoolResultOutput) VerificationMessageTemplate() UserPoolVerificationMessageTemplatePtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolVerificationMessageTemplate { return v.VerificationMessageTemplate diff --git a/sdk/go/aws/cognito/getUserPoolClient.go b/sdk/go/aws/cognito/getUserPoolClient.go index 06da99cdbb..f3073ab8f9 100644 --- a/sdk/go/aws/cognito/getUserPoolClient.go +++ b/sdk/go/aws/cognito/getUserPoolClient.go @@ -126,9 +126,9 @@ type LookupUserPoolClientResult struct { Name *string `pulumi:"name"` // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. PreventUserExistenceErrors *string `pulumi:"preventUserExistenceErrors"` - // The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // - // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. ReadAttributes []string `pulumi:"readAttributes"` // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // @@ -338,9 +338,9 @@ func (o LookupUserPoolClientResultOutput) PreventUserExistenceErrors() pulumi.St return o.ApplyT(func(v LookupUserPoolClientResult) *string { return v.PreventUserExistenceErrors }).(pulumi.StringPtrOutput) } -// The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. +// The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // -// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. +// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. func (o LookupUserPoolClientResultOutput) ReadAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupUserPoolClientResult) []string { return v.ReadAttributes }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go b/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go index 2a20cb3155..625ccc1e50 100644 --- a/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go +++ b/sdk/go/aws/cognito/getUserPoolRiskConfigurationAttachment.go @@ -25,16 +25,16 @@ func LookupUserPoolRiskConfigurationAttachment(ctx *pulumi.Context, args *Lookup type LookupUserPoolRiskConfigurationAttachmentArgs struct { // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). ClientId string `pulumi:"clientId"` - // The user pool ID. + // The ID of the user pool that has the risk configuration applied. UserPoolId string `pulumi:"userPoolId"` } type LookupUserPoolRiskConfigurationAttachmentResult struct { - // The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration *UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType `pulumi:"accountTakeoverRiskConfiguration"` - // The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration *UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType `pulumi:"compromisedCredentialsRiskConfiguration"` - // The configuration to override the risk decision. + // Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. RiskExceptionConfiguration *UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType `pulumi:"riskExceptionConfiguration"` } @@ -54,7 +54,7 @@ func LookupUserPoolRiskConfigurationAttachmentOutput(ctx *pulumi.Context, args L type LookupUserPoolRiskConfigurationAttachmentOutputArgs struct { // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). ClientId pulumi.StringInput `pulumi:"clientId"` - // The user pool ID. + // The ID of the user pool that has the risk configuration applied. UserPoolId pulumi.StringInput `pulumi:"userPoolId"` } @@ -76,21 +76,21 @@ func (o LookupUserPoolRiskConfigurationAttachmentResultOutput) ToLookupUserPoolR return o } -// The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. +// The settings for automated responses and notification templates for adaptive authentication with advanced security features. func (o LookupUserPoolRiskConfigurationAttachmentResultOutput) AccountTakeoverRiskConfiguration() UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput { return o.ApplyT(func(v LookupUserPoolRiskConfigurationAttachmentResult) *UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType { return v.AccountTakeoverRiskConfiguration }).(UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput) } -// The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . +// Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. func (o LookupUserPoolRiskConfigurationAttachmentResultOutput) CompromisedCredentialsRiskConfiguration() UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput { return o.ApplyT(func(v LookupUserPoolRiskConfigurationAttachmentResult) *UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType { return v.CompromisedCredentialsRiskConfiguration }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput) } -// The configuration to override the risk decision. +// Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. func (o LookupUserPoolRiskConfigurationAttachmentResultOutput) RiskExceptionConfiguration() UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput { return o.ApplyT(func(v LookupUserPoolRiskConfigurationAttachmentResult) *UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType { return v.RiskExceptionConfiguration diff --git a/sdk/go/aws/cognito/pulumiTypes.go b/sdk/go/aws/cognito/pulumiTypes.go index 43ab835ea7..6802111e71 100644 --- a/sdk/go/aws/cognito/pulumiTypes.go +++ b/sdk/go/aws/cognito/pulumiTypes.go @@ -1655,15 +1655,17 @@ func (o UserPoolAddOnsPtrOutput) AdvancedSecurityMode() pulumi.StringPtrOutput { } type UserPoolAdminCreateUserConfig struct { - // Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + // The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. AllowAdminCreateUserOnly *bool `pulumi:"allowAdminCreateUserOnly"` // The message template to be used for the welcome message to new users. // // See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . InviteMessageTemplate *UserPoolInviteMessageTemplate `pulumi:"inviteMessageTemplate"` - // The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + // This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . // - // > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + // The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + // + // The default value for this parameter is 7. UnusedAccountValidityDays *int `pulumi:"unusedAccountValidityDays"` } @@ -1679,15 +1681,17 @@ type UserPoolAdminCreateUserConfigInput interface { } type UserPoolAdminCreateUserConfigArgs struct { - // Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + // The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. AllowAdminCreateUserOnly pulumi.BoolPtrInput `pulumi:"allowAdminCreateUserOnly"` // The message template to be used for the welcome message to new users. // // See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . InviteMessageTemplate UserPoolInviteMessageTemplatePtrInput `pulumi:"inviteMessageTemplate"` - // The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + // This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . + // + // The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. // - // > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + // The default value for this parameter is 7. UnusedAccountValidityDays pulumi.IntPtrInput `pulumi:"unusedAccountValidityDays"` } @@ -1768,7 +1772,7 @@ func (o UserPoolAdminCreateUserConfigOutput) ToUserPoolAdminCreateUserConfigPtrO }).(UserPoolAdminCreateUserConfigPtrOutput) } -// Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. +// The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. func (o UserPoolAdminCreateUserConfigOutput) AllowAdminCreateUserOnly() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolAdminCreateUserConfig) *bool { return v.AllowAdminCreateUserOnly }).(pulumi.BoolPtrOutput) } @@ -1780,9 +1784,11 @@ func (o UserPoolAdminCreateUserConfigOutput) InviteMessageTemplate() UserPoolInv return o.ApplyT(func(v UserPoolAdminCreateUserConfig) *UserPoolInviteMessageTemplate { return v.InviteMessageTemplate }).(UserPoolInviteMessageTemplatePtrOutput) } -// The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. +// This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . // -// > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. +// The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. +// +// The default value for this parameter is 7. func (o UserPoolAdminCreateUserConfigOutput) UnusedAccountValidityDays() pulumi.IntPtrOutput { return o.ApplyT(func(v UserPoolAdminCreateUserConfig) *int { return v.UnusedAccountValidityDays }).(pulumi.IntPtrOutput) } @@ -1811,7 +1817,7 @@ func (o UserPoolAdminCreateUserConfigPtrOutput) Elem() UserPoolAdminCreateUserCo }).(UserPoolAdminCreateUserConfigOutput) } -// Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. +// The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. func (o UserPoolAdminCreateUserConfigPtrOutput) AllowAdminCreateUserOnly() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolAdminCreateUserConfig) *bool { if v == nil { @@ -1833,9 +1839,11 @@ func (o UserPoolAdminCreateUserConfigPtrOutput) InviteMessageTemplate() UserPool }).(UserPoolInviteMessageTemplatePtrOutput) } -// The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. +// This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . +// +// The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. // -// > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. +// The default value for this parameter is 7. func (o UserPoolAdminCreateUserConfigPtrOutput) UnusedAccountValidityDays() pulumi.IntPtrOutput { return o.ApplyT(func(v *UserPoolAdminCreateUserConfig) *int { if v == nil { @@ -1981,11 +1989,11 @@ func (o UserPoolAdvancedSecurityAdditionalFlowsPtrOutput) CustomAuthMode() pulum type UserPoolClientAnalyticsConfiguration struct { // The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. ApplicationArn *string `pulumi:"applicationArn"` - // The application ID for an Amazon Pinpoint application. + // Your Amazon Pinpoint project ID. ApplicationId *string `pulumi:"applicationId"` - // The external ID. + // The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. ExternalId *string `pulumi:"externalId"` - // The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + // The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. RoleArn *string `pulumi:"roleArn"` // If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics. UserDataShared *bool `pulumi:"userDataShared"` @@ -2005,11 +2013,11 @@ type UserPoolClientAnalyticsConfigurationInput interface { type UserPoolClientAnalyticsConfigurationArgs struct { // The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. ApplicationArn pulumi.StringPtrInput `pulumi:"applicationArn"` - // The application ID for an Amazon Pinpoint application. + // Your Amazon Pinpoint project ID. ApplicationId pulumi.StringPtrInput `pulumi:"applicationId"` - // The external ID. + // The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. ExternalId pulumi.StringPtrInput `pulumi:"externalId"` - // The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + // The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` // If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics. UserDataShared pulumi.BoolPtrInput `pulumi:"userDataShared"` @@ -2097,17 +2105,17 @@ func (o UserPoolClientAnalyticsConfigurationOutput) ApplicationArn() pulumi.Stri return o.ApplyT(func(v UserPoolClientAnalyticsConfiguration) *string { return v.ApplicationArn }).(pulumi.StringPtrOutput) } -// The application ID for an Amazon Pinpoint application. +// Your Amazon Pinpoint project ID. func (o UserPoolClientAnalyticsConfigurationOutput) ApplicationId() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientAnalyticsConfiguration) *string { return v.ApplicationId }).(pulumi.StringPtrOutput) } -// The external ID. +// The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. func (o UserPoolClientAnalyticsConfigurationOutput) ExternalId() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientAnalyticsConfiguration) *string { return v.ExternalId }).(pulumi.StringPtrOutput) } -// The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. +// The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. func (o UserPoolClientAnalyticsConfigurationOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientAnalyticsConfiguration) *string { return v.RoleArn }).(pulumi.StringPtrOutput) } @@ -2151,7 +2159,7 @@ func (o UserPoolClientAnalyticsConfigurationPtrOutput) ApplicationArn() pulumi.S }).(pulumi.StringPtrOutput) } -// The application ID for an Amazon Pinpoint application. +// Your Amazon Pinpoint project ID. func (o UserPoolClientAnalyticsConfigurationPtrOutput) ApplicationId() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientAnalyticsConfiguration) *string { if v == nil { @@ -2161,7 +2169,7 @@ func (o UserPoolClientAnalyticsConfigurationPtrOutput) ApplicationId() pulumi.St }).(pulumi.StringPtrOutput) } -// The external ID. +// The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. func (o UserPoolClientAnalyticsConfigurationPtrOutput) ExternalId() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientAnalyticsConfiguration) *string { if v == nil { @@ -2171,7 +2179,7 @@ func (o UserPoolClientAnalyticsConfigurationPtrOutput) ExternalId() pulumi.Strin }).(pulumi.StringPtrOutput) } -// The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. +// The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. func (o UserPoolClientAnalyticsConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientAnalyticsConfiguration) *string { if v == nil { @@ -2192,11 +2200,11 @@ func (o UserPoolClientAnalyticsConfigurationPtrOutput) UserDataShared() pulumi.B } type UserPoolClientTokenValidityUnits struct { - // A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + // A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. AccessToken *string `pulumi:"accessToken"` - // A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + // A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. IdToken *string `pulumi:"idToken"` - // A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + // A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. RefreshToken *string `pulumi:"refreshToken"` } @@ -2212,11 +2220,11 @@ type UserPoolClientTokenValidityUnitsInput interface { } type UserPoolClientTokenValidityUnitsArgs struct { - // A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + // A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. AccessToken pulumi.StringPtrInput `pulumi:"accessToken"` - // A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + // A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. IdToken pulumi.StringPtrInput `pulumi:"idToken"` - // A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + // A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. RefreshToken pulumi.StringPtrInput `pulumi:"refreshToken"` } @@ -2297,17 +2305,17 @@ func (o UserPoolClientTokenValidityUnitsOutput) ToUserPoolClientTokenValidityUni }).(UserPoolClientTokenValidityUnitsPtrOutput) } -// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. +// A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. func (o UserPoolClientTokenValidityUnitsOutput) AccessToken() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientTokenValidityUnits) *string { return v.AccessToken }).(pulumi.StringPtrOutput) } -// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. +// A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. func (o UserPoolClientTokenValidityUnitsOutput) IdToken() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientTokenValidityUnits) *string { return v.IdToken }).(pulumi.StringPtrOutput) } -// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. +// A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. func (o UserPoolClientTokenValidityUnitsOutput) RefreshToken() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolClientTokenValidityUnits) *string { return v.RefreshToken }).(pulumi.StringPtrOutput) } @@ -2336,7 +2344,7 @@ func (o UserPoolClientTokenValidityUnitsPtrOutput) Elem() UserPoolClientTokenVal }).(UserPoolClientTokenValidityUnitsOutput) } -// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. +// A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. func (o UserPoolClientTokenValidityUnitsPtrOutput) AccessToken() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientTokenValidityUnits) *string { if v == nil { @@ -2346,7 +2354,7 @@ func (o UserPoolClientTokenValidityUnitsPtrOutput) AccessToken() pulumi.StringPt }).(pulumi.StringPtrOutput) } -// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. +// A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. func (o UserPoolClientTokenValidityUnitsPtrOutput) IdToken() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientTokenValidityUnits) *string { if v == nil { @@ -2356,7 +2364,7 @@ func (o UserPoolClientTokenValidityUnitsPtrOutput) IdToken() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } -// A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. +// A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. func (o UserPoolClientTokenValidityUnitsPtrOutput) RefreshToken() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolClientTokenValidityUnits) *string { if v == nil { @@ -3452,37 +3460,35 @@ func (o UserPoolInviteMessageTemplatePtrOutput) SmsMessage() pulumi.StringPtrOut } type UserPoolLambdaConfig struct { - // Creates an authentication challenge. + // The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . CreateAuthChallenge *string `pulumi:"createAuthChallenge"` // A custom email sender AWS Lambda trigger. CustomEmailSender *UserPoolCustomEmailSender `pulumi:"customEmailSender"` - // A custom Message AWS Lambda trigger. + // A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. CustomMessage *string `pulumi:"customMessage"` // A custom SMS sender AWS Lambda trigger. CustomSmsSender *UserPoolCustomSmsSender `pulumi:"customSmsSender"` - // Defines the authentication challenge. + // The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . DefineAuthChallenge *string `pulumi:"defineAuthChallenge"` // The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . KmsKeyId *string `pulumi:"kmsKeyId"` - // A post-authentication AWS Lambda trigger. + // The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. PostAuthentication *string `pulumi:"postAuthentication"` - // A post-confirmation AWS Lambda trigger. + // The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. PostConfirmation *string `pulumi:"postConfirmation"` - // A pre-authentication AWS Lambda trigger. + // The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. PreAuthentication *string `pulumi:"preAuthentication"` - // A pre-registration AWS Lambda trigger. + // The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. PreSignUp *string `pulumi:"preSignUp"` - // The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + // The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. // // Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - // - // You can set `` PreTokenGeneration *string `pulumi:"preTokenGeneration"` - // The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + // The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . PreTokenGenerationConfig *UserPoolPreTokenGenerationConfig `pulumi:"preTokenGenerationConfig"` - // The user migration Lambda config type. + // The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. UserMigration *string `pulumi:"userMigration"` - // Verifies the authentication challenge response. + // The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . VerifyAuthChallengeResponse *string `pulumi:"verifyAuthChallengeResponse"` } @@ -3498,37 +3504,35 @@ type UserPoolLambdaConfigInput interface { } type UserPoolLambdaConfigArgs struct { - // Creates an authentication challenge. + // The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . CreateAuthChallenge pulumi.StringPtrInput `pulumi:"createAuthChallenge"` // A custom email sender AWS Lambda trigger. CustomEmailSender UserPoolCustomEmailSenderPtrInput `pulumi:"customEmailSender"` - // A custom Message AWS Lambda trigger. + // A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. CustomMessage pulumi.StringPtrInput `pulumi:"customMessage"` // A custom SMS sender AWS Lambda trigger. CustomSmsSender UserPoolCustomSmsSenderPtrInput `pulumi:"customSmsSender"` - // Defines the authentication challenge. + // The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . DefineAuthChallenge pulumi.StringPtrInput `pulumi:"defineAuthChallenge"` // The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // A post-authentication AWS Lambda trigger. + // The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. PostAuthentication pulumi.StringPtrInput `pulumi:"postAuthentication"` - // A post-confirmation AWS Lambda trigger. + // The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. PostConfirmation pulumi.StringPtrInput `pulumi:"postConfirmation"` - // A pre-authentication AWS Lambda trigger. + // The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. PreAuthentication pulumi.StringPtrInput `pulumi:"preAuthentication"` - // A pre-registration AWS Lambda trigger. + // The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. PreSignUp pulumi.StringPtrInput `pulumi:"preSignUp"` - // The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + // The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. // // Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - // - // You can set `` PreTokenGeneration pulumi.StringPtrInput `pulumi:"preTokenGeneration"` - // The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + // The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . PreTokenGenerationConfig UserPoolPreTokenGenerationConfigPtrInput `pulumi:"preTokenGenerationConfig"` - // The user migration Lambda config type. + // The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. UserMigration pulumi.StringPtrInput `pulumi:"userMigration"` - // Verifies the authentication challenge response. + // The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . VerifyAuthChallengeResponse pulumi.StringPtrInput `pulumi:"verifyAuthChallengeResponse"` } @@ -3609,7 +3613,7 @@ func (o UserPoolLambdaConfigOutput) ToUserPoolLambdaConfigPtrOutputWithContext(c }).(UserPoolLambdaConfigPtrOutput) } -// Creates an authentication challenge. +// The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . func (o UserPoolLambdaConfigOutput) CreateAuthChallenge() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.CreateAuthChallenge }).(pulumi.StringPtrOutput) } @@ -3619,7 +3623,7 @@ func (o UserPoolLambdaConfigOutput) CustomEmailSender() UserPoolCustomEmailSende return o.ApplyT(func(v UserPoolLambdaConfig) *UserPoolCustomEmailSender { return v.CustomEmailSender }).(UserPoolCustomEmailSenderPtrOutput) } -// A custom Message AWS Lambda trigger. +// A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. func (o UserPoolLambdaConfigOutput) CustomMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.CustomMessage }).(pulumi.StringPtrOutput) } @@ -3629,7 +3633,7 @@ func (o UserPoolLambdaConfigOutput) CustomSmsSender() UserPoolCustomSmsSenderPtr return o.ApplyT(func(v UserPoolLambdaConfig) *UserPoolCustomSmsSender { return v.CustomSmsSender }).(UserPoolCustomSmsSenderPtrOutput) } -// Defines the authentication challenge. +// The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . func (o UserPoolLambdaConfigOutput) DefineAuthChallenge() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.DefineAuthChallenge }).(pulumi.StringPtrOutput) } @@ -3639,46 +3643,44 @@ func (o UserPoolLambdaConfigOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } -// A post-authentication AWS Lambda trigger. +// The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. func (o UserPoolLambdaConfigOutput) PostAuthentication() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.PostAuthentication }).(pulumi.StringPtrOutput) } -// A post-confirmation AWS Lambda trigger. +// The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. func (o UserPoolLambdaConfigOutput) PostConfirmation() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.PostConfirmation }).(pulumi.StringPtrOutput) } -// A pre-authentication AWS Lambda trigger. +// The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. func (o UserPoolLambdaConfigOutput) PreAuthentication() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.PreAuthentication }).(pulumi.StringPtrOutput) } -// A pre-registration AWS Lambda trigger. +// The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. func (o UserPoolLambdaConfigOutput) PreSignUp() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.PreSignUp }).(pulumi.StringPtrOutput) } -// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. +// The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. // // Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . -// -// You can set “ func (o UserPoolLambdaConfigOutput) PreTokenGeneration() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.PreTokenGeneration }).(pulumi.StringPtrOutput) } -// The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . +// The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . func (o UserPoolLambdaConfigOutput) PreTokenGenerationConfig() UserPoolPreTokenGenerationConfigPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *UserPoolPreTokenGenerationConfig { return v.PreTokenGenerationConfig }).(UserPoolPreTokenGenerationConfigPtrOutput) } -// The user migration Lambda config type. +// The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. func (o UserPoolLambdaConfigOutput) UserMigration() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.UserMigration }).(pulumi.StringPtrOutput) } -// Verifies the authentication challenge response. +// The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . func (o UserPoolLambdaConfigOutput) VerifyAuthChallengeResponse() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolLambdaConfig) *string { return v.VerifyAuthChallengeResponse }).(pulumi.StringPtrOutput) } @@ -3707,7 +3709,7 @@ func (o UserPoolLambdaConfigPtrOutput) Elem() UserPoolLambdaConfigOutput { }).(UserPoolLambdaConfigOutput) } -// Creates an authentication challenge. +// The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . func (o UserPoolLambdaConfigPtrOutput) CreateAuthChallenge() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3727,7 +3729,7 @@ func (o UserPoolLambdaConfigPtrOutput) CustomEmailSender() UserPoolCustomEmailSe }).(UserPoolCustomEmailSenderPtrOutput) } -// A custom Message AWS Lambda trigger. +// A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. func (o UserPoolLambdaConfigPtrOutput) CustomMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3747,7 +3749,7 @@ func (o UserPoolLambdaConfigPtrOutput) CustomSmsSender() UserPoolCustomSmsSender }).(UserPoolCustomSmsSenderPtrOutput) } -// Defines the authentication challenge. +// The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . func (o UserPoolLambdaConfigPtrOutput) DefineAuthChallenge() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3767,7 +3769,7 @@ func (o UserPoolLambdaConfigPtrOutput) KmsKeyId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// A post-authentication AWS Lambda trigger. +// The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. func (o UserPoolLambdaConfigPtrOutput) PostAuthentication() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3777,7 +3779,7 @@ func (o UserPoolLambdaConfigPtrOutput) PostAuthentication() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } -// A post-confirmation AWS Lambda trigger. +// The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. func (o UserPoolLambdaConfigPtrOutput) PostConfirmation() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3787,7 +3789,7 @@ func (o UserPoolLambdaConfigPtrOutput) PostConfirmation() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -// A pre-authentication AWS Lambda trigger. +// The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. func (o UserPoolLambdaConfigPtrOutput) PreAuthentication() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3797,7 +3799,7 @@ func (o UserPoolLambdaConfigPtrOutput) PreAuthentication() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } -// A pre-registration AWS Lambda trigger. +// The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. func (o UserPoolLambdaConfigPtrOutput) PreSignUp() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3807,11 +3809,9 @@ func (o UserPoolLambdaConfigPtrOutput) PreSignUp() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. +// The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. // // Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . -// -// You can set “ func (o UserPoolLambdaConfigPtrOutput) PreTokenGeneration() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3821,7 +3821,7 @@ func (o UserPoolLambdaConfigPtrOutput) PreTokenGeneration() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } -// The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . +// The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . func (o UserPoolLambdaConfigPtrOutput) PreTokenGenerationConfig() UserPoolPreTokenGenerationConfigPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *UserPoolPreTokenGenerationConfig { if v == nil { @@ -3831,7 +3831,7 @@ func (o UserPoolLambdaConfigPtrOutput) PreTokenGenerationConfig() UserPoolPreTok }).(UserPoolPreTokenGenerationConfigPtrOutput) } -// The user migration Lambda config type. +// The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. func (o UserPoolLambdaConfigPtrOutput) UserMigration() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -3841,7 +3841,7 @@ func (o UserPoolLambdaConfigPtrOutput) UserMigration() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Verifies the authentication challenge response. +// The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . func (o UserPoolLambdaConfigPtrOutput) VerifyAuthChallengeResponse() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolLambdaConfig) *string { if v == nil { @@ -4014,13 +4014,13 @@ type UserPoolPasswordPolicy struct { // // Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. PasswordHistorySize *int `pulumi:"passwordHistorySize"` - // In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + // The requirement in a password policy that users must include at least one lowercase letter in their password. RequireLowercase *bool `pulumi:"requireLowercase"` - // In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + // The requirement in a password policy that users must include at least one number in their password. RequireNumbers *bool `pulumi:"requireNumbers"` - // In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + // The requirement in a password policy that users must include at least one symbol in their password. RequireSymbols *bool `pulumi:"requireSymbols"` - // In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + // The requirement in a password policy that users must include at least one uppercase letter in their password. RequireUppercase *bool `pulumi:"requireUppercase"` // The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value. // @@ -4046,13 +4046,13 @@ type UserPoolPasswordPolicyArgs struct { // // Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. PasswordHistorySize pulumi.IntPtrInput `pulumi:"passwordHistorySize"` - // In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + // The requirement in a password policy that users must include at least one lowercase letter in their password. RequireLowercase pulumi.BoolPtrInput `pulumi:"requireLowercase"` - // In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + // The requirement in a password policy that users must include at least one number in their password. RequireNumbers pulumi.BoolPtrInput `pulumi:"requireNumbers"` - // In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + // The requirement in a password policy that users must include at least one symbol in their password. RequireSymbols pulumi.BoolPtrInput `pulumi:"requireSymbols"` - // In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + // The requirement in a password policy that users must include at least one uppercase letter in their password. RequireUppercase pulumi.BoolPtrInput `pulumi:"requireUppercase"` // The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value. // @@ -4149,22 +4149,22 @@ func (o UserPoolPasswordPolicyOutput) PasswordHistorySize() pulumi.IntPtrOutput return o.ApplyT(func(v UserPoolPasswordPolicy) *int { return v.PasswordHistorySize }).(pulumi.IntPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. +// The requirement in a password policy that users must include at least one lowercase letter in their password. func (o UserPoolPasswordPolicyOutput) RequireLowercase() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolPasswordPolicy) *bool { return v.RequireLowercase }).(pulumi.BoolPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one number in their password. +// The requirement in a password policy that users must include at least one number in their password. func (o UserPoolPasswordPolicyOutput) RequireNumbers() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolPasswordPolicy) *bool { return v.RequireNumbers }).(pulumi.BoolPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. +// The requirement in a password policy that users must include at least one symbol in their password. func (o UserPoolPasswordPolicyOutput) RequireSymbols() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolPasswordPolicy) *bool { return v.RequireSymbols }).(pulumi.BoolPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. +// The requirement in a password policy that users must include at least one uppercase letter in their password. func (o UserPoolPasswordPolicyOutput) RequireUppercase() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolPasswordPolicy) *bool { return v.RequireUppercase }).(pulumi.BoolPtrOutput) } @@ -4222,7 +4222,7 @@ func (o UserPoolPasswordPolicyPtrOutput) PasswordHistorySize() pulumi.IntPtrOutp }).(pulumi.IntPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. +// The requirement in a password policy that users must include at least one lowercase letter in their password. func (o UserPoolPasswordPolicyPtrOutput) RequireLowercase() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolPasswordPolicy) *bool { if v == nil { @@ -4232,7 +4232,7 @@ func (o UserPoolPasswordPolicyPtrOutput) RequireLowercase() pulumi.BoolPtrOutput }).(pulumi.BoolPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one number in their password. +// The requirement in a password policy that users must include at least one number in their password. func (o UserPoolPasswordPolicyPtrOutput) RequireNumbers() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolPasswordPolicy) *bool { if v == nil { @@ -4242,7 +4242,7 @@ func (o UserPoolPasswordPolicyPtrOutput) RequireNumbers() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. +// The requirement in a password policy that users must include at least one symbol in their password. func (o UserPoolPasswordPolicyPtrOutput) RequireSymbols() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolPasswordPolicy) *bool { if v == nil { @@ -4252,7 +4252,7 @@ func (o UserPoolPasswordPolicyPtrOutput) RequireSymbols() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. +// The requirement in a password policy that users must include at least one uppercase letter in their password. func (o UserPoolPasswordPolicyPtrOutput) RequireUppercase() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolPasswordPolicy) *bool { if v == nil { @@ -4275,7 +4275,7 @@ func (o UserPoolPasswordPolicyPtrOutput) TemporaryPasswordValidityDays() pulumi. } type UserPoolPolicies struct { - // The password policy. + // The password policy settings for a user pool, including complexity, history, and length requirements. PasswordPolicy *UserPoolPasswordPolicy `pulumi:"passwordPolicy"` } @@ -4291,7 +4291,7 @@ type UserPoolPoliciesInput interface { } type UserPoolPoliciesArgs struct { - // The password policy. + // The password policy settings for a user pool, including complexity, history, and length requirements. PasswordPolicy UserPoolPasswordPolicyPtrInput `pulumi:"passwordPolicy"` } @@ -4372,7 +4372,7 @@ func (o UserPoolPoliciesOutput) ToUserPoolPoliciesPtrOutputWithContext(ctx conte }).(UserPoolPoliciesPtrOutput) } -// The password policy. +// The password policy settings for a user pool, including complexity, history, and length requirements. func (o UserPoolPoliciesOutput) PasswordPolicy() UserPoolPasswordPolicyPtrOutput { return o.ApplyT(func(v UserPoolPolicies) *UserPoolPasswordPolicy { return v.PasswordPolicy }).(UserPoolPasswordPolicyPtrOutput) } @@ -4401,7 +4401,7 @@ func (o UserPoolPoliciesPtrOutput) Elem() UserPoolPoliciesOutput { }).(UserPoolPoliciesOutput) } -// The password policy. +// The password policy settings for a user pool, including complexity, history, and length requirements. func (o UserPoolPoliciesPtrOutput) PasswordPolicy() UserPoolPasswordPolicyPtrOutput { return o.ApplyT(func(v *UserPoolPolicies) *UserPoolPasswordPolicy { if v == nil { @@ -4682,9 +4682,9 @@ func (o UserPoolRecoveryOptionArrayOutput) Index(i pulumi.IntInput) UserPoolReco } type UserPoolResourceServerResourceServerScopeType struct { - // A description of the scope. + // A friendly description of a custom scope. ScopeDescription string `pulumi:"scopeDescription"` - // The name of the scope. + // The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . ScopeName string `pulumi:"scopeName"` } @@ -4700,9 +4700,9 @@ type UserPoolResourceServerResourceServerScopeTypeInput interface { } type UserPoolResourceServerResourceServerScopeTypeArgs struct { - // A description of the scope. + // A friendly description of a custom scope. ScopeDescription pulumi.StringInput `pulumi:"scopeDescription"` - // The name of the scope. + // The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . ScopeName pulumi.StringInput `pulumi:"scopeName"` } @@ -4757,12 +4757,12 @@ func (o UserPoolResourceServerResourceServerScopeTypeOutput) ToUserPoolResourceS return o } -// A description of the scope. +// A friendly description of a custom scope. func (o UserPoolResourceServerResourceServerScopeTypeOutput) ScopeDescription() pulumi.StringOutput { return o.ApplyT(func(v UserPoolResourceServerResourceServerScopeType) string { return v.ScopeDescription }).(pulumi.StringOutput) } -// The name of the scope. +// The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . func (o UserPoolResourceServerResourceServerScopeTypeOutput) ScopeName() pulumi.StringOutput { return o.ApplyT(func(v UserPoolResourceServerResourceServerScopeType) string { return v.ScopeName }).(pulumi.StringOutput) } @@ -4788,14 +4788,14 @@ func (o UserPoolResourceServerResourceServerScopeTypeArrayOutput) Index(i pulumi } type UserPoolRiskConfigurationAttachmentAccountTakeoverActionType struct { - // The action to take in response to the account takeover action. Valid values are as follows: + // The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: // - // - `BLOCK` Choosing this action will block the request. - // - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - // - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - // - `NO_ACTION` Allow the user to sign in. + // - `BLOCK` : Block the request. + // - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + // - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + // - `NO_ACTION` : Take no action. Permit sign-in. EventAction string `pulumi:"eventAction"` - // Flag specifying whether to send a notification. + // Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. Notify bool `pulumi:"notify"` } @@ -4811,14 +4811,14 @@ type UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeInput interface } type UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs struct { - // The action to take in response to the account takeover action. Valid values are as follows: + // The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: // - // - `BLOCK` Choosing this action will block the request. - // - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - // - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - // - `NO_ACTION` Allow the user to sign in. + // - `BLOCK` : Block the request. + // - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + // - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + // - `NO_ACTION` : Take no action. Permit sign-in. EventAction pulumi.StringInput `pulumi:"eventAction"` - // Flag specifying whether to send a notification. + // Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. Notify pulumi.BoolInput `pulumi:"notify"` } @@ -4899,17 +4899,17 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeOutput) ToUs }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) } -// The action to take in response to the account takeover action. Valid values are as follows: +// The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: // -// - `BLOCK` Choosing this action will block the request. -// - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. -// - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. -// - `NO_ACTION` Allow the user to sign in. +// - `BLOCK` : Block the request. +// - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. +// - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. +// - `NO_ACTION` : Take no action. Permit sign-in. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeOutput) EventAction() pulumi.StringOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverActionType) string { return v.EventAction }).(pulumi.StringOutput) } -// Flag specifying whether to send a notification. +// Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeOutput) Notify() pulumi.BoolOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverActionType) bool { return v.Notify }).(pulumi.BoolOutput) } @@ -4938,12 +4938,12 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) E }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeOutput) } -// The action to take in response to the account takeover action. Valid values are as follows: +// The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: // -// - `BLOCK` Choosing this action will block the request. -// - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. -// - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. -// - `NO_ACTION` Allow the user to sign in. +// - `BLOCK` : Block the request. +// - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. +// - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. +// - `NO_ACTION` : Take no action. Permit sign-in. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) EventAction() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType) *string { if v == nil { @@ -4953,7 +4953,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) E }).(pulumi.StringPtrOutput) } -// Flag specifying whether to send a notification. +// Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) Notify() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType) *bool { if v == nil { @@ -4964,11 +4964,11 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) N } type UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType struct { - // Action to take for a high risk. + // The action that you assign to a high-risk assessment by advanced security features. HighAction *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType `pulumi:"highAction"` - // Action to take for a low risk. + // The action that you assign to a low-risk assessment by advanced security features. LowAction *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType `pulumi:"lowAction"` - // Action to take for a medium risk. + // The action that you assign to a medium-risk assessment by advanced security features. MediumAction *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType `pulumi:"mediumAction"` } @@ -4984,11 +4984,11 @@ type UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeInput interfac } type UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs struct { - // Action to take for a high risk. + // The action that you assign to a high-risk assessment by advanced security features. HighAction UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrInput `pulumi:"highAction"` - // Action to take for a low risk. + // The action that you assign to a low-risk assessment by advanced security features. LowAction UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrInput `pulumi:"lowAction"` - // Action to take for a medium risk. + // The action that you assign to a medium-risk assessment by advanced security features. MediumAction UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrInput `pulumi:"mediumAction"` } @@ -5069,21 +5069,21 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput) ToU }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) } -// Action to take for a high risk. +// The action that you assign to a high-risk assessment by advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput) HighAction() UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { return v.HighAction }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) } -// Action to take for a low risk. +// The action that you assign to a low-risk assessment by advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput) LowAction() UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { return v.LowAction }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) } -// Action to take for a medium risk. +// The action that you assign to a medium-risk assessment by advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput) MediumAction() UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { return v.MediumAction @@ -5114,7 +5114,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput) } -// Action to take for a high risk. +// The action that you assign to a high-risk assessment by advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) HighAction() UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { if v == nil { @@ -5124,7 +5124,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) } -// Action to take for a low risk. +// The action that you assign to a low-risk assessment by advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) LowAction() UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { if v == nil { @@ -5134,7 +5134,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput) } -// Action to take for a medium risk. +// The action that you assign to a medium-risk assessment by advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) MediumAction() UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { if v == nil { @@ -5145,9 +5145,9 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) } type UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType struct { - // Account takeover risk configuration actions. + // A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. Actions UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType `pulumi:"actions"` - // The notify configuration used to construct email notifications. + // The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. NotifyConfiguration *UserPoolRiskConfigurationAttachmentNotifyConfigurationType `pulumi:"notifyConfiguration"` } @@ -5163,9 +5163,9 @@ type UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeInpu } type UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs struct { - // Account takeover risk configuration actions. + // A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. Actions UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeInput `pulumi:"actions"` - // The notify configuration used to construct email notifications. + // The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. NotifyConfiguration UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrInput `pulumi:"notifyConfiguration"` } @@ -5246,14 +5246,14 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeO }).(UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput) } -// Account takeover risk configuration actions. +// A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeOutput) Actions() UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType) UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType { return v.Actions }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeOutput) } -// The notify configuration used to construct email notifications. +// The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeOutput) NotifyConfiguration() UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyConfigurationType { return v.NotifyConfiguration @@ -5284,7 +5284,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeP }).(UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeOutput) } -// Account takeover risk configuration actions. +// A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput) Actions() UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType) *UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType { if v == nil { @@ -5294,7 +5294,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeP }).(UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypePtrOutput) } -// The notify configuration used to construct email notifications. +// The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput) NotifyConfiguration() UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyConfigurationType { if v == nil { @@ -5305,7 +5305,7 @@ func (o UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeP } type UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType struct { - // The event action. + // The action that Amazon Cognito takes when it detects compromised credentials. EventAction string `pulumi:"eventAction"` } @@ -5321,7 +5321,7 @@ type UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeInput i } type UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs struct { - // The event action. + // The action that Amazon Cognito takes when it detects compromised credentials. EventAction pulumi.StringInput `pulumi:"eventAction"` } @@ -5402,7 +5402,7 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeOutp }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypePtrOutput) } -// The event action. +// The action that Amazon Cognito takes when it detects compromised credentials. func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeOutput) EventAction() pulumi.StringOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType) string { return v.EventAction @@ -5433,7 +5433,7 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypePtrO }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeOutput) } -// The event action. +// The action that Amazon Cognito takes when it detects compromised credentials. func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypePtrOutput) EventAction() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType) *string { if v == nil { @@ -5444,9 +5444,9 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypePtrO } type UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType struct { - // The compromised credentials risk configuration actions. + // Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. Actions UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType `pulumi:"actions"` - // Perform the action for these events. The default is to perform all events if no event filter is specified. + // Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. EventFilter []string `pulumi:"eventFilter"` } @@ -5462,9 +5462,9 @@ type UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationT } type UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs struct { - // The compromised credentials risk configuration actions. + // Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. Actions UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeInput `pulumi:"actions"` - // Perform the action for these events. The default is to perform all events if no event filter is specified. + // Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. EventFilter pulumi.StringArrayInput `pulumi:"eventFilter"` } @@ -5545,14 +5545,14 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurati }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput) } -// The compromised credentials risk configuration actions. +// Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeOutput) Actions() UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType) UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType { return v.Actions }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeOutput) } -// Perform the action for these events. The default is to perform all events if no event filter is specified. +// Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeOutput) EventFilter() pulumi.StringArrayOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType) []string { return v.EventFilter @@ -5583,7 +5583,7 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurati }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeOutput) } -// The compromised credentials risk configuration actions. +// Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput) Actions() UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType) *UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType { if v == nil { @@ -5593,7 +5593,7 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurati }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypePtrOutput) } -// Perform the action for these events. The default is to perform all events if no event filter is specified. +// Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput) EventFilter() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType) []string { if v == nil { @@ -5604,15 +5604,15 @@ func (o UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurati } type UserPoolRiskConfigurationAttachmentNotifyConfigurationType struct { - // Email template used when a detected risk event is blocked. + // The template for the email message that your user pool sends when a detected risk event is blocked. BlockEmail *UserPoolRiskConfigurationAttachmentNotifyEmailType `pulumi:"blockEmail"` - // The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + // The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. From *string `pulumi:"from"` - // The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + // The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. MfaEmail *UserPoolRiskConfigurationAttachmentNotifyEmailType `pulumi:"mfaEmail"` - // The email template used when a detected risk event is allowed. + // The template for the email message that your user pool sends when no action is taken in response to a detected risk. NoActionEmail *UserPoolRiskConfigurationAttachmentNotifyEmailType `pulumi:"noActionEmail"` - // The destination to which the receiver of an email should reply to. + // The reply-to email address of an email template. ReplyTo *string `pulumi:"replyTo"` // The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter. SourceArn string `pulumi:"sourceArn"` @@ -5630,15 +5630,15 @@ type UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeInput interface { } type UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs struct { - // Email template used when a detected risk event is blocked. + // The template for the email message that your user pool sends when a detected risk event is blocked. BlockEmail UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrInput `pulumi:"blockEmail"` - // The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + // The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. From pulumi.StringPtrInput `pulumi:"from"` - // The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + // The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. MfaEmail UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrInput `pulumi:"mfaEmail"` - // The email template used when a detected risk event is allowed. + // The template for the email message that your user pool sends when no action is taken in response to a detected risk. NoActionEmail UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrInput `pulumi:"noActionEmail"` - // The destination to which the receiver of an email should reply to. + // The reply-to email address of an email template. ReplyTo pulumi.StringPtrInput `pulumi:"replyTo"` // The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter. SourceArn pulumi.StringInput `pulumi:"sourceArn"` @@ -5721,33 +5721,33 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) ToUser }).(UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) } -// Email template used when a detected risk event is blocked. +// The template for the email message that your user pool sends when a detected risk event is blocked. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) BlockEmail() UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyEmailType { return v.BlockEmail }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. +// The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) From() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *string { return v.From }).(pulumi.StringPtrOutput) } -// The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. +// The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) MfaEmail() UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyEmailType { return v.MfaEmail }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The email template used when a detected risk event is allowed. +// The template for the email message that your user pool sends when no action is taken in response to a detected risk. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) NoActionEmail() UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyEmailType { return v.NoActionEmail }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The destination to which the receiver of an email should reply to. +// The reply-to email address of an email template. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) ReplyTo() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *string { return v.ReplyTo }).(pulumi.StringPtrOutput) } @@ -5781,7 +5781,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) Ele }).(UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeOutput) } -// Email template used when a detected risk event is blocked. +// The template for the email message that your user pool sends when a detected risk event is blocked. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) BlockEmail() UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyEmailType { if v == nil { @@ -5791,7 +5791,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) Blo }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. +// The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) From() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *string { if v == nil { @@ -5801,7 +5801,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) Fro }).(pulumi.StringPtrOutput) } -// The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. +// The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) MfaEmail() UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyEmailType { if v == nil { @@ -5811,7 +5811,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) Mfa }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The email template used when a detected risk event is allowed. +// The template for the email message that your user pool sends when no action is taken in response to a detected risk. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) NoActionEmail() UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *UserPoolRiskConfigurationAttachmentNotifyEmailType { if v == nil { @@ -5821,7 +5821,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) NoA }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The destination to which the receiver of an email should reply to. +// The reply-to email address of an email template. func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) ReplyTo() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyConfigurationType) *string { if v == nil { @@ -5842,11 +5842,11 @@ func (o UserPoolRiskConfigurationAttachmentNotifyConfigurationTypePtrOutput) Sou } type UserPoolRiskConfigurationAttachmentNotifyEmailType struct { - // The email HTML body. + // The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. HtmlBody *string `pulumi:"htmlBody"` - // The email subject. + // The subject of the threat protection email notification. Subject string `pulumi:"subject"` - // The email text body. + // The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. TextBody *string `pulumi:"textBody"` } @@ -5862,11 +5862,11 @@ type UserPoolRiskConfigurationAttachmentNotifyEmailTypeInput interface { } type UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs struct { - // The email HTML body. + // The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. HtmlBody pulumi.StringPtrInput `pulumi:"htmlBody"` - // The email subject. + // The subject of the threat protection email notification. Subject pulumi.StringInput `pulumi:"subject"` - // The email text body. + // The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. TextBody pulumi.StringPtrInput `pulumi:"textBody"` } @@ -5947,17 +5947,17 @@ func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypeOutput) ToUserPoolRisk }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) } -// The email HTML body. +// The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypeOutput) HtmlBody() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyEmailType) *string { return v.HtmlBody }).(pulumi.StringPtrOutput) } -// The email subject. +// The subject of the threat protection email notification. func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypeOutput) Subject() pulumi.StringOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyEmailType) string { return v.Subject }).(pulumi.StringOutput) } -// The email text body. +// The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypeOutput) TextBody() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentNotifyEmailType) *string { return v.TextBody }).(pulumi.StringPtrOutput) } @@ -5986,7 +5986,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) Elem() User }).(UserPoolRiskConfigurationAttachmentNotifyEmailTypeOutput) } -// The email HTML body. +// The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) HtmlBody() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyEmailType) *string { if v == nil { @@ -5996,7 +5996,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) HtmlBody() }).(pulumi.StringPtrOutput) } -// The email subject. +// The subject of the threat protection email notification. func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) Subject() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyEmailType) *string { if v == nil { @@ -6006,7 +6006,7 @@ func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) Subject() p }).(pulumi.StringPtrOutput) } -// The email text body. +// The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) TextBody() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentNotifyEmailType) *string { if v == nil { @@ -6017,9 +6017,9 @@ func (o UserPoolRiskConfigurationAttachmentNotifyEmailTypePtrOutput) TextBody() } type UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType struct { - // Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + // An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. BlockedIpRangeList []string `pulumi:"blockedIpRangeList"` - // Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + // An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. SkippedIpRangeList []string `pulumi:"skippedIpRangeList"` } @@ -6035,9 +6035,9 @@ type UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeInput inte } type UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs struct { - // Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + // An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. BlockedIpRangeList pulumi.StringArrayInput `pulumi:"blockedIpRangeList"` - // Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + // An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. SkippedIpRangeList pulumi.StringArrayInput `pulumi:"skippedIpRangeList"` } @@ -6118,14 +6118,14 @@ func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeOutput) }).(UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput) } -// Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. +// An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeOutput) BlockedIpRangeList() pulumi.StringArrayOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType) []string { return v.BlockedIpRangeList }).(pulumi.StringArrayOutput) } -// Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. +// An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeOutput) SkippedIpRangeList() pulumi.StringArrayOutput { return o.ApplyT(func(v UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType) []string { return v.SkippedIpRangeList @@ -6156,7 +6156,7 @@ func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutp }).(UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeOutput) } -// Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. +// An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput) BlockedIpRangeList() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType) []string { if v == nil { @@ -6166,7 +6166,7 @@ func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutp }).(pulumi.StringArrayOutput) } -// Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. +// An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. func (o UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput) SkippedIpRangeList() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType) []string { if v == nil { @@ -6529,7 +6529,7 @@ func (o UserPoolSmsConfigurationPtrOutput) SnsRegion() pulumi.StringPtrOutput { type UserPoolStringAttributeConstraints struct { // The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer. MaxLength *string `pulumi:"maxLength"` - // The minimum length. + // The minimum length of a string attribute value. MinLength *string `pulumi:"minLength"` } @@ -6547,7 +6547,7 @@ type UserPoolStringAttributeConstraintsInput interface { type UserPoolStringAttributeConstraintsArgs struct { // The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer. MaxLength pulumi.StringPtrInput `pulumi:"maxLength"` - // The minimum length. + // The minimum length of a string attribute value. MinLength pulumi.StringPtrInput `pulumi:"minLength"` } @@ -6633,7 +6633,7 @@ func (o UserPoolStringAttributeConstraintsOutput) MaxLength() pulumi.StringPtrOu return o.ApplyT(func(v UserPoolStringAttributeConstraints) *string { return v.MaxLength }).(pulumi.StringPtrOutput) } -// The minimum length. +// The minimum length of a string attribute value. func (o UserPoolStringAttributeConstraintsOutput) MinLength() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolStringAttributeConstraints) *string { return v.MinLength }).(pulumi.StringPtrOutput) } @@ -6672,7 +6672,7 @@ func (o UserPoolStringAttributeConstraintsPtrOutput) MaxLength() pulumi.StringPt }).(pulumi.StringPtrOutput) } -// The minimum length. +// The minimum length of a string attribute value. func (o UserPoolStringAttributeConstraintsPtrOutput) MinLength() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolStringAttributeConstraints) *string { if v == nil { @@ -6948,8 +6948,8 @@ type UserPoolUsernameConfiguration struct { // // Valid values include: // - // - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - // - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + // - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + // - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. CaseSensitive *bool `pulumi:"caseSensitive"` } @@ -6969,8 +6969,8 @@ type UserPoolUsernameConfigurationArgs struct { // // Valid values include: // - // - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - // - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + // - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + // - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. CaseSensitive pulumi.BoolPtrInput `pulumi:"caseSensitive"` } @@ -7055,8 +7055,8 @@ func (o UserPoolUsernameConfigurationOutput) ToUserPoolUsernameConfigurationPtrO // // Valid values include: // -// - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. -// - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. +// - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. +// - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. func (o UserPoolUsernameConfigurationOutput) CaseSensitive() pulumi.BoolPtrOutput { return o.ApplyT(func(v UserPoolUsernameConfiguration) *bool { return v.CaseSensitive }).(pulumi.BoolPtrOutput) } @@ -7089,8 +7089,8 @@ func (o UserPoolUsernameConfigurationPtrOutput) Elem() UserPoolUsernameConfigura // // Valid values include: // -// - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. -// - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. +// - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. +// - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. func (o UserPoolUsernameConfigurationPtrOutput) CaseSensitive() pulumi.BoolPtrOutput { return o.ApplyT(func(v *UserPoolUsernameConfiguration) *bool { if v == nil { @@ -7101,7 +7101,9 @@ func (o UserPoolUsernameConfigurationPtrOutput) CaseSensitive() pulumi.BoolPtrOu } type UserPoolVerificationMessageTemplate struct { - // The default email option. + // The configuration of verification emails to contain a clickable link or a verification code. + // + // For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . DefaultEmailOption *string `pulumi:"defaultEmailOption"` // The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. EmailMessage *string `pulumi:"emailMessage"` @@ -7127,7 +7129,9 @@ type UserPoolVerificationMessageTemplateInput interface { } type UserPoolVerificationMessageTemplateArgs struct { - // The default email option. + // The configuration of verification emails to contain a clickable link or a verification code. + // + // For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . DefaultEmailOption pulumi.StringPtrInput `pulumi:"defaultEmailOption"` // The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. EmailMessage pulumi.StringPtrInput `pulumi:"emailMessage"` @@ -7218,7 +7222,9 @@ func (o UserPoolVerificationMessageTemplateOutput) ToUserPoolVerificationMessage }).(UserPoolVerificationMessageTemplatePtrOutput) } -// The default email option. +// The configuration of verification emails to contain a clickable link or a verification code. +// +// For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . func (o UserPoolVerificationMessageTemplateOutput) DefaultEmailOption() pulumi.StringPtrOutput { return o.ApplyT(func(v UserPoolVerificationMessageTemplate) *string { return v.DefaultEmailOption }).(pulumi.StringPtrOutput) } @@ -7272,7 +7278,9 @@ func (o UserPoolVerificationMessageTemplatePtrOutput) Elem() UserPoolVerificatio }).(UserPoolVerificationMessageTemplateOutput) } -// The default email option. +// The configuration of verification emails to contain a clickable link or a verification code. +// +// For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . func (o UserPoolVerificationMessageTemplatePtrOutput) DefaultEmailOption() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPoolVerificationMessageTemplate) *string { if v == nil { diff --git a/sdk/go/aws/cognito/userPool.go b/sdk/go/aws/cognito/userPool.go index 0c8a8da7bf..4342a94951 100644 --- a/sdk/go/aws/cognito/userPool.go +++ b/sdk/go/aws/cognito/userPool.go @@ -17,7 +17,9 @@ type UserPool struct { // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. AccountRecoverySetting UserPoolAccountRecoverySettingPtrOutput `pulumi:"accountRecoverySetting"` - // The configuration for creating a new user profile. + // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig UserPoolAdminCreateUserConfigPtrOutput `pulumi:"adminCreateUserConfig"` // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . // @@ -50,13 +52,7 @@ type UserPool struct { // // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` EnabledMfas pulumi.StringArrayOutput `pulumi:"enabledMfas"` - // The Lambda trigger configuration information for the new user pool. - // - // > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - // > - // > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - // > - // > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig UserPoolLambdaConfigPtrOutput `pulumi:"lambdaConfig"` // The multi-factor authentication (MFA) configuration. Valid values include: // @@ -64,7 +60,9 @@ type UserPool struct { // - `ON` MFA is required for all users to sign in. // - `OPTIONAL` MFA will be required only for individual users who have an MFA factor activated. MfaConfiguration pulumi.StringPtrOutput `pulumi:"mfaConfiguration"` - // The policy associated with a user pool. + // A list of user pool policies. Contains the policy that sets password-complexity requirements. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies UserPoolPoliciesPtrOutput `pulumi:"policies"` // The provider name of the Amazon Cognito user pool, specified as a `String` . ProviderName pulumi.StringOutput `pulumi:"providerName"` @@ -100,7 +98,9 @@ type UserPool struct { UsernameAttributes pulumi.StringArrayOutput `pulumi:"usernameAttributes"` // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. UsernameConfiguration UserPoolUsernameConfigurationPtrOutput `pulumi:"usernameConfiguration"` - // The template for the verification message that the user sees when the app requests permission to access the user's information. + // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + // + // Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. VerificationMessageTemplate UserPoolVerificationMessageTemplatePtrOutput `pulumi:"verificationMessageTemplate"` } @@ -146,7 +146,9 @@ func (UserPoolState) ElementType() reflect.Type { type userPoolArgs struct { // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. AccountRecoverySetting *UserPoolAccountRecoverySetting `pulumi:"accountRecoverySetting"` - // The configuration for creating a new user profile. + // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig *UserPoolAdminCreateUserConfig `pulumi:"adminCreateUserConfig"` // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . // @@ -177,13 +179,7 @@ type userPoolArgs struct { // // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` EnabledMfas []string `pulumi:"enabledMfas"` - // The Lambda trigger configuration information for the new user pool. - // - // > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - // > - // > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - // > - // > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig *UserPoolLambdaConfig `pulumi:"lambdaConfig"` // The multi-factor authentication (MFA) configuration. Valid values include: // @@ -191,7 +187,9 @@ type userPoolArgs struct { // - `ON` MFA is required for all users to sign in. // - `OPTIONAL` MFA will be required only for individual users who have an MFA factor activated. MfaConfiguration *string `pulumi:"mfaConfiguration"` - // The policy associated with a user pool. + // A list of user pool policies. Contains the policy that sets password-complexity requirements. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies *UserPoolPolicies `pulumi:"policies"` // The schema attributes for the new user pool. These attributes can be standard or custom attributes. // @@ -221,7 +219,9 @@ type userPoolArgs struct { UsernameAttributes []string `pulumi:"usernameAttributes"` // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. UsernameConfiguration *UserPoolUsernameConfiguration `pulumi:"usernameConfiguration"` - // The template for the verification message that the user sees when the app requests permission to access the user's information. + // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + // + // Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. VerificationMessageTemplate *UserPoolVerificationMessageTemplate `pulumi:"verificationMessageTemplate"` } @@ -229,7 +229,9 @@ type userPoolArgs struct { type UserPoolArgs struct { // Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. AccountRecoverySetting UserPoolAccountRecoverySettingPtrInput - // The configuration for creating a new user profile. + // The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . AdminCreateUserConfig UserPoolAdminCreateUserConfigPtrInput // Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . // @@ -260,13 +262,7 @@ type UserPoolArgs struct { // // Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` EnabledMfas pulumi.StringArrayInput - // The Lambda trigger configuration information for the new user pool. - // - // > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - // > - // > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - // > - // > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + // A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. LambdaConfig UserPoolLambdaConfigPtrInput // The multi-factor authentication (MFA) configuration. Valid values include: // @@ -274,7 +270,9 @@ type UserPoolArgs struct { // - `ON` MFA is required for all users to sign in. // - `OPTIONAL` MFA will be required only for individual users who have an MFA factor activated. MfaConfiguration pulumi.StringPtrInput - // The policy associated with a user pool. + // A list of user pool policies. Contains the policy that sets password-complexity requirements. + // + // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . Policies UserPoolPoliciesPtrInput // The schema attributes for the new user pool. These attributes can be standard or custom attributes. // @@ -304,7 +302,9 @@ type UserPoolArgs struct { UsernameAttributes pulumi.StringArrayInput // You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. UsernameConfiguration UserPoolUsernameConfigurationPtrInput - // The template for the verification message that the user sees when the app requests permission to access the user's information. + // The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + // + // Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. VerificationMessageTemplate UserPoolVerificationMessageTemplatePtrInput } @@ -350,7 +350,9 @@ func (o UserPoolOutput) AccountRecoverySetting() UserPoolAccountRecoverySettingP return o.ApplyT(func(v *UserPool) UserPoolAccountRecoverySettingPtrOutput { return v.AccountRecoverySetting }).(UserPoolAccountRecoverySettingPtrOutput) } -// The configuration for creating a new user profile. +// The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. +// +// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . func (o UserPoolOutput) AdminCreateUserConfig() UserPoolAdminCreateUserConfigPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolAdminCreateUserConfigPtrOutput { return v.AdminCreateUserConfig }).(UserPoolAdminCreateUserConfigPtrOutput) } @@ -413,13 +415,7 @@ func (o UserPoolOutput) EnabledMfas() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPool) pulumi.StringArrayOutput { return v.EnabledMfas }).(pulumi.StringArrayOutput) } -// The Lambda trigger configuration information for the new user pool. -// -// > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. -// > -// > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . -// > -// > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . +// A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. func (o UserPoolOutput) LambdaConfig() UserPoolLambdaConfigPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolLambdaConfigPtrOutput { return v.LambdaConfig }).(UserPoolLambdaConfigPtrOutput) } @@ -433,7 +429,9 @@ func (o UserPoolOutput) MfaConfiguration() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserPool) pulumi.StringPtrOutput { return v.MfaConfiguration }).(pulumi.StringPtrOutput) } -// The policy associated with a user pool. +// A list of user pool policies. Contains the policy that sets password-complexity requirements. +// +// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . func (o UserPoolOutput) Policies() UserPoolPoliciesPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolPoliciesPtrOutput { return v.Policies }).(UserPoolPoliciesPtrOutput) } @@ -511,7 +509,9 @@ func (o UserPoolOutput) UsernameConfiguration() UserPoolUsernameConfigurationPtr return o.ApplyT(func(v *UserPool) UserPoolUsernameConfigurationPtrOutput { return v.UsernameConfiguration }).(UserPoolUsernameConfigurationPtrOutput) } -// The template for the verification message that the user sees when the app requests permission to access the user's information. +// The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. +// +// Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. func (o UserPoolOutput) VerificationMessageTemplate() UserPoolVerificationMessageTemplatePtrOutput { return o.ApplyT(func(v *UserPool) UserPoolVerificationMessageTemplatePtrOutput { return v.VerificationMessageTemplate }).(UserPoolVerificationMessageTemplatePtrOutput) } diff --git a/sdk/go/aws/cognito/userPoolClient.go b/sdk/go/aws/cognito/userPoolClient.go index 4d1b128fca..a394aa7b93 100644 --- a/sdk/go/aws/cognito/userPoolClient.go +++ b/sdk/go/aws/cognito/userPoolClient.go @@ -114,9 +114,9 @@ type UserPoolClient struct { Name pulumi.StringOutput `pulumi:"name"` // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. PreventUserExistenceErrors pulumi.StringPtrOutput `pulumi:"preventUserExistenceErrors"` - // The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // - // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. ReadAttributes pulumi.StringArrayOutput `pulumi:"readAttributes"` // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // @@ -280,9 +280,9 @@ type userPoolClientArgs struct { LogoutUrls []string `pulumi:"logoutUrls"` // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. PreventUserExistenceErrors *string `pulumi:"preventUserExistenceErrors"` - // The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // - // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. ReadAttributes []string `pulumi:"readAttributes"` // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // @@ -400,9 +400,9 @@ type UserPoolClientArgs struct { LogoutUrls pulumi.StringArrayInput // Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. PreventUserExistenceErrors pulumi.StringPtrInput - // The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + // The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // - // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + // When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. ReadAttributes pulumi.StringArrayInput // The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. // @@ -616,9 +616,9 @@ func (o UserPoolClientOutput) PreventUserExistenceErrors() pulumi.StringPtrOutpu return o.ApplyT(func(v *UserPoolClient) pulumi.StringPtrOutput { return v.PreventUserExistenceErrors }).(pulumi.StringPtrOutput) } -// The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. +// The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. // -// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. +// When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. func (o UserPoolClientOutput) ReadAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserPoolClient) pulumi.StringArrayOutput { return v.ReadAttributes }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go b/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go index 1d9eaa5df2..216b6ff213 100644 --- a/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go +++ b/sdk/go/aws/cognito/userPoolRiskConfigurationAttachment.go @@ -16,15 +16,15 @@ import ( type UserPoolRiskConfigurationAttachment struct { pulumi.CustomResourceState - // The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput `pulumi:"accountTakeoverRiskConfiguration"` // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). ClientId pulumi.StringOutput `pulumi:"clientId"` - // The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput `pulumi:"compromisedCredentialsRiskConfiguration"` - // The configuration to override the risk decision. + // Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. RiskExceptionConfiguration UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput `pulumi:"riskExceptionConfiguration"` - // The user pool ID. + // The ID of the user pool that has the risk configuration applied. UserPoolId pulumi.StringOutput `pulumi:"userPoolId"` } @@ -79,29 +79,29 @@ func (UserPoolRiskConfigurationAttachmentState) ElementType() reflect.Type { } type userPoolRiskConfigurationAttachmentArgs struct { - // The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration *UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType `pulumi:"accountTakeoverRiskConfiguration"` // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). ClientId string `pulumi:"clientId"` - // The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration *UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType `pulumi:"compromisedCredentialsRiskConfiguration"` - // The configuration to override the risk decision. + // Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. RiskExceptionConfiguration *UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType `pulumi:"riskExceptionConfiguration"` - // The user pool ID. + // The ID of the user pool that has the risk configuration applied. UserPoolId string `pulumi:"userPoolId"` } // The set of arguments for constructing a UserPoolRiskConfigurationAttachment resource. type UserPoolRiskConfigurationAttachmentArgs struct { - // The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + // The settings for automated responses and notification templates for adaptive authentication with advanced security features. AccountTakeoverRiskConfiguration UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrInput // The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). ClientId pulumi.StringInput - // The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + // Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. CompromisedCredentialsRiskConfiguration UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrInput - // The configuration to override the risk decision. + // Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. RiskExceptionConfiguration UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrInput - // The user pool ID. + // The ID of the user pool that has the risk configuration applied. UserPoolId pulumi.StringInput } @@ -142,7 +142,7 @@ func (o UserPoolRiskConfigurationAttachmentOutput) ToUserPoolRiskConfigurationAt return o } -// The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. +// The settings for automated responses and notification templates for adaptive authentication with advanced security features. func (o UserPoolRiskConfigurationAttachmentOutput) AccountTakeoverRiskConfiguration() UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachment) UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypePtrOutput { return v.AccountTakeoverRiskConfiguration @@ -154,21 +154,21 @@ func (o UserPoolRiskConfigurationAttachmentOutput) ClientId() pulumi.StringOutpu return o.ApplyT(func(v *UserPoolRiskConfigurationAttachment) pulumi.StringOutput { return v.ClientId }).(pulumi.StringOutput) } -// The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . +// Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. func (o UserPoolRiskConfigurationAttachmentOutput) CompromisedCredentialsRiskConfiguration() UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachment) UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput { return v.CompromisedCredentialsRiskConfiguration }).(UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypePtrOutput) } -// The configuration to override the risk decision. +// Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. func (o UserPoolRiskConfigurationAttachmentOutput) RiskExceptionConfiguration() UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachment) UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput { return v.RiskExceptionConfiguration }).(UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypePtrOutput) } -// The user pool ID. +// The ID of the user pool that has the risk configuration applied. func (o UserPoolRiskConfigurationAttachmentOutput) UserPoolId() pulumi.StringOutput { return o.ApplyT(func(v *UserPoolRiskConfigurationAttachment) pulumi.StringOutput { return v.UserPoolId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/databrew/getRuleset.go b/sdk/go/aws/databrew/getRuleset.go index 33f984dee9..20bf3dd6aa 100644 --- a/sdk/go/aws/databrew/getRuleset.go +++ b/sdk/go/aws/databrew/getRuleset.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "github.com/pulumi/pulumi-aws-native/sdk/go/aws" "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -33,10 +32,6 @@ type LookupRulesetResult struct { Description *string `pulumi:"description"` // List of the data quality rules in the ruleset Rules []RulesetRule `pulumi:"rules"` - // An array of key-value pairs to apply to this resource. - // - // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - Tags []aws.Tag `pulumi:"tags"` } func LookupRulesetOutput(ctx *pulumi.Context, args LookupRulesetOutputArgs, opts ...pulumi.InvokeOption) LookupRulesetResultOutput { @@ -85,13 +80,6 @@ func (o LookupRulesetResultOutput) Rules() RulesetRuleArrayOutput { return o.ApplyT(func(v LookupRulesetResult) []RulesetRule { return v.Rules }).(RulesetRuleArrayOutput) } -// An array of key-value pairs to apply to this resource. -// -// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . -func (o LookupRulesetResultOutput) Tags() aws.TagArrayOutput { - return o.ApplyT(func(v LookupRulesetResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) -} - func init() { pulumi.RegisterOutputType(LookupRulesetResultOutput{}) } diff --git a/sdk/go/aws/databrew/ruleset.go b/sdk/go/aws/databrew/ruleset.go index e4129eeca5..c78009199f 100644 --- a/sdk/go/aws/databrew/ruleset.go +++ b/sdk/go/aws/databrew/ruleset.go @@ -26,7 +26,7 @@ type Ruleset struct { // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - Tags aws.TagArrayOutput `pulumi:"tags"` + Tags aws.CreateOnlyTagArrayOutput `pulumi:"tags"` // Arn of the target resource (dataset) to apply the ruleset to TargetArn pulumi.StringOutput `pulumi:"targetArn"` } @@ -46,6 +46,7 @@ func NewRuleset(ctx *pulumi.Context, } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "name", + "tags[*]", "targetArn", }) opts = append(opts, replaceOnChanges) @@ -91,7 +92,7 @@ type rulesetArgs struct { // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - Tags []aws.Tag `pulumi:"tags"` + Tags []aws.CreateOnlyTag `pulumi:"tags"` // Arn of the target resource (dataset) to apply the ruleset to TargetArn string `pulumi:"targetArn"` } @@ -107,7 +108,7 @@ type RulesetArgs struct { // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - Tags aws.TagArrayInput + Tags aws.CreateOnlyTagArrayInput // Arn of the target resource (dataset) to apply the ruleset to TargetArn pulumi.StringInput } @@ -167,8 +168,8 @@ func (o RulesetOutput) Rules() RulesetRuleArrayOutput { // An array of key-value pairs to apply to this resource. // // For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . -func (o RulesetOutput) Tags() aws.TagArrayOutput { - return o.ApplyT(func(v *Ruleset) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +func (o RulesetOutput) Tags() aws.CreateOnlyTagArrayOutput { + return o.ApplyT(func(v *Ruleset) aws.CreateOnlyTagArrayOutput { return v.Tags }).(aws.CreateOnlyTagArrayOutput) } // Arn of the target resource (dataset) to apply the ruleset to diff --git a/sdk/go/aws/ecs/getService.go b/sdk/go/aws/ecs/getService.go index c89b3bee6b..bdfa560df0 100644 --- a/sdk/go/aws/ecs/getService.go +++ b/sdk/go/aws/ecs/getService.go @@ -14,8 +14,8 @@ import ( // The “AWS::ECS::Service“ resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. // -// The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. -// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. +// The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. +// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. func LookupService(ctx *pulumi.Context, args *LookupServiceArgs, opts ...pulumi.InvokeOption) (*LookupServiceResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupServiceResult @@ -66,6 +66,7 @@ type LookupServiceResult struct { // The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*. PlatformVersion *string `pulumi:"platformVersion"` // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + // You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. PropagateTags *ServicePropagateTags `pulumi:"propagateTags"` // Not currently supported in AWS CloudFormation . @@ -200,6 +201,7 @@ func (o LookupServiceResultOutput) PlatformVersion() pulumi.StringPtrOutput { // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. // +// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. func (o LookupServiceResultOutput) PropagateTags() ServicePropagateTagsPtrOutput { return o.ApplyT(func(v LookupServiceResult) *ServicePropagateTags { return v.PropagateTags }).(ServicePropagateTagsPtrOutput) diff --git a/sdk/go/aws/ecs/pulumiEnums.go b/sdk/go/aws/ecs/pulumiEnums.go index 11ae2ef740..8d00ab6027 100644 --- a/sdk/go/aws/ecs/pulumiEnums.go +++ b/sdk/go/aws/ecs/pulumiEnums.go @@ -1696,6 +1696,7 @@ func (in *servicePlacementStrategyTypePtr) ToServicePlacementStrategyTypePtrOutp // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. // +// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. type ServicePropagateTags string diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index 3668e80864..3e2e51a4a1 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -1688,14 +1688,14 @@ type ClusterTag struct { Value *string `pulumi:"value"` } -// An object representing the networking details for a task or service. For example “awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}“ +// An object representing the networking details for a task or service. For example “awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}“. type ServiceAwsVpcConfiguration struct { // Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``. AssignPublicIp *ServiceAwsVpcConfigurationAssignPublicIp `pulumi:"assignPublicIp"` - // The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + // The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. // All specified security groups must be from the same VPC. SecurityGroups []string `pulumi:"securityGroups"` - // The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + // The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. // All specified subnets must be from the same VPC. Subnets []string `pulumi:"subnets"` } @@ -1711,14 +1711,14 @@ type ServiceAwsVpcConfigurationInput interface { ToServiceAwsVpcConfigurationOutputWithContext(context.Context) ServiceAwsVpcConfigurationOutput } -// An object representing the networking details for a task or service. For example “awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}“ +// An object representing the networking details for a task or service. For example “awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}“. type ServiceAwsVpcConfigurationArgs struct { // Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``. AssignPublicIp ServiceAwsVpcConfigurationAssignPublicIpPtrInput `pulumi:"assignPublicIp"` - // The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + // The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. // All specified security groups must be from the same VPC. SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` - // The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + // The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. // All specified subnets must be from the same VPC. Subnets pulumi.StringArrayInput `pulumi:"subnets"` } @@ -1776,7 +1776,7 @@ func (i *serviceAwsVpcConfigurationPtrType) ToServiceAwsVpcConfigurationPtrOutpu return pulumi.ToOutputWithContext(ctx, i).(ServiceAwsVpcConfigurationPtrOutput) } -// An object representing the networking details for a task or service. For example “awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}“ +// An object representing the networking details for a task or service. For example “awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}“. type ServiceAwsVpcConfigurationOutput struct{ *pulumi.OutputState } func (ServiceAwsVpcConfigurationOutput) ElementType() reflect.Type { @@ -1806,14 +1806,14 @@ func (o ServiceAwsVpcConfigurationOutput) AssignPublicIp() ServiceAwsVpcConfigur return o.ApplyT(func(v ServiceAwsVpcConfiguration) *ServiceAwsVpcConfigurationAssignPublicIp { return v.AssignPublicIp }).(ServiceAwsVpcConfigurationAssignPublicIpPtrOutput) } -// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per “AwsVpcConfiguration“. +// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per “awsvpcConfiguration“. // // All specified security groups must be from the same VPC. func (o ServiceAwsVpcConfigurationOutput) SecurityGroups() pulumi.StringArrayOutput { return o.ApplyT(func(v ServiceAwsVpcConfiguration) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) } -// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per “AwsVpcConfiguration“. +// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per “awsvpcConfiguration“. // // All specified subnets must be from the same VPC. func (o ServiceAwsVpcConfigurationOutput) Subnets() pulumi.StringArrayOutput { @@ -1854,7 +1854,7 @@ func (o ServiceAwsVpcConfigurationPtrOutput) AssignPublicIp() ServiceAwsVpcConfi }).(ServiceAwsVpcConfigurationAssignPublicIpPtrOutput) } -// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per “AwsVpcConfiguration“. +// The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per “awsvpcConfiguration“. // // All specified security groups must be from the same VPC. func (o ServiceAwsVpcConfigurationPtrOutput) SecurityGroups() pulumi.StringArrayOutput { @@ -1866,7 +1866,7 @@ func (o ServiceAwsVpcConfigurationPtrOutput) SecurityGroups() pulumi.StringArray }).(pulumi.StringArrayOutput) } -// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per “AwsVpcConfiguration“. +// The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per “awsvpcConfiguration“. // // All specified subnets must be from the same VPC. func (o ServiceAwsVpcConfigurationPtrOutput) Subnets() pulumi.StringArrayOutput { @@ -2150,12 +2150,12 @@ func (o ServiceConnectClientAliasArrayOutput) Index(i pulumi.IntInput) ServiceCo type ServiceConnectConfiguration struct { // Specifies whether to use Service Connect with this service. Enabled bool `pulumi:"enabled"` - // The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - // By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + // The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + // By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -2185,12 +2185,12 @@ type ServiceConnectConfigurationInput interface { type ServiceConnectConfigurationArgs struct { // Specifies whether to use Service Connect with this service. Enabled pulumi.BoolInput `pulumi:"enabled"` - // The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - // By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + // The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + // By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -2288,13 +2288,13 @@ func (o ServiceConnectConfigurationOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v ServiceConnectConfiguration) bool { return v.Enabled }).(pulumi.BoolOutput) } -// The log configuration for the container. This parameter maps to “LogConfig“ in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the “--log-driver“ option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). +// The log configuration for the container. This parameter maps to “LogConfig“ in the docker container create command and the “--log-driver“ option to docker run. // -// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. +// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -2349,13 +2349,13 @@ func (o ServiceConnectConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } -// The log configuration for the container. This parameter maps to “LogConfig“ in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the “--log-driver“ option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). +// The log configuration for the container. This parameter maps to “LogConfig“ in the docker container create command and the “--log-driver“ option to docker run. // -// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. +// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -2557,7 +2557,7 @@ func (o ServiceConnectServiceArrayOutput) Index(i pulumi.IntInput) ServiceConnec }).(ServiceConnectServiceOutput) } -// An object that represents the AWS Private Certificate Authority certificate. +// The certificate root authority that secures your service. type ServiceConnectTlsCertificateAuthority struct { // The ARN of the AWS Private Certificate Authority certificate. AwsPcaAuthorityArn *string `pulumi:"awsPcaAuthorityArn"` @@ -2574,7 +2574,7 @@ type ServiceConnectTlsCertificateAuthorityInput interface { ToServiceConnectTlsCertificateAuthorityOutputWithContext(context.Context) ServiceConnectTlsCertificateAuthorityOutput } -// An object that represents the AWS Private Certificate Authority certificate. +// The certificate root authority that secures your service. type ServiceConnectTlsCertificateAuthorityArgs struct { // The ARN of the AWS Private Certificate Authority certificate. AwsPcaAuthorityArn pulumi.StringPtrInput `pulumi:"awsPcaAuthorityArn"` @@ -2633,7 +2633,7 @@ func (i *serviceConnectTlsCertificateAuthorityPtrType) ToServiceConnectTlsCertif return pulumi.ToOutputWithContext(ctx, i).(ServiceConnectTlsCertificateAuthorityPtrOutput) } -// An object that represents the AWS Private Certificate Authority certificate. +// The certificate root authority that secures your service. type ServiceConnectTlsCertificateAuthorityOutput struct{ *pulumi.OutputState } func (ServiceConnectTlsCertificateAuthorityOutput) ElementType() reflect.Type { @@ -2697,7 +2697,7 @@ func (o ServiceConnectTlsCertificateAuthorityPtrOutput) AwsPcaAuthorityArn() pul }).(pulumi.StringPtrOutput) } -// An object that represents the configuration for Service Connect TLS. +// The key that encrypts and decrypts your resources for Service Connect TLS. type ServiceConnectTlsConfiguration struct { // The signer certificate authority. IssuerCertificateAuthority ServiceConnectTlsCertificateAuthority `pulumi:"issuerCertificateAuthority"` @@ -2718,7 +2718,7 @@ type ServiceConnectTlsConfigurationInput interface { ToServiceConnectTlsConfigurationOutputWithContext(context.Context) ServiceConnectTlsConfigurationOutput } -// An object that represents the configuration for Service Connect TLS. +// The key that encrypts and decrypts your resources for Service Connect TLS. type ServiceConnectTlsConfigurationArgs struct { // The signer certificate authority. IssuerCertificateAuthority ServiceConnectTlsCertificateAuthorityInput `pulumi:"issuerCertificateAuthority"` @@ -2781,7 +2781,7 @@ func (i *serviceConnectTlsConfigurationPtrType) ToServiceConnectTlsConfiguration return pulumi.ToOutputWithContext(ctx, i).(ServiceConnectTlsConfigurationPtrOutput) } -// An object that represents the configuration for Service Connect TLS. +// The key that encrypts and decrypts your resources for Service Connect TLS. type ServiceConnectTlsConfigurationOutput struct{ *pulumi.OutputState } func (ServiceConnectTlsConfigurationOutput) ElementType() reflect.Type { @@ -3235,7 +3235,7 @@ func (o ServiceDeploymentCircuitBreakerPtrOutput) Rollback() pulumi.BoolPtrOutpu }).(pulumi.BoolPtrOutput) } -// The “DeploymentConfiguration“ property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. type ServiceDeploymentConfiguration struct { // Information about the CloudWatch alarms. Alarms *ServiceDeploymentAlarms `pulumi:"alarms"` @@ -3243,7 +3243,9 @@ type ServiceDeploymentConfiguration struct { // The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide* DeploymentCircuitBreaker *ServiceDeploymentCircuitBreaker `pulumi:"deploymentCircuitBreaker"` // If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + // You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + // If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. MaximumPercent *int `pulumi:"maximumPercent"` // If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. // For services that *do not* use a load balancer, the following should be noted: @@ -3255,7 +3257,11 @@ type ServiceDeploymentConfiguration struct { // + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // - // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + // The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + // The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + // You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. MinimumHealthyPercent *int `pulumi:"minimumHealthyPercent"` } @@ -3270,7 +3276,7 @@ type ServiceDeploymentConfigurationInput interface { ToServiceDeploymentConfigurationOutputWithContext(context.Context) ServiceDeploymentConfigurationOutput } -// The “DeploymentConfiguration“ property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. type ServiceDeploymentConfigurationArgs struct { // Information about the CloudWatch alarms. Alarms ServiceDeploymentAlarmsPtrInput `pulumi:"alarms"` @@ -3278,7 +3284,9 @@ type ServiceDeploymentConfigurationArgs struct { // The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide* DeploymentCircuitBreaker ServiceDeploymentCircuitBreakerPtrInput `pulumi:"deploymentCircuitBreaker"` // If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + // You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + // If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. MaximumPercent pulumi.IntPtrInput `pulumi:"maximumPercent"` // If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. // For services that *do not* use a load balancer, the following should be noted: @@ -3290,7 +3298,11 @@ type ServiceDeploymentConfigurationArgs struct { // + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // - // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + // The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + // The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + // You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + // If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. MinimumHealthyPercent pulumi.IntPtrInput `pulumi:"minimumHealthyPercent"` } @@ -3347,7 +3359,7 @@ func (i *serviceDeploymentConfigurationPtrType) ToServiceDeploymentConfiguration return pulumi.ToOutputWithContext(ctx, i).(ServiceDeploymentConfigurationPtrOutput) } -// The “DeploymentConfiguration“ property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. +// Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. type ServiceDeploymentConfigurationOutput struct{ *pulumi.OutputState } func (ServiceDeploymentConfigurationOutput) ElementType() reflect.Type { @@ -3388,7 +3400,9 @@ func (o ServiceDeploymentConfigurationOutput) DeploymentCircuitBreaker() Service // If a service is using the rolling update (“ECS“) deployment type, the “maximumPercent“ parameter represents an upper limit on the number of your service's tasks that are allowed in the “RUNNING“ or “PENDING“ state during a deployment, as a percentage of the “desiredCount“ (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the “REPLICA“ service scheduler and has a “desiredCount“ of four tasks and a “maximumPercent“ value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default “maximumPercent“ value for a service using the “REPLICA“ service scheduler is 200%. // -// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. +// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. +// You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. +// If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. func (o ServiceDeploymentConfigurationOutput) MaximumPercent() pulumi.IntPtrOutput { return o.ApplyT(func(v ServiceDeploymentConfiguration) *int { return v.MaximumPercent }).(pulumi.IntPtrOutput) } @@ -3404,7 +3418,11 @@ func (o ServiceDeploymentConfigurationOutput) MaximumPercent() pulumi.IntPtrOutp // + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // -// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. +// The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. +// The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. +// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. +// You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. +// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. func (o ServiceDeploymentConfigurationOutput) MinimumHealthyPercent() pulumi.IntPtrOutput { return o.ApplyT(func(v ServiceDeploymentConfiguration) *int { return v.MinimumHealthyPercent }).(pulumi.IntPtrOutput) } @@ -3457,7 +3475,9 @@ func (o ServiceDeploymentConfigurationPtrOutput) DeploymentCircuitBreaker() Serv // If a service is using the rolling update (“ECS“) deployment type, the “maximumPercent“ parameter represents an upper limit on the number of your service's tasks that are allowed in the “RUNNING“ or “PENDING“ state during a deployment, as a percentage of the “desiredCount“ (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the “REPLICA“ service scheduler and has a “desiredCount“ of four tasks and a “maximumPercent“ value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default “maximumPercent“ value for a service using the “REPLICA“ service scheduler is 200%. // -// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. +// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. +// You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. +// If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. func (o ServiceDeploymentConfigurationPtrOutput) MaximumPercent() pulumi.IntPtrOutput { return o.ApplyT(func(v *ServiceDeploymentConfiguration) *int { if v == nil { @@ -3478,7 +3498,11 @@ func (o ServiceDeploymentConfigurationPtrOutput) MaximumPercent() pulumi.IntPtrO // + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. // -// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. +// The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. +// The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. +// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. +// You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. +// If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. func (o ServiceDeploymentConfigurationPtrOutput) MinimumHealthyPercent() pulumi.IntPtrOutput { return o.ApplyT(func(v *ServiceDeploymentConfiguration) *int { if v == nil { @@ -3916,22 +3940,22 @@ func (o ServiceLoadBalancerArrayOutput) Index(i pulumi.IntInput) ServiceLoadBala }).(ServiceLoadBalancerOutput) } -// The log configuration for the container. This parameter maps to “LogConfig“ in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the “--log-driver“ option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). +// The log configuration for the container. This parameter maps to “LogConfig“ in the docker container create command and the “--log-driver“ option to docker run. // -// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. +// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. type ServiceLogConfiguration struct { // The log driver to use for the container. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - // For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - // For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + // For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + // For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). // If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. LogDriver *string `pulumi:"logDriver"` // The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` @@ -3951,22 +3975,22 @@ type ServiceLogConfigurationInput interface { ToServiceLogConfigurationOutputWithContext(context.Context) ServiceLogConfigurationOutput } -// The log configuration for the container. This parameter maps to “LogConfig“ in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the “--log-driver“ option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). +// The log configuration for the container. This parameter maps to “LogConfig“ in the docker container create command and the “--log-driver“ option to docker run. // -// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. +// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. type ServiceLogConfigurationArgs struct { // The log driver to use for the container. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - // For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - // For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + // For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + // For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + // For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). // If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. LogDriver pulumi.StringPtrInput `pulumi:"logDriver"` // The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` @@ -4028,13 +4052,13 @@ func (i *serviceLogConfigurationPtrType) ToServiceLogConfigurationPtrOutputWithC return pulumi.ToOutputWithContext(ctx, i).(ServiceLogConfigurationPtrOutput) } -// The log configuration for the container. This parameter maps to “LogConfig“ in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the “--log-driver“ option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). +// The log configuration for the container. This parameter maps to “LogConfig“ in the docker container create command and the “--log-driver“ option to docker run. // -// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. +// By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. // Understand the following when specifying a log configuration for your containers. // + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. // + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. // + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -4065,9 +4089,9 @@ func (o ServiceLogConfigurationOutput) ToServiceLogConfigurationPtrOutputWithCon // The log driver to use for the container. // // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. -// For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. -// For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. +// For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. +// For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). // If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. func (o ServiceLogConfigurationOutput) LogDriver() pulumi.StringPtrOutput { return o.ApplyT(func(v ServiceLogConfiguration) *string { return v.LogDriver }).(pulumi.StringPtrOutput) @@ -4110,9 +4134,9 @@ func (o ServiceLogConfigurationPtrOutput) Elem() ServiceLogConfigurationOutput { // The log driver to use for the container. // // For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. -// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. -// For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. -// For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. +// For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. +// For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. +// For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). // If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. func (o ServiceLogConfigurationPtrOutput) LogDriver() pulumi.StringPtrOutput { return o.ApplyT(func(v *ServiceLogConfiguration) *string { @@ -4564,7 +4588,7 @@ func (o ServiceManagedEbsVolumeConfigurationPtrOutput) VolumeType() pulumi.Strin }).(pulumi.StringPtrOutput) } -// The “NetworkConfiguration“ property specifies an object representing the network configuration for a task or service. +// The network configuration for a task or service. type ServiceNetworkConfiguration struct { // The VPC subnets and security groups that are associated with a task. // All specified subnets and security groups must be from the same VPC. @@ -4582,7 +4606,7 @@ type ServiceNetworkConfigurationInput interface { ToServiceNetworkConfigurationOutputWithContext(context.Context) ServiceNetworkConfigurationOutput } -// The “NetworkConfiguration“ property specifies an object representing the network configuration for a task or service. +// The network configuration for a task or service. type ServiceNetworkConfigurationArgs struct { // The VPC subnets and security groups that are associated with a task. // All specified subnets and security groups must be from the same VPC. @@ -4642,7 +4666,7 @@ func (i *serviceNetworkConfigurationPtrType) ToServiceNetworkConfigurationPtrOut return pulumi.ToOutputWithContext(ctx, i).(ServiceNetworkConfigurationPtrOutput) } -// The “NetworkConfiguration“ property specifies an object representing the network configuration for a task or service. +// The network configuration for a task or service. type ServiceNetworkConfigurationOutput struct{ *pulumi.OutputState } func (ServiceNetworkConfigurationOutput) ElementType() reflect.Type { @@ -4710,7 +4734,9 @@ func (o ServiceNetworkConfigurationPtrOutput) AwsvpcConfiguration() ServiceAwsVp }).(ServiceAwsVpcConfigurationPtrOutput) } -// The “PlacementConstraint“ property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. +// An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. +// +// If you're using the Fargate launch type, task placement constraints aren't supported. type ServicePlacementConstraint struct { // A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is ``distinctInstance``. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*. Expression *string `pulumi:"expression"` @@ -4729,7 +4755,9 @@ type ServicePlacementConstraintInput interface { ToServicePlacementConstraintOutputWithContext(context.Context) ServicePlacementConstraintOutput } -// The “PlacementConstraint“ property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. +// An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. +// +// If you're using the Fargate launch type, task placement constraints aren't supported. type ServicePlacementConstraintArgs struct { // A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is ``distinctInstance``. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*. Expression pulumi.StringPtrInput `pulumi:"expression"` @@ -4774,7 +4802,9 @@ func (i ServicePlacementConstraintArray) ToServicePlacementConstraintArrayOutput return pulumi.ToOutputWithContext(ctx, i).(ServicePlacementConstraintArrayOutput) } -// The “PlacementConstraint“ property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. +// An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. +// +// If you're using the Fargate launch type, task placement constraints aren't supported. type ServicePlacementConstraintOutput struct{ *pulumi.OutputState } func (ServicePlacementConstraintOutput) ElementType() reflect.Type { @@ -4819,9 +4849,9 @@ func (o ServicePlacementConstraintArrayOutput) Index(i pulumi.IntInput) ServiceP }).(ServicePlacementConstraintOutput) } -// The “PlacementStrategy“ property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. +// The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. type ServicePlacementStrategy struct { - // The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + // The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. Field *string `pulumi:"field"` // The type of placement strategy. The ``random`` placement strategy randomly places tasks on available candidates. The ``spread`` placement strategy spreads placement across available candidates evenly based on the ``field`` parameter. The ``binpack`` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the ``field`` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task. Type ServicePlacementStrategyType `pulumi:"type"` @@ -4838,9 +4868,9 @@ type ServicePlacementStrategyInput interface { ToServicePlacementStrategyOutputWithContext(context.Context) ServicePlacementStrategyOutput } -// The “PlacementStrategy“ property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. +// The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. type ServicePlacementStrategyArgs struct { - // The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + // The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. Field pulumi.StringPtrInput `pulumi:"field"` // The type of placement strategy. The ``random`` placement strategy randomly places tasks on available candidates. The ``spread`` placement strategy spreads placement across available candidates evenly based on the ``field`` parameter. The ``binpack`` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the ``field`` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task. Type ServicePlacementStrategyTypeInput `pulumi:"type"` @@ -4883,7 +4913,7 @@ func (i ServicePlacementStrategyArray) ToServicePlacementStrategyArrayOutputWith return pulumi.ToOutputWithContext(ctx, i).(ServicePlacementStrategyArrayOutput) } -// The “PlacementStrategy“ property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. +// The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. type ServicePlacementStrategyOutput struct{ *pulumi.OutputState } func (ServicePlacementStrategyOutput) ElementType() reflect.Type { @@ -4898,7 +4928,7 @@ func (o ServicePlacementStrategyOutput) ToServicePlacementStrategyOutputWithCont return o } -// The field to apply the placement strategy against. For the “spread“ placement strategy, valid values are “instanceId“ (or “host“, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as “attribute:ecs.availability-zone“. For the “binpack“ placement strategy, valid values are “CPU“ and “MEMORY“. For the “random“ placement strategy, this field is not used. +// The field to apply the placement strategy against. For the “spread“ placement strategy, valid values are “instanceId“ (or “host“, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as “attribute:ecs.availability-zone“. For the “binpack“ placement strategy, valid values are “cpu“ and “memory“. For the “random“ placement strategy, this field is not used. func (o ServicePlacementStrategyOutput) Field() pulumi.StringPtrOutput { return o.ApplyT(func(v ServicePlacementStrategy) *string { return v.Field }).(pulumi.StringPtrOutput) } @@ -4928,7 +4958,10 @@ func (o ServicePlacementStrategyArrayOutput) Index(i pulumi.IntInput) ServicePla }).(ServicePlacementStrategyOutput) } -// The “ServiceRegistry“ property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. +// The details for the service registry. +// +// Each service may be associated with one service registry. Multiple service registries for each service are not supported. +// When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. type ServiceRegistry struct { // The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition that your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both. ContainerName *string `pulumi:"containerName"` @@ -4951,7 +4984,10 @@ type ServiceRegistryInput interface { ToServiceRegistryOutputWithContext(context.Context) ServiceRegistryOutput } -// The “ServiceRegistry“ property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. +// The details for the service registry. +// +// Each service may be associated with one service registry. Multiple service registries for each service are not supported. +// When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. type ServiceRegistryArgs struct { // The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition that your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both. ContainerName pulumi.StringPtrInput `pulumi:"containerName"` @@ -5000,7 +5036,10 @@ func (i ServiceRegistryArray) ToServiceRegistryArrayOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, i).(ServiceRegistryArrayOutput) } -// The “ServiceRegistry“ property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. +// The details for the service registry. +// +// Each service may be associated with one service registry. Multiple service registries for each service are not supported. +// When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. type ServiceRegistryOutput struct{ *pulumi.OutputState } func (ServiceRegistryOutput) ElementType() reflect.Type { @@ -5770,9 +5809,9 @@ func (o TaskDefinitionAuthorizationConfigPtrOutput) Iam() TaskDefinitionAuthoriz // The “ContainerDefinition“ property specifies a container definition. Container definitions are used in task definitions to describe the different containers that are launched as part of a task. type TaskDefinitionContainerDefinition struct { - // The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + // The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. Command []string `pulumi:"command"` - // The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + // The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. // This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. // You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. // Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -5797,28 +5836,28 @@ type TaskDefinitionContainerDefinition struct { // // If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website. DependsOn []TaskDefinitionContainerDependency `pulumi:"dependsOn"` - // When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + // When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. // This parameter is not supported for Windows containers. DisableNetworking *bool `pulumi:"disableNetworking"` - // A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + // A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. // This parameter is not supported for Windows containers. DnsSearchDomains []string `pulumi:"dnsSearchDomains"` - // A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + // A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. // This parameter is not supported for Windows containers. DnsServers []string `pulumi:"dnsServers"` - // A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + // A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` DockerLabels map[string]string `pulumi:"dockerLabels"` // A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. // For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. // For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - // This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + // This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. // The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" DockerSecurityOptions []string `pulumi:"dockerSecurityOptions"` // Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - // The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + // The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. EntryPoint []string `pulumi:"entryPoint"` - // The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + // The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. // We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. Environment []TaskDefinitionKeyValuePair `pulumi:"environment"` // A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run. @@ -5828,26 +5867,26 @@ type TaskDefinitionContainerDefinition struct { // If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. // All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*. Essential *bool `pulumi:"essential"` - // A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + // A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. // This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. ExtraHosts []TaskDefinitionHostEntry `pulumi:"extraHosts"` // The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. FirelensConfiguration *TaskDefinitionFirelensConfiguration `pulumi:"firelensConfiguration"` - // The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + // The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. HealthCheck *TaskDefinitionHealthCheck `pulumi:"healthCheck"` - // The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + // The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. // The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. Hostname *string `pulumi:"hostname"` - // The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + // The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. // + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. // + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. // + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). // + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``). // + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``). Image string `pulumi:"image"` - // When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + // When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. Interactive *bool `pulumi:"interactive"` - // The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + // The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. // This parameter is not supported for Windows containers. // Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. Links []string `pulumi:"links"` @@ -5866,17 +5905,17 @@ type TaskDefinitionContainerDefinition struct { // The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers. // The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers. Memory *int `pulumi:"memory"` - // The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + // The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. // If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. // For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. // The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. // The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers. MemoryReservation *int `pulumi:"memoryReservation"` // The mount points for data volumes in your container. - // This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + // This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. // Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. MountPoints []TaskDefinitionMountPoint `pulumi:"mountPoints"` - // The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + // The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. Name string `pulumi:"name"` // The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. // For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``. @@ -5884,19 +5923,19 @@ type TaskDefinitionContainerDefinition struct { // This parameter maps to ``PortBindings`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping. // After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses. PortMappings []TaskDefinitionPortMapping `pulumi:"portMappings"` - // When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + // When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run // This parameter is not supported for Windows containers or tasks run on FARGATElong. Privileged *bool `pulumi:"privileged"` - // When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + // When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. PseudoTerminal *bool `pulumi:"pseudoTerminal"` - // When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + // When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. // This parameter is not supported for Windows containers. ReadonlyRootFilesystem *bool `pulumi:"readonlyRootFilesystem"` // The private repository authentication credentials to use. RepositoryCredentials *TaskDefinitionRepositoryCredentials `pulumi:"repositoryCredentials"` // The type and amount of a resource to assign to a container. The only supported resource is a GPU. ResourceRequirements []TaskDefinitionResourceRequirement `pulumi:"resourceRequirements"` - // The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + // The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. RestartPolicy *TaskDefinitionRestartPolicy `pulumi:"restartPolicy"` // The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*. Secrets []TaskDefinitionSecret `pulumi:"secrets"` @@ -5918,12 +5957,12 @@ type TaskDefinitionContainerDefinition struct { // For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. // The valid values are 2-120 seconds. StopTimeout *int `pulumi:"stopTimeout"` - // A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + // A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. SystemControls []TaskDefinitionSystemControl `pulumi:"systemControls"` // A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` // This parameter is not supported for Windows containers. Ulimits []TaskDefinitionUlimit `pulumi:"ulimits"` - // The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + // The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. // When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. // You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. // + ``user`` @@ -5935,9 +5974,9 @@ type TaskDefinitionContainerDefinition struct { // // This parameter is not supported for Windows containers. User *string `pulumi:"user"` - // Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + // Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. VolumesFrom []TaskDefinitionVolumeFrom `pulumi:"volumesFrom"` - // The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + // The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. WorkingDirectory *string `pulumi:"workingDirectory"` } @@ -5954,9 +5993,9 @@ type TaskDefinitionContainerDefinitionInput interface { // The “ContainerDefinition“ property specifies a container definition. Container definitions are used in task definitions to describe the different containers that are launched as part of a task. type TaskDefinitionContainerDefinitionArgs struct { - // The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + // The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. Command pulumi.StringArrayInput `pulumi:"command"` - // The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + // The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. // This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. // You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. // Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -5981,28 +6020,28 @@ type TaskDefinitionContainerDefinitionArgs struct { // // If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website. DependsOn TaskDefinitionContainerDependencyArrayInput `pulumi:"dependsOn"` - // When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + // When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. // This parameter is not supported for Windows containers. DisableNetworking pulumi.BoolPtrInput `pulumi:"disableNetworking"` - // A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + // A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. // This parameter is not supported for Windows containers. DnsSearchDomains pulumi.StringArrayInput `pulumi:"dnsSearchDomains"` - // A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + // A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. // This parameter is not supported for Windows containers. DnsServers pulumi.StringArrayInput `pulumi:"dnsServers"` - // A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + // A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` DockerLabels pulumi.StringMapInput `pulumi:"dockerLabels"` // A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. // For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. // For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - // This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + // This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. // The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" DockerSecurityOptions pulumi.StringArrayInput `pulumi:"dockerSecurityOptions"` // Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - // The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + // The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. EntryPoint pulumi.StringArrayInput `pulumi:"entryPoint"` - // The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + // The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. // We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. Environment TaskDefinitionKeyValuePairArrayInput `pulumi:"environment"` // A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run. @@ -6012,26 +6051,26 @@ type TaskDefinitionContainerDefinitionArgs struct { // If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. // All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*. Essential pulumi.BoolPtrInput `pulumi:"essential"` - // A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + // A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. // This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. ExtraHosts TaskDefinitionHostEntryArrayInput `pulumi:"extraHosts"` // The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. FirelensConfiguration TaskDefinitionFirelensConfigurationPtrInput `pulumi:"firelensConfiguration"` - // The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + // The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. HealthCheck TaskDefinitionHealthCheckPtrInput `pulumi:"healthCheck"` - // The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + // The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. // The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. Hostname pulumi.StringPtrInput `pulumi:"hostname"` - // The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + // The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. // + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. // + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. // + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). // + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``). // + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``). Image pulumi.StringInput `pulumi:"image"` - // When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + // When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. Interactive pulumi.BoolPtrInput `pulumi:"interactive"` - // The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + // The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. // This parameter is not supported for Windows containers. // Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. Links pulumi.StringArrayInput `pulumi:"links"` @@ -6050,17 +6089,17 @@ type TaskDefinitionContainerDefinitionArgs struct { // The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers. // The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers. Memory pulumi.IntPtrInput `pulumi:"memory"` - // The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + // The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. // If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. // For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. // The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. // The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers. MemoryReservation pulumi.IntPtrInput `pulumi:"memoryReservation"` // The mount points for data volumes in your container. - // This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + // This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. // Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. MountPoints TaskDefinitionMountPointArrayInput `pulumi:"mountPoints"` - // The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + // The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. Name pulumi.StringInput `pulumi:"name"` // The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. // For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``. @@ -6068,19 +6107,19 @@ type TaskDefinitionContainerDefinitionArgs struct { // This parameter maps to ``PortBindings`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping. // After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses. PortMappings TaskDefinitionPortMappingArrayInput `pulumi:"portMappings"` - // When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + // When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run // This parameter is not supported for Windows containers or tasks run on FARGATElong. Privileged pulumi.BoolPtrInput `pulumi:"privileged"` - // When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + // When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. PseudoTerminal pulumi.BoolPtrInput `pulumi:"pseudoTerminal"` - // When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + // When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. // This parameter is not supported for Windows containers. ReadonlyRootFilesystem pulumi.BoolPtrInput `pulumi:"readonlyRootFilesystem"` // The private repository authentication credentials to use. RepositoryCredentials TaskDefinitionRepositoryCredentialsPtrInput `pulumi:"repositoryCredentials"` // The type and amount of a resource to assign to a container. The only supported resource is a GPU. ResourceRequirements TaskDefinitionResourceRequirementArrayInput `pulumi:"resourceRequirements"` - // The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + // The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. RestartPolicy TaskDefinitionRestartPolicyPtrInput `pulumi:"restartPolicy"` // The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*. Secrets TaskDefinitionSecretArrayInput `pulumi:"secrets"` @@ -6102,12 +6141,12 @@ type TaskDefinitionContainerDefinitionArgs struct { // For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. // The valid values are 2-120 seconds. StopTimeout pulumi.IntPtrInput `pulumi:"stopTimeout"` - // A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + // A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. SystemControls TaskDefinitionSystemControlArrayInput `pulumi:"systemControls"` // A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` // This parameter is not supported for Windows containers. Ulimits TaskDefinitionUlimitArrayInput `pulumi:"ulimits"` - // The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + // The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. // When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. // You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. // + ``user`` @@ -6119,9 +6158,9 @@ type TaskDefinitionContainerDefinitionArgs struct { // // This parameter is not supported for Windows containers. User pulumi.StringPtrInput `pulumi:"user"` - // Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + // Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. VolumesFrom TaskDefinitionVolumeFromArrayInput `pulumi:"volumesFrom"` - // The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + // The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. WorkingDirectory pulumi.StringPtrInput `pulumi:"workingDirectory"` } @@ -6177,12 +6216,12 @@ func (o TaskDefinitionContainerDefinitionOutput) ToTaskDefinitionContainerDefini return o } -// The command that's passed to the container. This parameter maps to “Cmd“ in the docker conainer create command and the “COMMAND“ parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. +// The command that's passed to the container. This parameter maps to “Cmd“ in the docker container create command and the “COMMAND“ parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. func (o TaskDefinitionContainerDefinitionOutput) Command() pulumi.StringArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []string { return v.Command }).(pulumi.StringArrayOutput) } -// The number of “cpu“ units reserved for the container. This parameter maps to “CpuShares“ in the docker conainer create commandand the “--cpu-shares“ option to docker run. +// The number of “cpu“ units reserved for the container. This parameter maps to “CpuShares“ in the docker container create commandand the “--cpu-shares“ option to docker run. // // This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. // You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. @@ -6219,28 +6258,28 @@ func (o TaskDefinitionContainerDefinitionOutput) DependsOn() TaskDefinitionConta return o.ApplyT(func(v TaskDefinitionContainerDefinition) []TaskDefinitionContainerDependency { return v.DependsOn }).(TaskDefinitionContainerDependencyArrayOutput) } -// When this parameter is true, networking is off within the container. This parameter maps to “NetworkDisabled“ in the docker conainer create command. +// When this parameter is true, networking is off within the container. This parameter maps to “NetworkDisabled“ in the docker container create command. // // This parameter is not supported for Windows containers. func (o TaskDefinitionContainerDefinitionOutput) DisableNetworking() pulumi.BoolPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *bool { return v.DisableNetworking }).(pulumi.BoolPtrOutput) } -// A list of DNS search domains that are presented to the container. This parameter maps to “DnsSearch“ in the docker conainer create command and the “--dns-search“ option to docker run. +// A list of DNS search domains that are presented to the container. This parameter maps to “DnsSearch“ in the docker container create command and the “--dns-search“ option to docker run. // // This parameter is not supported for Windows containers. func (o TaskDefinitionContainerDefinitionOutput) DnsSearchDomains() pulumi.StringArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []string { return v.DnsSearchDomains }).(pulumi.StringArrayOutput) } -// A list of DNS servers that are presented to the container. This parameter maps to “Dns“ in the the docker conainer create command and the “--dns“ option to docker run. +// A list of DNS servers that are presented to the container. This parameter maps to “Dns“ in the docker container create command and the “--dns“ option to docker run. // // This parameter is not supported for Windows containers. func (o TaskDefinitionContainerDefinitionOutput) DnsServers() pulumi.StringArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []string { return v.DnsServers }).(pulumi.StringArrayOutput) } -// A key/value map of labels to add to the container. This parameter maps to “Labels“ in the docker conainer create command and the “--label“ option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: “sudo docker version --format '{{.Server.APIVersion}}'“ +// A key/value map of labels to add to the container. This parameter maps to “Labels“ in the docker container create command and the “--label“ option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: “sudo docker version --format '{{.Server.APIVersion}}'“ func (o TaskDefinitionContainerDefinitionOutput) DockerLabels() pulumi.StringMapOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) map[string]string { return v.DockerLabels }).(pulumi.StringMapOutput) } @@ -6249,7 +6288,7 @@ func (o TaskDefinitionContainerDefinitionOutput) DockerLabels() pulumi.StringMap // // For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. // For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. -// This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. +// This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. // The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. // Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" func (o TaskDefinitionContainerDefinitionOutput) DockerSecurityOptions() pulumi.StringArrayOutput { @@ -6258,12 +6297,12 @@ func (o TaskDefinitionContainerDefinitionOutput) DockerSecurityOptions() pulumi. // Early versions of the Amazon ECS container agent don't properly handle “entryPoint“ parameters. If you have problems using “entryPoint“, update your container agent or enter your commands and arguments as “command“ array items instead. // -// The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. +// The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. func (o TaskDefinitionContainerDefinitionOutput) EntryPoint() pulumi.StringArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []string { return v.EntryPoint }).(pulumi.StringArrayOutput) } -// The environment variables to pass to a container. This parameter maps to “Env“ in the docker conainer create command and the “--env“ option to docker run. +// The environment variables to pass to a container. This parameter maps to “Env“ in the docker container create command and the “--env“ option to docker run. // // We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. func (o TaskDefinitionContainerDefinitionOutput) Environment() TaskDefinitionKeyValuePairArrayOutput { @@ -6285,7 +6324,7 @@ func (o TaskDefinitionContainerDefinitionOutput) Essential() pulumi.BoolPtrOutpu return o.ApplyT(func(v TaskDefinitionContainerDefinition) *bool { return v.Essential }).(pulumi.BoolPtrOutput) } -// A list of hostnames and IP address mappings to append to the “/etc/hosts“ file on the container. This parameter maps to “ExtraHosts“ in the docker conainer create command and the “--add-host“ option to docker run. +// A list of hostnames and IP address mappings to append to the “/etc/hosts“ file on the container. This parameter maps to “ExtraHosts“ in the docker container create command and the “--add-host“ option to docker run. // // This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. func (o TaskDefinitionContainerDefinitionOutput) ExtraHosts() TaskDefinitionHostEntryArrayOutput { @@ -6299,19 +6338,19 @@ func (o TaskDefinitionContainerDefinitionOutput) FirelensConfiguration() TaskDef }).(TaskDefinitionFirelensConfigurationPtrOutput) } -// The container health check command and associated configuration parameters for the container. This parameter maps to “HealthCheck“ in the docker conainer create command and the “HEALTHCHECK“ parameter of docker run. +// The container health check command and associated configuration parameters for the container. This parameter maps to “HealthCheck“ in the docker container create command and the “HEALTHCHECK“ parameter of docker run. func (o TaskDefinitionContainerDefinitionOutput) HealthCheck() TaskDefinitionHealthCheckPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *TaskDefinitionHealthCheck { return v.HealthCheck }).(TaskDefinitionHealthCheckPtrOutput) } -// The hostname to use for your container. This parameter maps to “Hostname“ in thethe docker conainer create command and the “--hostname“ option to docker run. +// The hostname to use for your container. This parameter maps to “Hostname“ in thethe docker container create command and the “--hostname“ option to docker run. // // The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. func (o TaskDefinitionContainerDefinitionOutput) Hostname() pulumi.StringPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *string { return v.Hostname }).(pulumi.StringPtrOutput) } -// The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either “repository-url/image:tag“ or “repository-url/image@digest“. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to “Image“ in the docker conainer create command and the “IMAGE“ parameter of docker run. +// The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either “repository-url/image:tag“ or “repository-url/image@digest“. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to “Image“ in the docker container create command and the “IMAGE“ parameter of docker run. // - When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. // - Images in Amazon ECR repositories can be specified by either using the full “registry/repository:tag“ or “registry/repository@digest“. For example, “012345678910.dkr.ecr..amazonaws.com/:latest“ or “012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE“. // - Images in official repositories on Docker Hub use a single name (for example, “ubuntu“ or “mongo“). @@ -6321,12 +6360,12 @@ func (o TaskDefinitionContainerDefinitionOutput) Image() pulumi.StringOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) string { return v.Image }).(pulumi.StringOutput) } -// When this parameter is “true“, you can deploy containerized applications that require “stdin“ or a “tty“ to be allocated. This parameter maps to “OpenStdin“ in the docker conainer create command and the “--interactive“ option to docker run. +// When this parameter is “true“, you can deploy containerized applications that require “stdin“ or a “tty“ to be allocated. This parameter maps to “OpenStdin“ in the docker container create command and the “--interactive“ option to docker run. func (o TaskDefinitionContainerDefinitionOutput) Interactive() pulumi.BoolPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *bool { return v.Interactive }).(pulumi.BoolPtrOutput) } -// The “links“ parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is “bridge“. The “name:internalName“ construct is analogous to “name:alias“ in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to “Links“ in the docker conainer create command and the “--link“ option to docker run. +// The “links“ parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is “bridge“. The “name:internalName“ construct is analogous to “name:alias“ in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to “Links“ in the docker container create command and the “--link“ option to docker run. // // This parameter is not supported for Windows containers. // Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. @@ -6361,7 +6400,7 @@ func (o TaskDefinitionContainerDefinitionOutput) Memory() pulumi.IntPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *int { return v.Memory }).(pulumi.IntPtrOutput) } -// The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the “memory“ parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to “MemoryReservation“ in the the docker conainer create command and the “--memory-reservation“ option to docker run. +// The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the “memory“ parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to “MemoryReservation“ in the docker container create command and the “--memory-reservation“ option to docker run. // // If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. // For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. @@ -6373,13 +6412,13 @@ func (o TaskDefinitionContainerDefinitionOutput) MemoryReservation() pulumi.IntP // The mount points for data volumes in your container. // -// This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. +// This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. // Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. func (o TaskDefinitionContainerDefinitionOutput) MountPoints() TaskDefinitionMountPointArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []TaskDefinitionMountPoint { return v.MountPoints }).(TaskDefinitionMountPointArrayOutput) } -// The name of a container. If you're linking multiple containers together in a task definition, the “name“ of one container can be entered in the “links“ of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to “name“ in tthe docker conainer create command and the “--name“ option to docker run. +// The name of a container. If you're linking multiple containers together in a task definition, the “name“ of one container can be entered in the “links“ of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to “name“ in tthe docker container create command and the “--name“ option to docker run. func (o TaskDefinitionContainerDefinitionOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) string { return v.Name }).(pulumi.StringOutput) } @@ -6394,19 +6433,19 @@ func (o TaskDefinitionContainerDefinitionOutput) PortMappings() TaskDefinitionPo return o.ApplyT(func(v TaskDefinitionContainerDefinition) []TaskDefinitionPortMapping { return v.PortMappings }).(TaskDefinitionPortMappingArrayOutput) } -// When this parameter is true, the container is given elevated privileges on the host container instance (similar to the “root“ user). This parameter maps to “Privileged“ in the the docker conainer create command and the “--privileged“ option to docker run +// When this parameter is true, the container is given elevated privileges on the host container instance (similar to the “root“ user). This parameter maps to “Privileged“ in the docker container create command and the “--privileged“ option to docker run // // This parameter is not supported for Windows containers or tasks run on FARGATElong. func (o TaskDefinitionContainerDefinitionOutput) Privileged() pulumi.BoolPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *bool { return v.Privileged }).(pulumi.BoolPtrOutput) } -// When this parameter is “true“, a TTY is allocated. This parameter maps to “Tty“ in tthe docker conainer create command and the “--tty“ option to docker run. +// When this parameter is “true“, a TTY is allocated. This parameter maps to “Tty“ in tthe docker container create command and the “--tty“ option to docker run. func (o TaskDefinitionContainerDefinitionOutput) PseudoTerminal() pulumi.BoolPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *bool { return v.PseudoTerminal }).(pulumi.BoolPtrOutput) } -// When this parameter is true, the container is given read-only access to its root file system. This parameter maps to “ReadonlyRootfs“ in the docker conainer create command and the “--read-only“ option to docker run. +// When this parameter is true, the container is given read-only access to its root file system. This parameter maps to “ReadonlyRootfs“ in the docker container create command and the “--read-only“ option to docker run. // // This parameter is not supported for Windows containers. func (o TaskDefinitionContainerDefinitionOutput) ReadonlyRootFilesystem() pulumi.BoolPtrOutput { @@ -6427,7 +6466,7 @@ func (o TaskDefinitionContainerDefinitionOutput) ResourceRequirements() TaskDefi }).(TaskDefinitionResourceRequirementArrayOutput) } -// The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . +// The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. func (o TaskDefinitionContainerDefinitionOutput) RestartPolicy() TaskDefinitionRestartPolicyPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *TaskDefinitionRestartPolicy { return v.RestartPolicy }).(TaskDefinitionRestartPolicyPtrOutput) } @@ -6463,7 +6502,7 @@ func (o TaskDefinitionContainerDefinitionOutput) StopTimeout() pulumi.IntPtrOutp return o.ApplyT(func(v TaskDefinitionContainerDefinition) *int { return v.StopTimeout }).(pulumi.IntPtrOutput) } -// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker conainer create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. +// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker container create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. func (o TaskDefinitionContainerDefinitionOutput) SystemControls() TaskDefinitionSystemControlArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []TaskDefinitionSystemControl { return v.SystemControls }).(TaskDefinitionSystemControlArrayOutput) } @@ -6475,7 +6514,7 @@ func (o TaskDefinitionContainerDefinitionOutput) Ulimits() TaskDefinitionUlimitA return o.ApplyT(func(v TaskDefinitionContainerDefinition) []TaskDefinitionUlimit { return v.Ulimits }).(TaskDefinitionUlimitArrayOutput) } -// The user to use inside the container. This parameter maps to “User“ in the docker conainer create command and the “--user“ option to docker run. +// The user to use inside the container. This parameter maps to “User“ in the docker container create command and the “--user“ option to docker run. // // When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. // You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. @@ -6491,12 +6530,12 @@ func (o TaskDefinitionContainerDefinitionOutput) User() pulumi.StringPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *string { return v.User }).(pulumi.StringPtrOutput) } -// Data volumes to mount from another container. This parameter maps to “VolumesFrom“ in tthe docker conainer create command and the “--volumes-from“ option to docker run. +// Data volumes to mount from another container. This parameter maps to “VolumesFrom“ in tthe docker container create command and the “--volumes-from“ option to docker run. func (o TaskDefinitionContainerDefinitionOutput) VolumesFrom() TaskDefinitionVolumeFromArrayOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) []TaskDefinitionVolumeFrom { return v.VolumesFrom }).(TaskDefinitionVolumeFromArrayOutput) } -// The working directory to run commands inside the container in. This parameter maps to “WorkingDir“ in the docker conainer create command and the “--workdir“ option to docker run. +// The working directory to run commands inside the container in. This parameter maps to “WorkingDir“ in the docker container create command and the “--workdir“ option to docker run. func (o TaskDefinitionContainerDefinitionOutput) WorkingDirectory() pulumi.StringPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *string { return v.WorkingDirectory }).(pulumi.StringPtrOutput) } @@ -6774,11 +6813,11 @@ type TaskDefinitionDockerVolumeConfiguration struct { // If this value is ``true``, the Docker volume is created if it doesn't already exist. // This field is only used if the ``scope`` is ``shared``. Autoprovision *bool `pulumi:"autoprovision"` - // The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + // The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. Driver *string `pulumi:"driver"` // A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the docker create-volume command and the ``xxopt`` option to docker volume create. DriverOpts map[string]string `pulumi:"driverOpts"` - // Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + // Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. Labels map[string]string `pulumi:"labels"` // The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops. Scope *string `pulumi:"scope"` @@ -6800,11 +6839,11 @@ type TaskDefinitionDockerVolumeConfigurationArgs struct { // If this value is ``true``, the Docker volume is created if it doesn't already exist. // This field is only used if the ``scope`` is ``shared``. Autoprovision pulumi.BoolPtrInput `pulumi:"autoprovision"` - // The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + // The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. Driver pulumi.StringPtrInput `pulumi:"driver"` // A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the docker create-volume command and the ``xxopt`` option to docker volume create. DriverOpts pulumi.StringMapInput `pulumi:"driverOpts"` - // Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + // Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. Labels pulumi.StringMapInput `pulumi:"labels"` // The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops. Scope pulumi.StringPtrInput `pulumi:"scope"` @@ -6895,7 +6934,7 @@ func (o TaskDefinitionDockerVolumeConfigurationOutput) Autoprovision() pulumi.Bo return o.ApplyT(func(v TaskDefinitionDockerVolumeConfiguration) *bool { return v.Autoprovision }).(pulumi.BoolPtrOutput) } -// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use “docker plugin ls“ to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to “Driver“ in the docker conainer create command and the “xxdriver“ option to docker volume create. +// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use “docker plugin ls“ to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to “Driver“ in the docker container create command and the “xxdriver“ option to docker volume create. func (o TaskDefinitionDockerVolumeConfigurationOutput) Driver() pulumi.StringPtrOutput { return o.ApplyT(func(v TaskDefinitionDockerVolumeConfiguration) *string { return v.Driver }).(pulumi.StringPtrOutput) } @@ -6905,7 +6944,7 @@ func (o TaskDefinitionDockerVolumeConfigurationOutput) DriverOpts() pulumi.Strin return o.ApplyT(func(v TaskDefinitionDockerVolumeConfiguration) map[string]string { return v.DriverOpts }).(pulumi.StringMapOutput) } -// Custom metadata to add to your Docker volume. This parameter maps to “Labels“ in the docker conainer create command and the “xxlabel“ option to docker volume create. +// Custom metadata to add to your Docker volume. This parameter maps to “Labels“ in the docker container create command and the “xxlabel“ option to docker volume create. func (o TaskDefinitionDockerVolumeConfigurationOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v TaskDefinitionDockerVolumeConfiguration) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } @@ -6951,7 +6990,7 @@ func (o TaskDefinitionDockerVolumeConfigurationPtrOutput) Autoprovision() pulumi }).(pulumi.BoolPtrOutput) } -// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use “docker plugin ls“ to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to “Driver“ in the docker conainer create command and the “xxdriver“ option to docker volume create. +// The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use “docker plugin ls“ to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to “Driver“ in the docker container create command and the “xxdriver“ option to docker volume create. func (o TaskDefinitionDockerVolumeConfigurationPtrOutput) Driver() pulumi.StringPtrOutput { return o.ApplyT(func(v *TaskDefinitionDockerVolumeConfiguration) *string { if v == nil { @@ -6971,7 +7010,7 @@ func (o TaskDefinitionDockerVolumeConfigurationPtrOutput) DriverOpts() pulumi.St }).(pulumi.StringMapOutput) } -// Custom metadata to add to your Docker volume. This parameter maps to “Labels“ in the docker conainer create command and the “xxlabel“ option to docker volume create. +// Custom metadata to add to your Docker volume. This parameter maps to “Labels“ in the docker container create command and the “xxlabel“ option to docker volume create. func (o TaskDefinitionDockerVolumeConfigurationPtrOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *TaskDefinitionDockerVolumeConfiguration) map[string]string { if v == nil { @@ -7511,10 +7550,13 @@ func (o TaskDefinitionEphemeralStoragePtrOutput) SizeInGiB() pulumi.IntPtrOutput }).(pulumi.IntPtrOutput) } +// The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. +// +// For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. type TaskDefinitionFSxAuthorizationConfig struct { - // The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + // The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. CredentialsParameter string `pulumi:"credentialsParameter"` - // A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + // A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. Domain string `pulumi:"domain"` } @@ -7529,10 +7571,13 @@ type TaskDefinitionFSxAuthorizationConfigInput interface { ToTaskDefinitionFSxAuthorizationConfigOutputWithContext(context.Context) TaskDefinitionFSxAuthorizationConfigOutput } +// The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. +// +// For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. type TaskDefinitionFSxAuthorizationConfigArgs struct { - // The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + // The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. CredentialsParameter pulumi.StringInput `pulumi:"credentialsParameter"` - // A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + // A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. Domain pulumi.StringInput `pulumi:"domain"` } @@ -7589,6 +7634,9 @@ func (i *taskDefinitionFSxAuthorizationConfigPtrType) ToTaskDefinitionFSxAuthori return pulumi.ToOutputWithContext(ctx, i).(TaskDefinitionFSxAuthorizationConfigPtrOutput) } +// The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. +// +// For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. type TaskDefinitionFSxAuthorizationConfigOutput struct{ *pulumi.OutputState } func (TaskDefinitionFSxAuthorizationConfigOutput) ElementType() reflect.Type { @@ -7613,12 +7661,12 @@ func (o TaskDefinitionFSxAuthorizationConfigOutput) ToTaskDefinitionFSxAuthoriza }).(TaskDefinitionFSxAuthorizationConfigPtrOutput) } -// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. +// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. func (o TaskDefinitionFSxAuthorizationConfigOutput) CredentialsParameter() pulumi.StringOutput { return o.ApplyT(func(v TaskDefinitionFSxAuthorizationConfig) string { return v.CredentialsParameter }).(pulumi.StringOutput) } -// A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. +// A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. func (o TaskDefinitionFSxAuthorizationConfigOutput) Domain() pulumi.StringOutput { return o.ApplyT(func(v TaskDefinitionFSxAuthorizationConfig) string { return v.Domain }).(pulumi.StringOutput) } @@ -7647,7 +7695,7 @@ func (o TaskDefinitionFSxAuthorizationConfigPtrOutput) Elem() TaskDefinitionFSxA }).(TaskDefinitionFSxAuthorizationConfigOutput) } -// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. +// The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. func (o TaskDefinitionFSxAuthorizationConfigPtrOutput) CredentialsParameter() pulumi.StringPtrOutput { return o.ApplyT(func(v *TaskDefinitionFSxAuthorizationConfig) *string { if v == nil { @@ -7657,7 +7705,7 @@ func (o TaskDefinitionFSxAuthorizationConfigPtrOutput) CredentialsParameter() pu }).(pulumi.StringPtrOutput) } -// A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. +// A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. func (o TaskDefinitionFSxAuthorizationConfigPtrOutput) Domain() pulumi.StringPtrOutput { return o.ApplyT(func(v *TaskDefinitionFSxAuthorizationConfig) *string { if v == nil { @@ -8044,7 +8092,7 @@ type TaskDefinitionHealthCheck struct { // ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` // You don't include the double quotes and brackets when you use the AWS Management Console. // ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - // An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + // An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command Command []string `pulumi:"command"` // The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds. Interval *int `pulumi:"interval"` @@ -8082,7 +8130,7 @@ type TaskDefinitionHealthCheckArgs struct { // ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` // You don't include the double quotes and brackets when you use the AWS Management Console. // ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - // An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + // An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command Command pulumi.StringArrayInput `pulumi:"command"` // The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds. Interval pulumi.IntPtrInput `pulumi:"interval"` @@ -8186,7 +8234,7 @@ func (o TaskDefinitionHealthCheckOutput) ToTaskDefinitionHealthCheckPtrOutputWit // ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` // You don't include the double quotes and brackets when you use the AWS Management Console. // ``CMD-SHELL, curl -f http://localhost/ || exit 1`` -// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command +// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command func (o TaskDefinitionHealthCheckOutput) Command() pulumi.StringArrayOutput { return o.ApplyT(func(v TaskDefinitionHealthCheck) []string { return v.Command }).(pulumi.StringArrayOutput) } @@ -8243,7 +8291,7 @@ func (o TaskDefinitionHealthCheckPtrOutput) Elem() TaskDefinitionHealthCheckOutp // ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` // You don't include the double quotes and brackets when you use the AWS Management Console. // ``CMD-SHELL, curl -f http://localhost/ || exit 1`` -// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command +// An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command func (o TaskDefinitionHealthCheckPtrOutput) Command() pulumi.StringArrayOutput { return o.ApplyT(func(v *TaskDefinitionHealthCheck) []string { if v == nil { @@ -8661,11 +8709,11 @@ func (o TaskDefinitionInferenceAcceleratorArrayOutput) Index(i pulumi.IntInput) // The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page. type TaskDefinitionKernelCapabilities struct { - // The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + // The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. // Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` Add []string `pulumi:"add"` - // The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + // The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` Drop []string `pulumi:"drop"` } @@ -8683,11 +8731,11 @@ type TaskDefinitionKernelCapabilitiesInput interface { // The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page. type TaskDefinitionKernelCapabilitiesArgs struct { - // The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + // The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. // Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` Add pulumi.StringArrayInput `pulumi:"add"` - // The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + // The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` Drop pulumi.StringArrayInput `pulumi:"drop"` } @@ -8770,7 +8818,7 @@ func (o TaskDefinitionKernelCapabilitiesOutput) ToTaskDefinitionKernelCapabiliti }).(TaskDefinitionKernelCapabilitiesPtrOutput) } -// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to “CapAdd“ in the docker conainer create command and the “--cap-add“ option to docker run. +// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to “CapAdd“ in the docker container create command and the “--cap-add“ option to docker run. // // Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` @@ -8778,7 +8826,7 @@ func (o TaskDefinitionKernelCapabilitiesOutput) Add() pulumi.StringArrayOutput { return o.ApplyT(func(v TaskDefinitionKernelCapabilities) []string { return v.Add }).(pulumi.StringArrayOutput) } -// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to “CapDrop“ in the docker conainer create command and the “--cap-drop“ option to docker run. +// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to “CapDrop“ in the docker container create command and the “--cap-drop“ option to docker run. // // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` func (o TaskDefinitionKernelCapabilitiesOutput) Drop() pulumi.StringArrayOutput { @@ -8809,7 +8857,7 @@ func (o TaskDefinitionKernelCapabilitiesPtrOutput) Elem() TaskDefinitionKernelCa }).(TaskDefinitionKernelCapabilitiesOutput) } -// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to “CapAdd“ in the docker conainer create command and the “--cap-add“ option to docker run. +// The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to “CapAdd“ in the docker container create command and the “--cap-add“ option to docker run. // // Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` @@ -8822,7 +8870,7 @@ func (o TaskDefinitionKernelCapabilitiesPtrOutput) Add() pulumi.StringArrayOutpu }).(pulumi.StringArrayOutput) } -// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to “CapDrop“ in the docker conainer create command and the “--cap-drop“ option to docker run. +// The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to “CapDrop“ in the docker container create command and the “--cap-drop“ option to docker run. // // Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` func (o TaskDefinitionKernelCapabilitiesPtrOutput) Drop() pulumi.StringArrayOutput { @@ -8948,7 +8996,7 @@ type TaskDefinitionLinuxParameters struct { // The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. // For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later. Capabilities *TaskDefinitionKernelCapabilities `pulumi:"capabilities"` - // Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + // Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. // If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. Devices []TaskDefinitionDevice `pulumi:"devices"` // Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` @@ -8986,7 +9034,7 @@ type TaskDefinitionLinuxParametersArgs struct { // The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. // For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later. Capabilities TaskDefinitionKernelCapabilitiesPtrInput `pulumi:"capabilities"` - // Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + // Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. // If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. Devices TaskDefinitionDeviceArrayInput `pulumi:"devices"` // Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` @@ -9093,7 +9141,7 @@ func (o TaskDefinitionLinuxParametersOutput) Capabilities() TaskDefinitionKernel return o.ApplyT(func(v TaskDefinitionLinuxParameters) *TaskDefinitionKernelCapabilities { return v.Capabilities }).(TaskDefinitionKernelCapabilitiesPtrOutput) } -// Any host devices to expose to the container. This parameter maps to “Devices“ in tthe docker conainer create command and the “--device“ option to docker run. +// Any host devices to expose to the container. This parameter maps to “Devices“ in tthe docker container create command and the “--device“ option to docker run. // // If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. func (o TaskDefinitionLinuxParametersOutput) Devices() TaskDefinitionDeviceArrayOutput { @@ -9172,7 +9220,7 @@ func (o TaskDefinitionLinuxParametersPtrOutput) Capabilities() TaskDefinitionKer }).(TaskDefinitionKernelCapabilitiesPtrOutput) } -// Any host devices to expose to the container. This parameter maps to “Devices“ in tthe docker conainer create command and the “--device“ option to docker run. +// Any host devices to expose to the container. This parameter maps to “Devices“ in tthe docker container create command and the “--device“ option to docker run. // // If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. func (o TaskDefinitionLinuxParametersPtrOutput) Devices() TaskDefinitionDeviceArrayOutput { @@ -10412,12 +10460,13 @@ func (o TaskDefinitionResourceRequirementArrayOutput) Index(i pulumi.IntInput) T }).(TaskDefinitionResourceRequirementOutput) } +// You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. type TaskDefinitionRestartPolicy struct { // Specifies whether a restart policy is enabled for the container. Enabled *bool `pulumi:"enabled"` // A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes. IgnoredExitCodes []int `pulumi:"ignoredExitCodes"` - // A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + // A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. RestartAttemptPeriod *int `pulumi:"restartAttemptPeriod"` } @@ -10432,12 +10481,13 @@ type TaskDefinitionRestartPolicyInput interface { ToTaskDefinitionRestartPolicyOutputWithContext(context.Context) TaskDefinitionRestartPolicyOutput } +// You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. type TaskDefinitionRestartPolicyArgs struct { // Specifies whether a restart policy is enabled for the container. Enabled pulumi.BoolPtrInput `pulumi:"enabled"` // A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes. IgnoredExitCodes pulumi.IntArrayInput `pulumi:"ignoredExitCodes"` - // A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + // A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. RestartAttemptPeriod pulumi.IntPtrInput `pulumi:"restartAttemptPeriod"` } @@ -10494,6 +10544,7 @@ func (i *taskDefinitionRestartPolicyPtrType) ToTaskDefinitionRestartPolicyPtrOut return pulumi.ToOutputWithContext(ctx, i).(TaskDefinitionRestartPolicyPtrOutput) } +// You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. type TaskDefinitionRestartPolicyOutput struct{ *pulumi.OutputState } func (TaskDefinitionRestartPolicyOutput) ElementType() reflect.Type { @@ -10528,7 +10579,7 @@ func (o TaskDefinitionRestartPolicyOutput) IgnoredExitCodes() pulumi.IntArrayOut return o.ApplyT(func(v TaskDefinitionRestartPolicy) []int { return v.IgnoredExitCodes }).(pulumi.IntArrayOutput) } -// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. +// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every “restartAttemptPeriod“ seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum “restartAttemptPeriod“ of 60 seconds and a maximum “restartAttemptPeriod“ of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. func (o TaskDefinitionRestartPolicyOutput) RestartAttemptPeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v TaskDefinitionRestartPolicy) *int { return v.RestartAttemptPeriod }).(pulumi.IntPtrOutput) } @@ -10577,7 +10628,7 @@ func (o TaskDefinitionRestartPolicyPtrOutput) IgnoredExitCodes() pulumi.IntArray }).(pulumi.IntArrayOutput) } -// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. +// A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every “restartAttemptPeriod“ seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum “restartAttemptPeriod“ of 60 seconds and a maximum “restartAttemptPeriod“ of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. func (o TaskDefinitionRestartPolicyPtrOutput) RestartAttemptPeriod() pulumi.IntPtrOutput { return o.ApplyT(func(v *TaskDefinitionRestartPolicy) *int { if v == nil { @@ -10892,7 +10943,7 @@ func (o TaskDefinitionSecretArrayOutput) Index(i pulumi.IntInput) TaskDefinition }).(TaskDefinitionSecretOutput) } -// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker conainer create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. +// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker container create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. // // We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: // + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. @@ -10925,7 +10976,7 @@ type TaskDefinitionSystemControlInput interface { ToTaskDefinitionSystemControlOutputWithContext(context.Context) TaskDefinitionSystemControlOutput } -// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker conainer create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. +// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker container create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. // // We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: // + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. @@ -10984,7 +11035,7 @@ func (i TaskDefinitionSystemControlArray) ToTaskDefinitionSystemControlArrayOutp return pulumi.ToOutputWithContext(ctx, i).(TaskDefinitionSystemControlArrayOutput) } -// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker conainer create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. +// A list of namespaced kernel parameters to set in the container. This parameter maps to “Sysctls“ in tthe docker container create command and the “--sysctl“ option to docker run. For example, you can configure “net.ipv4.tcp_keepalive_time“ setting to maintain longer lived connections. // // We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: // + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. diff --git a/sdk/go/aws/ecs/service.go b/sdk/go/aws/ecs/service.go index 0b02284431..46f0b1e001 100644 --- a/sdk/go/aws/ecs/service.go +++ b/sdk/go/aws/ecs/service.go @@ -14,8 +14,8 @@ import ( // The “AWS::ECS::Service“ resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. // -// The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. -// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. +// The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. +// Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. type Service struct { pulumi.CustomResourceState @@ -57,6 +57,7 @@ type Service struct { // The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*. PlatformVersion pulumi.StringPtrOutput `pulumi:"platformVersion"` // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + // You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. PropagateTags ServicePropagateTagsPtrOutput `pulumi:"propagateTags"` // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter. @@ -183,6 +184,7 @@ type serviceArgs struct { // The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*. PlatformVersion *string `pulumi:"platformVersion"` // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + // You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. PropagateTags *ServicePropagateTags `pulumi:"propagateTags"` // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter. @@ -260,6 +262,7 @@ type ServiceArgs struct { // The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*. PlatformVersion pulumi.StringPtrInput // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + // You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. PropagateTags ServicePropagateTagsPtrInput // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter. @@ -424,6 +427,7 @@ func (o ServiceOutput) PlatformVersion() pulumi.StringPtrOutput { // Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. // +// You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. // The default is ``NONE``. func (o ServiceOutput) PropagateTags() ServicePropagateTagsPtrOutput { return o.ApplyT(func(v *Service) ServicePropagateTagsPtrOutput { return v.PropagateTags }).(ServicePropagateTagsPtrOutput) diff --git a/sdk/go/aws/elasticloadbalancingv2/getListener.go b/sdk/go/aws/elasticloadbalancingv2/getListener.go index 5d562df3ec..c09be0a049 100644 --- a/sdk/go/aws/elasticloadbalancingv2/getListener.go +++ b/sdk/go/aws/elasticloadbalancingv2/getListener.go @@ -37,7 +37,8 @@ type LookupListenerResult struct { // To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html). DefaultActions []ListenerAction `pulumi:"defaultActions"` // The Amazon Resource Name (ARN) of the listener. - ListenerArn *string `pulumi:"listenerArn"` + ListenerArn *string `pulumi:"listenerArn"` + ListenerAttributes []ListenerAttribute `pulumi:"listenerAttributes"` // The mutual authentication configuration information. MutualAuthentication *ListenerMutualAuthentication `pulumi:"mutualAuthentication"` // The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer. @@ -110,6 +111,10 @@ func (o LookupListenerResultOutput) ListenerArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupListenerResult) *string { return v.ListenerArn }).(pulumi.StringPtrOutput) } +func (o LookupListenerResultOutput) ListenerAttributes() ListenerAttributeArrayOutput { + return o.ApplyT(func(v LookupListenerResult) []ListenerAttribute { return v.ListenerAttributes }).(ListenerAttributeArrayOutput) +} + // The mutual authentication configuration information. func (o LookupListenerResultOutput) MutualAuthentication() ListenerMutualAuthenticationPtrOutput { return o.ApplyT(func(v LookupListenerResult) *ListenerMutualAuthentication { return v.MutualAuthentication }).(ListenerMutualAuthenticationPtrOutput) diff --git a/sdk/go/aws/elasticloadbalancingv2/listener.go b/sdk/go/aws/elasticloadbalancingv2/listener.go index d4a1460066..08fde125cd 100644 --- a/sdk/go/aws/elasticloadbalancingv2/listener.go +++ b/sdk/go/aws/elasticloadbalancingv2/listener.go @@ -25,7 +25,8 @@ type Listener struct { // To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html). DefaultActions ListenerActionArrayOutput `pulumi:"defaultActions"` // The Amazon Resource Name (ARN) of the listener. - ListenerArn pulumi.StringOutput `pulumi:"listenerArn"` + ListenerArn pulumi.StringOutput `pulumi:"listenerArn"` + ListenerAttributes ListenerAttributeArrayOutput `pulumi:"listenerAttributes"` // The Amazon Resource Name (ARN) of the load balancer. LoadBalancerArn pulumi.StringOutput `pulumi:"loadBalancerArn"` // The mutual authentication configuration information. @@ -97,7 +98,8 @@ type listenerArgs struct { Certificates []ListenerCertificate `pulumi:"certificates"` // The actions for the default rule. You cannot define a condition for a default rule. // To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html). - DefaultActions []ListenerAction `pulumi:"defaultActions"` + DefaultActions []ListenerAction `pulumi:"defaultActions"` + ListenerAttributes []ListenerAttribute `pulumi:"listenerAttributes"` // The Amazon Resource Name (ARN) of the load balancer. LoadBalancerArn string `pulumi:"loadBalancerArn"` // The mutual authentication configuration information. @@ -121,7 +123,8 @@ type ListenerArgs struct { Certificates ListenerCertificateArrayInput // The actions for the default rule. You cannot define a condition for a default rule. // To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html). - DefaultActions ListenerActionArrayInput + DefaultActions ListenerActionArrayInput + ListenerAttributes ListenerAttributeArrayInput // The Amazon Resource Name (ARN) of the load balancer. LoadBalancerArn pulumi.StringInput // The mutual authentication configuration information. @@ -197,6 +200,10 @@ func (o ListenerOutput) ListenerArn() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.ListenerArn }).(pulumi.StringOutput) } +func (o ListenerOutput) ListenerAttributes() ListenerAttributeArrayOutput { + return o.ApplyT(func(v *Listener) ListenerAttributeArrayOutput { return v.ListenerAttributes }).(ListenerAttributeArrayOutput) +} + // The Amazon Resource Name (ARN) of the load balancer. func (o ListenerOutput) LoadBalancerArn() pulumi.StringOutput { return o.ApplyT(func(v *Listener) pulumi.StringOutput { return v.LoadBalancerArn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go b/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go index 4d93ef49d1..a191cca605 100644 --- a/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go +++ b/sdk/go/aws/elasticloadbalancingv2/pulumiTypes.go @@ -176,6 +176,106 @@ func (o ListenerActionArrayOutput) Index(i pulumi.IntInput) ListenerActionOutput }).(ListenerActionOutput) } +type ListenerAttribute struct { + Key *string `pulumi:"key"` + Value *string `pulumi:"value"` +} + +// ListenerAttributeInput is an input type that accepts ListenerAttributeArgs and ListenerAttributeOutput values. +// You can construct a concrete instance of `ListenerAttributeInput` via: +// +// ListenerAttributeArgs{...} +type ListenerAttributeInput interface { + pulumi.Input + + ToListenerAttributeOutput() ListenerAttributeOutput + ToListenerAttributeOutputWithContext(context.Context) ListenerAttributeOutput +} + +type ListenerAttributeArgs struct { + Key pulumi.StringPtrInput `pulumi:"key"` + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (ListenerAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerAttribute)(nil)).Elem() +} + +func (i ListenerAttributeArgs) ToListenerAttributeOutput() ListenerAttributeOutput { + return i.ToListenerAttributeOutputWithContext(context.Background()) +} + +func (i ListenerAttributeArgs) ToListenerAttributeOutputWithContext(ctx context.Context) ListenerAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerAttributeOutput) +} + +// ListenerAttributeArrayInput is an input type that accepts ListenerAttributeArray and ListenerAttributeArrayOutput values. +// You can construct a concrete instance of `ListenerAttributeArrayInput` via: +// +// ListenerAttributeArray{ ListenerAttributeArgs{...} } +type ListenerAttributeArrayInput interface { + pulumi.Input + + ToListenerAttributeArrayOutput() ListenerAttributeArrayOutput + ToListenerAttributeArrayOutputWithContext(context.Context) ListenerAttributeArrayOutput +} + +type ListenerAttributeArray []ListenerAttributeInput + +func (ListenerAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ListenerAttribute)(nil)).Elem() +} + +func (i ListenerAttributeArray) ToListenerAttributeArrayOutput() ListenerAttributeArrayOutput { + return i.ToListenerAttributeArrayOutputWithContext(context.Background()) +} + +func (i ListenerAttributeArray) ToListenerAttributeArrayOutputWithContext(ctx context.Context) ListenerAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerAttributeArrayOutput) +} + +type ListenerAttributeOutput struct{ *pulumi.OutputState } + +func (ListenerAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerAttribute)(nil)).Elem() +} + +func (o ListenerAttributeOutput) ToListenerAttributeOutput() ListenerAttributeOutput { + return o +} + +func (o ListenerAttributeOutput) ToListenerAttributeOutputWithContext(ctx context.Context) ListenerAttributeOutput { + return o +} + +func (o ListenerAttributeOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerAttribute) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +func (o ListenerAttributeOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerAttribute) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type ListenerAttributeArrayOutput struct{ *pulumi.OutputState } + +func (ListenerAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ListenerAttribute)(nil)).Elem() +} + +func (o ListenerAttributeArrayOutput) ToListenerAttributeArrayOutput() ListenerAttributeArrayOutput { + return o +} + +func (o ListenerAttributeArrayOutput) ToListenerAttributeArrayOutputWithContext(ctx context.Context) ListenerAttributeArrayOutput { + return o +} + +func (o ListenerAttributeArrayOutput) Index(i pulumi.IntInput) ListenerAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ListenerAttribute { + return vs[0].([]ListenerAttribute)[vs[1].(int)] + }).(ListenerAttributeOutput) +} + // Specifies information required when integrating with Amazon Cognito to authenticate users. type ListenerAuthenticateCognitoConfig struct { // The query parameters (up to 10) to include in the redirect request to the authorization endpoint. @@ -5866,6 +5966,8 @@ type TrustStoreTag struct { func init() { pulumi.RegisterInputType(reflect.TypeOf((*ListenerActionInput)(nil)).Elem(), ListenerActionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerActionArrayInput)(nil)).Elem(), ListenerActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerAttributeInput)(nil)).Elem(), ListenerAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerAttributeArrayInput)(nil)).Elem(), ListenerAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerAuthenticateCognitoConfigInput)(nil)).Elem(), ListenerAuthenticateCognitoConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerAuthenticateCognitoConfigPtrInput)(nil)).Elem(), ListenerAuthenticateCognitoConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerAuthenticateOidcConfigInput)(nil)).Elem(), ListenerAuthenticateOidcConfigArgs{}) @@ -5930,6 +6032,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TrustStoreRevocationRevocationContentArrayInput)(nil)).Elem(), TrustStoreRevocationRevocationContentArray{}) pulumi.RegisterOutputType(ListenerActionOutput{}) pulumi.RegisterOutputType(ListenerActionArrayOutput{}) + pulumi.RegisterOutputType(ListenerAttributeOutput{}) + pulumi.RegisterOutputType(ListenerAttributeArrayOutput{}) pulumi.RegisterOutputType(ListenerAuthenticateCognitoConfigOutput{}) pulumi.RegisterOutputType(ListenerAuthenticateCognitoConfigPtrOutput{}) pulumi.RegisterOutputType(ListenerAuthenticateOidcConfigOutput{}) diff --git a/sdk/go/aws/gamelift/fleet.go b/sdk/go/aws/gamelift/fleet.go index 0eeb7dba08..69b2d90ce8 100644 --- a/sdk/go/aws/gamelift/fleet.go +++ b/sdk/go/aws/gamelift/fleet.go @@ -25,7 +25,7 @@ type Fleet struct { CertificateConfiguration FleetCertificateConfigurationPtrOutput `pulumi:"certificateConfiguration"` // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType FleetComputeTypePtrOutput `pulumi:"computeType"` - // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -151,7 +151,7 @@ type fleetArgs struct { CertificateConfiguration *FleetCertificateConfiguration `pulumi:"certificateConfiguration"` // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType *FleetComputeType `pulumi:"computeType"` - // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -219,7 +219,7 @@ type FleetArgs struct { CertificateConfiguration FleetCertificateConfigurationPtrInput // ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. ComputeType FleetComputeTypePtrInput - // *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + // *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // @@ -337,7 +337,7 @@ func (o FleetOutput) ComputeType() FleetComputeTypePtrOutput { return o.ApplyT(func(v *Fleet) FleetComputeTypePtrOutput { return v.ComputeType }).(FleetComputeTypePtrOutput) } -// *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* +// *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* // // Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . // diff --git a/sdk/go/aws/gamelift/pulumiTypes.go b/sdk/go/aws/gamelift/pulumiTypes.go index e3ce84955f..3a3c0b9efe 100644 --- a/sdk/go/aws/gamelift/pulumiTypes.go +++ b/sdk/go/aws/gamelift/pulumiTypes.go @@ -2551,7 +2551,7 @@ func (o FleetLocationCapacityPtrOutput) MinSize() pulumi.IntPtrOutput { type FleetLocationConfiguration struct { // An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. Location string `pulumi:"location"` - // Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + // Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. // // *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) LocationCapacity *FleetLocationCapacity `pulumi:"locationCapacity"` @@ -2572,7 +2572,7 @@ type FleetLocationConfigurationInput interface { type FleetLocationConfigurationArgs struct { // An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. Location pulumi.StringInput `pulumi:"location"` - // Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + // Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. // // *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) LocationCapacity FleetLocationCapacityPtrInput `pulumi:"locationCapacity"` @@ -2635,7 +2635,7 @@ func (o FleetLocationConfigurationOutput) Location() pulumi.StringOutput { return o.ApplyT(func(v FleetLocationConfiguration) string { return v.Location }).(pulumi.StringOutput) } -// Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. +// Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. // // *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) func (o FleetLocationConfigurationOutput) LocationCapacity() FleetLocationCapacityPtrOutput { diff --git a/sdk/go/aws/globalaccelerator/pulumiTypes.go b/sdk/go/aws/globalaccelerator/pulumiTypes.go index a17e733e3e..0852256986 100644 --- a/sdk/go/aws/globalaccelerator/pulumiTypes.go +++ b/sdk/go/aws/globalaccelerator/pulumiTypes.go @@ -23,10 +23,14 @@ type AcceleratorTag struct { // ARN of resource to share. type CrossAccountAttachmentResource struct { + // An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + // + // For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + Cidr *string `pulumi:"cidr"` // The endpoint ID for the endpoint that is specified as a AWS resource. // // An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. - EndpointId string `pulumi:"endpointId"` + EndpointId *string `pulumi:"endpointId"` // The AWS Region where a shared endpoint resource is located. Region *string `pulumi:"region"` } @@ -44,10 +48,14 @@ type CrossAccountAttachmentResourceInput interface { // ARN of resource to share. type CrossAccountAttachmentResourceArgs struct { + // An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + // + // For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + Cidr pulumi.StringPtrInput `pulumi:"cidr"` // The endpoint ID for the endpoint that is specified as a AWS resource. // // An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. - EndpointId pulumi.StringInput `pulumi:"endpointId"` + EndpointId pulumi.StringPtrInput `pulumi:"endpointId"` // The AWS Region where a shared endpoint resource is located. Region pulumi.StringPtrInput `pulumi:"region"` } @@ -104,11 +112,18 @@ func (o CrossAccountAttachmentResourceOutput) ToCrossAccountAttachmentResourceOu return o } +// An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator +// +// For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. +func (o CrossAccountAttachmentResourceOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v CrossAccountAttachmentResource) *string { return v.Cidr }).(pulumi.StringPtrOutput) +} + // The endpoint ID for the endpoint that is specified as a AWS resource. // // An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. -func (o CrossAccountAttachmentResourceOutput) EndpointId() pulumi.StringOutput { - return o.ApplyT(func(v CrossAccountAttachmentResource) string { return v.EndpointId }).(pulumi.StringOutput) +func (o CrossAccountAttachmentResourceOutput) EndpointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CrossAccountAttachmentResource) *string { return v.EndpointId }).(pulumi.StringPtrOutput) } // The AWS Region where a shared endpoint resource is located. diff --git a/sdk/go/aws/mediaconnect/flow.go b/sdk/go/aws/mediaconnect/flow.go index ed27dd0059..870d29ae89 100644 --- a/sdk/go/aws/mediaconnect/flow.go +++ b/sdk/go/aws/mediaconnect/flow.go @@ -34,6 +34,8 @@ type Flow struct { Source FlowSourceTypeOutput `pulumi:"source"` // The source failover config of the flow. SourceFailoverConfig FlowFailoverConfigPtrOutput `pulumi:"sourceFailoverConfig"` + // The source monitoring config of the flow. + SourceMonitoringConfig FlowSourceMonitoringConfigPtrOutput `pulumi:"sourceMonitoringConfig"` // The VPC interfaces that you added to this flow. VpcInterfaces FlowVpcInterfaceTypeArrayOutput `pulumi:"vpcInterfaces"` } @@ -99,6 +101,8 @@ type flowArgs struct { Source FlowSourceType `pulumi:"source"` // The source failover config of the flow. SourceFailoverConfig *FlowFailoverConfig `pulumi:"sourceFailoverConfig"` + // The source monitoring config of the flow. + SourceMonitoringConfig *FlowSourceMonitoringConfig `pulumi:"sourceMonitoringConfig"` // The VPC interfaces that you added to this flow. VpcInterfaces []FlowVpcInterfaceType `pulumi:"vpcInterfaces"` } @@ -117,6 +121,8 @@ type FlowArgs struct { Source FlowSourceTypeInput // The source failover config of the flow. SourceFailoverConfig FlowFailoverConfigPtrInput + // The source monitoring config of the flow. + SourceMonitoringConfig FlowSourceMonitoringConfigPtrInput // The VPC interfaces that you added to this flow. VpcInterfaces FlowVpcInterfaceTypeArrayInput } @@ -203,6 +209,11 @@ func (o FlowOutput) SourceFailoverConfig() FlowFailoverConfigPtrOutput { return o.ApplyT(func(v *Flow) FlowFailoverConfigPtrOutput { return v.SourceFailoverConfig }).(FlowFailoverConfigPtrOutput) } +// The source monitoring config of the flow. +func (o FlowOutput) SourceMonitoringConfig() FlowSourceMonitoringConfigPtrOutput { + return o.ApplyT(func(v *Flow) FlowSourceMonitoringConfigPtrOutput { return v.SourceMonitoringConfig }).(FlowSourceMonitoringConfigPtrOutput) +} + // The VPC interfaces that you added to this flow. func (o FlowOutput) VpcInterfaces() FlowVpcInterfaceTypeArrayOutput { return o.ApplyT(func(v *Flow) FlowVpcInterfaceTypeArrayOutput { return v.VpcInterfaces }).(FlowVpcInterfaceTypeArrayOutput) diff --git a/sdk/go/aws/mediaconnect/getFlow.go b/sdk/go/aws/mediaconnect/getFlow.go index 1c76df9280..b57c66ede4 100644 --- a/sdk/go/aws/mediaconnect/getFlow.go +++ b/sdk/go/aws/mediaconnect/getFlow.go @@ -42,6 +42,8 @@ type LookupFlowResult struct { Source *FlowSourceType `pulumi:"source"` // The source failover config of the flow. SourceFailoverConfig *FlowFailoverConfig `pulumi:"sourceFailoverConfig"` + // The source monitoring config of the flow. + SourceMonitoringConfig *FlowSourceMonitoringConfig `pulumi:"sourceMonitoringConfig"` // The VPC interfaces that you added to this flow. VpcInterfaces []FlowVpcInterfaceType `pulumi:"vpcInterfaces"` } @@ -117,6 +119,11 @@ func (o LookupFlowResultOutput) SourceFailoverConfig() FlowFailoverConfigPtrOutp return o.ApplyT(func(v LookupFlowResult) *FlowFailoverConfig { return v.SourceFailoverConfig }).(FlowFailoverConfigPtrOutput) } +// The source monitoring config of the flow. +func (o LookupFlowResultOutput) SourceMonitoringConfig() FlowSourceMonitoringConfigPtrOutput { + return o.ApplyT(func(v LookupFlowResult) *FlowSourceMonitoringConfig { return v.SourceMonitoringConfig }).(FlowSourceMonitoringConfigPtrOutput) +} + // The VPC interfaces that you added to this flow. func (o LookupFlowResultOutput) VpcInterfaces() FlowVpcInterfaceTypeArrayOutput { return o.ApplyT(func(v LookupFlowResult) []FlowVpcInterfaceType { return v.VpcInterfaces }).(FlowVpcInterfaceTypeArrayOutput) diff --git a/sdk/go/aws/mediaconnect/pulumiEnums.go b/sdk/go/aws/mediaconnect/pulumiEnums.go index 1d60c7fa36..5b75502194 100644 --- a/sdk/go/aws/mediaconnect/pulumiEnums.go +++ b/sdk/go/aws/mediaconnect/pulumiEnums.go @@ -4839,6 +4839,172 @@ func (in *flowSourceEncryptionKeyTypePtr) ToFlowSourceEncryptionKeyTypePtrOutput return pulumi.ToOutputWithContext(ctx, in).(FlowSourceEncryptionKeyTypePtrOutput) } +// The state of thumbnail monitoring. +type FlowSourceMonitoringConfigThumbnailState string + +const ( + FlowSourceMonitoringConfigThumbnailStateEnabled = FlowSourceMonitoringConfigThumbnailState("ENABLED") + FlowSourceMonitoringConfigThumbnailStateDisabled = FlowSourceMonitoringConfigThumbnailState("DISABLED") +) + +func (FlowSourceMonitoringConfigThumbnailState) ElementType() reflect.Type { + return reflect.TypeOf((*FlowSourceMonitoringConfigThumbnailState)(nil)).Elem() +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToFlowSourceMonitoringConfigThumbnailStateOutput() FlowSourceMonitoringConfigThumbnailStateOutput { + return pulumi.ToOutput(e).(FlowSourceMonitoringConfigThumbnailStateOutput) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToFlowSourceMonitoringConfigThumbnailStateOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigThumbnailStateOutput { + return pulumi.ToOutputWithContext(ctx, e).(FlowSourceMonitoringConfigThumbnailStateOutput) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToFlowSourceMonitoringConfigThumbnailStatePtrOutput() FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return e.ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(context.Background()) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return FlowSourceMonitoringConfigThumbnailState(e).ToFlowSourceMonitoringConfigThumbnailStateOutputWithContext(ctx).ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(ctx) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e FlowSourceMonitoringConfigThumbnailState) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type FlowSourceMonitoringConfigThumbnailStateOutput struct{ *pulumi.OutputState } + +func (FlowSourceMonitoringConfigThumbnailStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FlowSourceMonitoringConfigThumbnailState)(nil)).Elem() +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToFlowSourceMonitoringConfigThumbnailStateOutput() FlowSourceMonitoringConfigThumbnailStateOutput { + return o +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToFlowSourceMonitoringConfigThumbnailStateOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigThumbnailStateOutput { + return o +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToFlowSourceMonitoringConfigThumbnailStatePtrOutput() FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return o.ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(context.Background()) +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FlowSourceMonitoringConfigThumbnailState) *FlowSourceMonitoringConfigThumbnailState { + return &v + }).(FlowSourceMonitoringConfigThumbnailStatePtrOutput) +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FlowSourceMonitoringConfigThumbnailState) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FlowSourceMonitoringConfigThumbnailStateOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FlowSourceMonitoringConfigThumbnailState) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type FlowSourceMonitoringConfigThumbnailStatePtrOutput struct{ *pulumi.OutputState } + +func (FlowSourceMonitoringConfigThumbnailStatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FlowSourceMonitoringConfigThumbnailState)(nil)).Elem() +} + +func (o FlowSourceMonitoringConfigThumbnailStatePtrOutput) ToFlowSourceMonitoringConfigThumbnailStatePtrOutput() FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return o +} + +func (o FlowSourceMonitoringConfigThumbnailStatePtrOutput) ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return o +} + +func (o FlowSourceMonitoringConfigThumbnailStatePtrOutput) Elem() FlowSourceMonitoringConfigThumbnailStateOutput { + return o.ApplyT(func(v *FlowSourceMonitoringConfigThumbnailState) FlowSourceMonitoringConfigThumbnailState { + if v != nil { + return *v + } + var ret FlowSourceMonitoringConfigThumbnailState + return ret + }).(FlowSourceMonitoringConfigThumbnailStateOutput) +} + +func (o FlowSourceMonitoringConfigThumbnailStatePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FlowSourceMonitoringConfigThumbnailStatePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *FlowSourceMonitoringConfigThumbnailState) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// FlowSourceMonitoringConfigThumbnailStateInput is an input type that accepts values of the FlowSourceMonitoringConfigThumbnailState enum +// A concrete instance of `FlowSourceMonitoringConfigThumbnailStateInput` can be one of the following: +// +// FlowSourceMonitoringConfigThumbnailStateEnabled +// FlowSourceMonitoringConfigThumbnailStateDisabled +type FlowSourceMonitoringConfigThumbnailStateInput interface { + pulumi.Input + + ToFlowSourceMonitoringConfigThumbnailStateOutput() FlowSourceMonitoringConfigThumbnailStateOutput + ToFlowSourceMonitoringConfigThumbnailStateOutputWithContext(context.Context) FlowSourceMonitoringConfigThumbnailStateOutput +} + +var flowSourceMonitoringConfigThumbnailStatePtrType = reflect.TypeOf((**FlowSourceMonitoringConfigThumbnailState)(nil)).Elem() + +type FlowSourceMonitoringConfigThumbnailStatePtrInput interface { + pulumi.Input + + ToFlowSourceMonitoringConfigThumbnailStatePtrOutput() FlowSourceMonitoringConfigThumbnailStatePtrOutput + ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(context.Context) FlowSourceMonitoringConfigThumbnailStatePtrOutput +} + +type flowSourceMonitoringConfigThumbnailStatePtr string + +func FlowSourceMonitoringConfigThumbnailStatePtr(v string) FlowSourceMonitoringConfigThumbnailStatePtrInput { + return (*flowSourceMonitoringConfigThumbnailStatePtr)(&v) +} + +func (*flowSourceMonitoringConfigThumbnailStatePtr) ElementType() reflect.Type { + return flowSourceMonitoringConfigThumbnailStatePtrType +} + +func (in *flowSourceMonitoringConfigThumbnailStatePtr) ToFlowSourceMonitoringConfigThumbnailStatePtrOutput() FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return pulumi.ToOutput(in).(FlowSourceMonitoringConfigThumbnailStatePtrOutput) +} + +func (in *flowSourceMonitoringConfigThumbnailStatePtr) ToFlowSourceMonitoringConfigThumbnailStatePtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(FlowSourceMonitoringConfigThumbnailStatePtrOutput) +} + // The protocol that is used by the source. type FlowSourceProtocol string @@ -5337,6 +5503,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceEncryptionAlgorithmPtrInput)(nil)).Elem(), FlowSourceEncryptionAlgorithm("aes128")) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceEncryptionKeyTypeInput)(nil)).Elem(), FlowSourceEncryptionKeyType("speke")) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceEncryptionKeyTypePtrInput)(nil)).Elem(), FlowSourceEncryptionKeyType("speke")) + pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceMonitoringConfigThumbnailStateInput)(nil)).Elem(), FlowSourceMonitoringConfigThumbnailState("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceMonitoringConfigThumbnailStatePtrInput)(nil)).Elem(), FlowSourceMonitoringConfigThumbnailState("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceProtocolInput)(nil)).Elem(), FlowSourceProtocol("zixi-push")) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceProtocolPtrInput)(nil)).Elem(), FlowSourceProtocol("zixi-push")) pulumi.RegisterInputType(reflect.TypeOf((*FlowVpcInterfaceNetworkInterfaceTypeInput)(nil)).Elem(), FlowVpcInterfaceNetworkInterfaceType("ena")) @@ -5399,6 +5567,8 @@ func init() { pulumi.RegisterOutputType(FlowSourceEncryptionAlgorithmPtrOutput{}) pulumi.RegisterOutputType(FlowSourceEncryptionKeyTypeOutput{}) pulumi.RegisterOutputType(FlowSourceEncryptionKeyTypePtrOutput{}) + pulumi.RegisterOutputType(FlowSourceMonitoringConfigThumbnailStateOutput{}) + pulumi.RegisterOutputType(FlowSourceMonitoringConfigThumbnailStatePtrOutput{}) pulumi.RegisterOutputType(FlowSourceProtocolOutput{}) pulumi.RegisterOutputType(FlowSourceProtocolPtrOutput{}) pulumi.RegisterOutputType(FlowVpcInterfaceNetworkInterfaceTypeOutput{}) diff --git a/sdk/go/aws/mediaconnect/pulumiTypes.go b/sdk/go/aws/mediaconnect/pulumiTypes.go index fb21b1726b..bd264bab3f 100644 --- a/sdk/go/aws/mediaconnect/pulumiTypes.go +++ b/sdk/go/aws/mediaconnect/pulumiTypes.go @@ -6111,6 +6111,146 @@ func (o FlowSourceGatewayBridgeSourcePtrOutput) VpcInterfaceAttachment() FlowSou }).(FlowSourceVpcInterfaceAttachmentPtrOutput) } +// The settings for source monitoring. +type FlowSourceMonitoringConfig struct { + // The state of thumbnail monitoring. + ThumbnailState FlowSourceMonitoringConfigThumbnailState `pulumi:"thumbnailState"` +} + +// FlowSourceMonitoringConfigInput is an input type that accepts FlowSourceMonitoringConfigArgs and FlowSourceMonitoringConfigOutput values. +// You can construct a concrete instance of `FlowSourceMonitoringConfigInput` via: +// +// FlowSourceMonitoringConfigArgs{...} +type FlowSourceMonitoringConfigInput interface { + pulumi.Input + + ToFlowSourceMonitoringConfigOutput() FlowSourceMonitoringConfigOutput + ToFlowSourceMonitoringConfigOutputWithContext(context.Context) FlowSourceMonitoringConfigOutput +} + +// The settings for source monitoring. +type FlowSourceMonitoringConfigArgs struct { + // The state of thumbnail monitoring. + ThumbnailState FlowSourceMonitoringConfigThumbnailStateInput `pulumi:"thumbnailState"` +} + +func (FlowSourceMonitoringConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FlowSourceMonitoringConfig)(nil)).Elem() +} + +func (i FlowSourceMonitoringConfigArgs) ToFlowSourceMonitoringConfigOutput() FlowSourceMonitoringConfigOutput { + return i.ToFlowSourceMonitoringConfigOutputWithContext(context.Background()) +} + +func (i FlowSourceMonitoringConfigArgs) ToFlowSourceMonitoringConfigOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowSourceMonitoringConfigOutput) +} + +func (i FlowSourceMonitoringConfigArgs) ToFlowSourceMonitoringConfigPtrOutput() FlowSourceMonitoringConfigPtrOutput { + return i.ToFlowSourceMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i FlowSourceMonitoringConfigArgs) ToFlowSourceMonitoringConfigPtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowSourceMonitoringConfigOutput).ToFlowSourceMonitoringConfigPtrOutputWithContext(ctx) +} + +// FlowSourceMonitoringConfigPtrInput is an input type that accepts FlowSourceMonitoringConfigArgs, FlowSourceMonitoringConfigPtr and FlowSourceMonitoringConfigPtrOutput values. +// You can construct a concrete instance of `FlowSourceMonitoringConfigPtrInput` via: +// +// FlowSourceMonitoringConfigArgs{...} +// +// or: +// +// nil +type FlowSourceMonitoringConfigPtrInput interface { + pulumi.Input + + ToFlowSourceMonitoringConfigPtrOutput() FlowSourceMonitoringConfigPtrOutput + ToFlowSourceMonitoringConfigPtrOutputWithContext(context.Context) FlowSourceMonitoringConfigPtrOutput +} + +type flowSourceMonitoringConfigPtrType FlowSourceMonitoringConfigArgs + +func FlowSourceMonitoringConfigPtr(v *FlowSourceMonitoringConfigArgs) FlowSourceMonitoringConfigPtrInput { + return (*flowSourceMonitoringConfigPtrType)(v) +} + +func (*flowSourceMonitoringConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FlowSourceMonitoringConfig)(nil)).Elem() +} + +func (i *flowSourceMonitoringConfigPtrType) ToFlowSourceMonitoringConfigPtrOutput() FlowSourceMonitoringConfigPtrOutput { + return i.ToFlowSourceMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i *flowSourceMonitoringConfigPtrType) ToFlowSourceMonitoringConfigPtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowSourceMonitoringConfigPtrOutput) +} + +// The settings for source monitoring. +type FlowSourceMonitoringConfigOutput struct{ *pulumi.OutputState } + +func (FlowSourceMonitoringConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FlowSourceMonitoringConfig)(nil)).Elem() +} + +func (o FlowSourceMonitoringConfigOutput) ToFlowSourceMonitoringConfigOutput() FlowSourceMonitoringConfigOutput { + return o +} + +func (o FlowSourceMonitoringConfigOutput) ToFlowSourceMonitoringConfigOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigOutput { + return o +} + +func (o FlowSourceMonitoringConfigOutput) ToFlowSourceMonitoringConfigPtrOutput() FlowSourceMonitoringConfigPtrOutput { + return o.ToFlowSourceMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (o FlowSourceMonitoringConfigOutput) ToFlowSourceMonitoringConfigPtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FlowSourceMonitoringConfig) *FlowSourceMonitoringConfig { + return &v + }).(FlowSourceMonitoringConfigPtrOutput) +} + +// The state of thumbnail monitoring. +func (o FlowSourceMonitoringConfigOutput) ThumbnailState() FlowSourceMonitoringConfigThumbnailStateOutput { + return o.ApplyT(func(v FlowSourceMonitoringConfig) FlowSourceMonitoringConfigThumbnailState { return v.ThumbnailState }).(FlowSourceMonitoringConfigThumbnailStateOutput) +} + +type FlowSourceMonitoringConfigPtrOutput struct{ *pulumi.OutputState } + +func (FlowSourceMonitoringConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FlowSourceMonitoringConfig)(nil)).Elem() +} + +func (o FlowSourceMonitoringConfigPtrOutput) ToFlowSourceMonitoringConfigPtrOutput() FlowSourceMonitoringConfigPtrOutput { + return o +} + +func (o FlowSourceMonitoringConfigPtrOutput) ToFlowSourceMonitoringConfigPtrOutputWithContext(ctx context.Context) FlowSourceMonitoringConfigPtrOutput { + return o +} + +func (o FlowSourceMonitoringConfigPtrOutput) Elem() FlowSourceMonitoringConfigOutput { + return o.ApplyT(func(v *FlowSourceMonitoringConfig) FlowSourceMonitoringConfig { + if v != nil { + return *v + } + var ret FlowSourceMonitoringConfig + return ret + }).(FlowSourceMonitoringConfigOutput) +} + +// The state of thumbnail monitoring. +func (o FlowSourceMonitoringConfigPtrOutput) ThumbnailState() FlowSourceMonitoringConfigThumbnailStatePtrOutput { + return o.ApplyT(func(v *FlowSourceMonitoringConfig) *FlowSourceMonitoringConfigThumbnailState { + if v == nil { + return nil + } + return &v.ThumbnailState + }).(FlowSourceMonitoringConfigThumbnailStatePtrOutput) +} + // The settings for attaching a VPC interface to an resource. type FlowSourceVpcInterfaceAttachment struct { // The name of the VPC interface to use for this resource. @@ -6712,6 +6852,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceEncryptionPtrInput)(nil)).Elem(), FlowSourceEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceGatewayBridgeSourceInput)(nil)).Elem(), FlowSourceGatewayBridgeSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceGatewayBridgeSourcePtrInput)(nil)).Elem(), FlowSourceGatewayBridgeSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceMonitoringConfigInput)(nil)).Elem(), FlowSourceMonitoringConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceMonitoringConfigPtrInput)(nil)).Elem(), FlowSourceMonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceVpcInterfaceAttachmentInput)(nil)).Elem(), FlowSourceVpcInterfaceAttachmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowSourceVpcInterfaceAttachmentPtrInput)(nil)).Elem(), FlowSourceVpcInterfaceAttachmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowVpcInterfaceTypeInput)(nil)).Elem(), FlowVpcInterfaceTypeArgs{}) @@ -6788,6 +6930,8 @@ func init() { pulumi.RegisterOutputType(FlowSourceEncryptionPtrOutput{}) pulumi.RegisterOutputType(FlowSourceGatewayBridgeSourceOutput{}) pulumi.RegisterOutputType(FlowSourceGatewayBridgeSourcePtrOutput{}) + pulumi.RegisterOutputType(FlowSourceMonitoringConfigOutput{}) + pulumi.RegisterOutputType(FlowSourceMonitoringConfigPtrOutput{}) pulumi.RegisterOutputType(FlowSourceVpcInterfaceAttachmentOutput{}) pulumi.RegisterOutputType(FlowSourceVpcInterfaceAttachmentPtrOutput{}) pulumi.RegisterOutputType(FlowVpcInterfaceTypeOutput{}) diff --git a/sdk/go/aws/medialive/channelPlacementGroup.go b/sdk/go/aws/medialive/channelPlacementGroup.go new file mode 100644 index 0000000000..35b6d9a589 --- /dev/null +++ b/sdk/go/aws/medialive/channelPlacementGroup.go @@ -0,0 +1,181 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type +type ChannelPlacementGroup struct { + pulumi.CustomResourceState + + // The ARN of the channel placement group. + Arn pulumi.StringOutput `pulumi:"arn"` + // Unique internal identifier. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // List of channel IDs added to the channel placement group. + Channels pulumi.StringArrayOutput `pulumi:"channels"` + // The ID of the cluster the node is on. + ClusterId pulumi.StringPtrOutput `pulumi:"clusterId"` + // The name of the channel placement group. + Name pulumi.StringPtrOutput `pulumi:"name"` + // List of nodes added to the channel placement group + Nodes pulumi.StringArrayOutput `pulumi:"nodes"` + State ChannelPlacementGroupStateEnumOutput `pulumi:"state"` + // A collection of key-value pairs. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewChannelPlacementGroup registers a new resource with the given unique name, arguments, and options. +func NewChannelPlacementGroup(ctx *pulumi.Context, + name string, args *ChannelPlacementGroupArgs, opts ...pulumi.ResourceOption) (*ChannelPlacementGroup, error) { + if args == nil { + args = &ChannelPlacementGroupArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "clusterId", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ChannelPlacementGroup + err := ctx.RegisterResource("aws-native:medialive:ChannelPlacementGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetChannelPlacementGroup gets an existing ChannelPlacementGroup 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 GetChannelPlacementGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ChannelPlacementGroupState, opts ...pulumi.ResourceOption) (*ChannelPlacementGroup, error) { + var resource ChannelPlacementGroup + err := ctx.ReadResource("aws-native:medialive:ChannelPlacementGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ChannelPlacementGroup resources. +type channelPlacementGroupState struct { +} + +type ChannelPlacementGroupState struct { +} + +func (ChannelPlacementGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*channelPlacementGroupState)(nil)).Elem() +} + +type channelPlacementGroupArgs struct { + // The ID of the cluster the node is on. + ClusterId *string `pulumi:"clusterId"` + // The name of the channel placement group. + Name *string `pulumi:"name"` + // List of nodes added to the channel placement group + Nodes []string `pulumi:"nodes"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a ChannelPlacementGroup resource. +type ChannelPlacementGroupArgs struct { + // The ID of the cluster the node is on. + ClusterId pulumi.StringPtrInput + // The name of the channel placement group. + Name pulumi.StringPtrInput + // List of nodes added to the channel placement group + Nodes pulumi.StringArrayInput + // A collection of key-value pairs. + Tags aws.TagArrayInput +} + +func (ChannelPlacementGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*channelPlacementGroupArgs)(nil)).Elem() +} + +type ChannelPlacementGroupInput interface { + pulumi.Input + + ToChannelPlacementGroupOutput() ChannelPlacementGroupOutput + ToChannelPlacementGroupOutputWithContext(ctx context.Context) ChannelPlacementGroupOutput +} + +func (*ChannelPlacementGroup) ElementType() reflect.Type { + return reflect.TypeOf((**ChannelPlacementGroup)(nil)).Elem() +} + +func (i *ChannelPlacementGroup) ToChannelPlacementGroupOutput() ChannelPlacementGroupOutput { + return i.ToChannelPlacementGroupOutputWithContext(context.Background()) +} + +func (i *ChannelPlacementGroup) ToChannelPlacementGroupOutputWithContext(ctx context.Context) ChannelPlacementGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ChannelPlacementGroupOutput) +} + +type ChannelPlacementGroupOutput struct{ *pulumi.OutputState } + +func (ChannelPlacementGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ChannelPlacementGroup)(nil)).Elem() +} + +func (o ChannelPlacementGroupOutput) ToChannelPlacementGroupOutput() ChannelPlacementGroupOutput { + return o +} + +func (o ChannelPlacementGroupOutput) ToChannelPlacementGroupOutputWithContext(ctx context.Context) ChannelPlacementGroupOutput { + return o +} + +// The ARN of the channel placement group. +func (o ChannelPlacementGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Unique internal identifier. +func (o ChannelPlacementGroupOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// List of channel IDs added to the channel placement group. +func (o ChannelPlacementGroupOutput) Channels() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) pulumi.StringArrayOutput { return v.Channels }).(pulumi.StringArrayOutput) +} + +// The ID of the cluster the node is on. +func (o ChannelPlacementGroupOutput) ClusterId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) pulumi.StringPtrOutput { return v.ClusterId }).(pulumi.StringPtrOutput) +} + +// The name of the channel placement group. +func (o ChannelPlacementGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +// List of nodes added to the channel placement group +func (o ChannelPlacementGroupOutput) Nodes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) pulumi.StringArrayOutput { return v.Nodes }).(pulumi.StringArrayOutput) +} + +func (o ChannelPlacementGroupOutput) State() ChannelPlacementGroupStateEnumOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) ChannelPlacementGroupStateEnumOutput { return v.State }).(ChannelPlacementGroupStateEnumOutput) +} + +// A collection of key-value pairs. +func (o ChannelPlacementGroupOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *ChannelPlacementGroup) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ChannelPlacementGroupInput)(nil)).Elem(), &ChannelPlacementGroup{}) + pulumi.RegisterOutputType(ChannelPlacementGroupOutput{}) +} diff --git a/sdk/go/aws/medialive/cloudWatchAlarmTemplate.go b/sdk/go/aws/medialive/cloudWatchAlarmTemplate.go new file mode 100644 index 0000000000..2a78e6e9ea --- /dev/null +++ b/sdk/go/aws/medialive/cloudWatchAlarmTemplate.go @@ -0,0 +1,303 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type +type CloudWatchAlarmTemplate struct { + pulumi.CustomResourceState + + // A cloudwatch alarm template's ARN (Amazon Resource Name) + Arn pulumi.StringOutput `pulumi:"arn"` + // A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + AwsId pulumi.StringOutput `pulumi:"awsId"` + ComparisonOperator CloudWatchAlarmTemplateComparisonOperatorOutput `pulumi:"comparisonOperator"` + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + DatapointsToAlarm pulumi.Float64PtrOutput `pulumi:"datapointsToAlarm"` + // A resource's optional description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The number of periods over which data is compared to the specified threshold. + EvaluationPeriods pulumi.Float64Output `pulumi:"evaluationPeriods"` + // A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + GroupId pulumi.StringOutput `pulumi:"groupId"` + // A cloudwatch alarm template group's identifier. Can be either be its id or current name. + GroupIdentifier pulumi.StringOutput `pulumi:"groupIdentifier"` + Identifier pulumi.StringOutput `pulumi:"identifier"` + // The name of the metric associated with the alarm. Must be compatible with targetResourceType. + MetricName pulumi.StringOutput `pulumi:"metricName"` + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringOutput `pulumi:"name"` + // The period, in seconds, over which the specified statistic is applied. + Period pulumi.Float64Output `pulumi:"period"` + Statistic CloudWatchAlarmTemplateStatisticOutput `pulumi:"statistic"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + TargetResourceType CloudWatchAlarmTemplateTargetResourceTypeOutput `pulumi:"targetResourceType"` + // The threshold value to compare with the specified statistic. + Threshold pulumi.Float64Output `pulumi:"threshold"` + TreatMissingData CloudWatchAlarmTemplateTreatMissingDataOutput `pulumi:"treatMissingData"` +} + +// NewCloudWatchAlarmTemplate registers a new resource with the given unique name, arguments, and options. +func NewCloudWatchAlarmTemplate(ctx *pulumi.Context, + name string, args *CloudWatchAlarmTemplateArgs, opts ...pulumi.ResourceOption) (*CloudWatchAlarmTemplate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ComparisonOperator == nil { + return nil, errors.New("invalid value for required argument 'ComparisonOperator'") + } + if args.EvaluationPeriods == nil { + return nil, errors.New("invalid value for required argument 'EvaluationPeriods'") + } + if args.GroupIdentifier == nil { + return nil, errors.New("invalid value for required argument 'GroupIdentifier'") + } + if args.MetricName == nil { + return nil, errors.New("invalid value for required argument 'MetricName'") + } + if args.Period == nil { + return nil, errors.New("invalid value for required argument 'Period'") + } + if args.Statistic == nil { + return nil, errors.New("invalid value for required argument 'Statistic'") + } + if args.TargetResourceType == nil { + return nil, errors.New("invalid value for required argument 'TargetResourceType'") + } + if args.Threshold == nil { + return nil, errors.New("invalid value for required argument 'Threshold'") + } + if args.TreatMissingData == nil { + return nil, errors.New("invalid value for required argument 'TreatMissingData'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "tags.*", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource CloudWatchAlarmTemplate + err := ctx.RegisterResource("aws-native:medialive:CloudWatchAlarmTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCloudWatchAlarmTemplate gets an existing CloudWatchAlarmTemplate 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 GetCloudWatchAlarmTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CloudWatchAlarmTemplateState, opts ...pulumi.ResourceOption) (*CloudWatchAlarmTemplate, error) { + var resource CloudWatchAlarmTemplate + err := ctx.ReadResource("aws-native:medialive:CloudWatchAlarmTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CloudWatchAlarmTemplate resources. +type cloudWatchAlarmTemplateState struct { +} + +type CloudWatchAlarmTemplateState struct { +} + +func (CloudWatchAlarmTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*cloudWatchAlarmTemplateState)(nil)).Elem() +} + +type cloudWatchAlarmTemplateArgs struct { + ComparisonOperator CloudWatchAlarmTemplateComparisonOperator `pulumi:"comparisonOperator"` + // The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + DatapointsToAlarm *float64 `pulumi:"datapointsToAlarm"` + // A resource's optional description. + Description *string `pulumi:"description"` + // The number of periods over which data is compared to the specified threshold. + EvaluationPeriods float64 `pulumi:"evaluationPeriods"` + // A cloudwatch alarm template group's identifier. Can be either be its id or current name. + GroupIdentifier string `pulumi:"groupIdentifier"` + // The name of the metric associated with the alarm. Must be compatible with targetResourceType. + MetricName string `pulumi:"metricName"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + // The period, in seconds, over which the specified statistic is applied. + Period float64 `pulumi:"period"` + Statistic CloudWatchAlarmTemplateStatistic `pulumi:"statistic"` + Tags map[string]string `pulumi:"tags"` + TargetResourceType CloudWatchAlarmTemplateTargetResourceType `pulumi:"targetResourceType"` + // The threshold value to compare with the specified statistic. + Threshold float64 `pulumi:"threshold"` + TreatMissingData CloudWatchAlarmTemplateTreatMissingData `pulumi:"treatMissingData"` +} + +// The set of arguments for constructing a CloudWatchAlarmTemplate resource. +type CloudWatchAlarmTemplateArgs struct { + ComparisonOperator CloudWatchAlarmTemplateComparisonOperatorInput + // The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + DatapointsToAlarm pulumi.Float64PtrInput + // A resource's optional description. + Description pulumi.StringPtrInput + // The number of periods over which data is compared to the specified threshold. + EvaluationPeriods pulumi.Float64Input + // A cloudwatch alarm template group's identifier. Can be either be its id or current name. + GroupIdentifier pulumi.StringInput + // The name of the metric associated with the alarm. Must be compatible with targetResourceType. + MetricName pulumi.StringInput + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringPtrInput + // The period, in seconds, over which the specified statistic is applied. + Period pulumi.Float64Input + Statistic CloudWatchAlarmTemplateStatisticInput + Tags pulumi.StringMapInput + TargetResourceType CloudWatchAlarmTemplateTargetResourceTypeInput + // The threshold value to compare with the specified statistic. + Threshold pulumi.Float64Input + TreatMissingData CloudWatchAlarmTemplateTreatMissingDataInput +} + +func (CloudWatchAlarmTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cloudWatchAlarmTemplateArgs)(nil)).Elem() +} + +type CloudWatchAlarmTemplateInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateOutput() CloudWatchAlarmTemplateOutput + ToCloudWatchAlarmTemplateOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateOutput +} + +func (*CloudWatchAlarmTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplate)(nil)).Elem() +} + +func (i *CloudWatchAlarmTemplate) ToCloudWatchAlarmTemplateOutput() CloudWatchAlarmTemplateOutput { + return i.ToCloudWatchAlarmTemplateOutputWithContext(context.Background()) +} + +func (i *CloudWatchAlarmTemplate) ToCloudWatchAlarmTemplateOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudWatchAlarmTemplateOutput) +} + +type CloudWatchAlarmTemplateOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplate)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateOutput) ToCloudWatchAlarmTemplateOutput() CloudWatchAlarmTemplateOutput { + return o +} + +func (o CloudWatchAlarmTemplateOutput) ToCloudWatchAlarmTemplateOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateOutput { + return o +} + +// A cloudwatch alarm template's ARN (Amazon Resource Name) +func (o CloudWatchAlarmTemplateOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` +func (o CloudWatchAlarmTemplateOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateOutput) ComparisonOperator() CloudWatchAlarmTemplateComparisonOperatorOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) CloudWatchAlarmTemplateComparisonOperatorOutput { + return v.ComparisonOperator + }).(CloudWatchAlarmTemplateComparisonOperatorOutput) +} + +func (o CloudWatchAlarmTemplateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The number of datapoints within the evaluation period that must be breaching to trigger the alarm. +func (o CloudWatchAlarmTemplateOutput) DatapointsToAlarm() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.Float64PtrOutput { return v.DatapointsToAlarm }).(pulumi.Float64PtrOutput) +} + +// A resource's optional description. +func (o CloudWatchAlarmTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The number of periods over which data is compared to the specified threshold. +func (o CloudWatchAlarmTemplateOutput) EvaluationPeriods() pulumi.Float64Output { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.Float64Output { return v.EvaluationPeriods }).(pulumi.Float64Output) +} + +// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` +func (o CloudWatchAlarmTemplateOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// A cloudwatch alarm template group's identifier. Can be either be its id or current name. +func (o CloudWatchAlarmTemplateOutput) GroupIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.GroupIdentifier }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) +} + +// The name of the metric associated with the alarm. Must be compatible with targetResourceType. +func (o CloudWatchAlarmTemplateOutput) MetricName() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.MetricName }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o CloudWatchAlarmTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The period, in seconds, over which the specified statistic is applied. +func (o CloudWatchAlarmTemplateOutput) Period() pulumi.Float64Output { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.Float64Output { return v.Period }).(pulumi.Float64Output) +} + +func (o CloudWatchAlarmTemplateOutput) Statistic() CloudWatchAlarmTemplateStatisticOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) CloudWatchAlarmTemplateStatisticOutput { return v.Statistic }).(CloudWatchAlarmTemplateStatisticOutput) +} + +func (o CloudWatchAlarmTemplateOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o CloudWatchAlarmTemplateOutput) TargetResourceType() CloudWatchAlarmTemplateTargetResourceTypeOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) CloudWatchAlarmTemplateTargetResourceTypeOutput { + return v.TargetResourceType + }).(CloudWatchAlarmTemplateTargetResourceTypeOutput) +} + +// The threshold value to compare with the specified statistic. +func (o CloudWatchAlarmTemplateOutput) Threshold() pulumi.Float64Output { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) pulumi.Float64Output { return v.Threshold }).(pulumi.Float64Output) +} + +func (o CloudWatchAlarmTemplateOutput) TreatMissingData() CloudWatchAlarmTemplateTreatMissingDataOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplate) CloudWatchAlarmTemplateTreatMissingDataOutput { + return v.TreatMissingData + }).(CloudWatchAlarmTemplateTreatMissingDataOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateInput)(nil)).Elem(), &CloudWatchAlarmTemplate{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateOutput{}) +} diff --git a/sdk/go/aws/medialive/cloudWatchAlarmTemplateGroup.go b/sdk/go/aws/medialive/cloudWatchAlarmTemplateGroup.go new file mode 100644 index 0000000000..6300cfa8fc --- /dev/null +++ b/sdk/go/aws/medialive/cloudWatchAlarmTemplateGroup.go @@ -0,0 +1,173 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type +type CloudWatchAlarmTemplateGroup struct { + pulumi.CustomResourceState + + // A cloudwatch alarm template group's ARN (Amazon Resource Name) + Arn pulumi.StringOutput `pulumi:"arn"` + // A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The date and time of resource creation. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A resource's optional description. + Description pulumi.StringPtrOutput `pulumi:"description"` + Identifier pulumi.StringOutput `pulumi:"identifier"` + // The date and time of latest resource modification. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringOutput `pulumi:"name"` + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewCloudWatchAlarmTemplateGroup registers a new resource with the given unique name, arguments, and options. +func NewCloudWatchAlarmTemplateGroup(ctx *pulumi.Context, + name string, args *CloudWatchAlarmTemplateGroupArgs, opts ...pulumi.ResourceOption) (*CloudWatchAlarmTemplateGroup, error) { + if args == nil { + args = &CloudWatchAlarmTemplateGroupArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "name", + "tags.*", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource CloudWatchAlarmTemplateGroup + err := ctx.RegisterResource("aws-native:medialive:CloudWatchAlarmTemplateGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCloudWatchAlarmTemplateGroup gets an existing CloudWatchAlarmTemplateGroup 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 GetCloudWatchAlarmTemplateGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CloudWatchAlarmTemplateGroupState, opts ...pulumi.ResourceOption) (*CloudWatchAlarmTemplateGroup, error) { + var resource CloudWatchAlarmTemplateGroup + err := ctx.ReadResource("aws-native:medialive:CloudWatchAlarmTemplateGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CloudWatchAlarmTemplateGroup resources. +type cloudWatchAlarmTemplateGroupState struct { +} + +type CloudWatchAlarmTemplateGroupState struct { +} + +func (CloudWatchAlarmTemplateGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*cloudWatchAlarmTemplateGroupState)(nil)).Elem() +} + +type cloudWatchAlarmTemplateGroupArgs struct { + // A resource's optional description. + Description *string `pulumi:"description"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a CloudWatchAlarmTemplateGroup resource. +type CloudWatchAlarmTemplateGroupArgs struct { + // A resource's optional description. + Description pulumi.StringPtrInput + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringPtrInput + Tags pulumi.StringMapInput +} + +func (CloudWatchAlarmTemplateGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*cloudWatchAlarmTemplateGroupArgs)(nil)).Elem() +} + +type CloudWatchAlarmTemplateGroupInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateGroupOutput() CloudWatchAlarmTemplateGroupOutput + ToCloudWatchAlarmTemplateGroupOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateGroupOutput +} + +func (*CloudWatchAlarmTemplateGroup) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplateGroup)(nil)).Elem() +} + +func (i *CloudWatchAlarmTemplateGroup) ToCloudWatchAlarmTemplateGroupOutput() CloudWatchAlarmTemplateGroupOutput { + return i.ToCloudWatchAlarmTemplateGroupOutputWithContext(context.Background()) +} + +func (i *CloudWatchAlarmTemplateGroup) ToCloudWatchAlarmTemplateGroupOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudWatchAlarmTemplateGroupOutput) +} + +type CloudWatchAlarmTemplateGroupOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplateGroup)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateGroupOutput) ToCloudWatchAlarmTemplateGroupOutput() CloudWatchAlarmTemplateGroupOutput { + return o +} + +func (o CloudWatchAlarmTemplateGroupOutput) ToCloudWatchAlarmTemplateGroupOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateGroupOutput { + return o +} + +// A cloudwatch alarm template group's ARN (Amazon Resource Name) +func (o CloudWatchAlarmTemplateGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` +func (o CloudWatchAlarmTemplateGroupOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The date and time of resource creation. +func (o CloudWatchAlarmTemplateGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A resource's optional description. +func (o CloudWatchAlarmTemplateGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o CloudWatchAlarmTemplateGroupOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) +} + +// The date and time of latest resource modification. +func (o CloudWatchAlarmTemplateGroupOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o CloudWatchAlarmTemplateGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateGroupOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateGroupInput)(nil)).Elem(), &CloudWatchAlarmTemplateGroup{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateGroupOutput{}) +} diff --git a/sdk/go/aws/medialive/cluster.go b/sdk/go/aws/medialive/cluster.go new file mode 100644 index 0000000000..f0907e7c8c --- /dev/null +++ b/sdk/go/aws/medialive/cluster.go @@ -0,0 +1,185 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::Cluster Resource Type +type Cluster struct { + pulumi.CustomResourceState + + // The ARN of the Cluster. + Arn pulumi.StringOutput `pulumi:"arn"` + // The unique ID of the Cluster. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The MediaLive Channels that are currently running on Nodes in this Cluster. + ChannelIds pulumi.StringArrayOutput `pulumi:"channelIds"` + ClusterType ClusterTypePtrOutput `pulumi:"clusterType"` + // The IAM role your nodes will use. + InstanceRoleArn pulumi.StringPtrOutput `pulumi:"instanceRoleArn"` + // The user-specified name of the Cluster to be created. + Name pulumi.StringPtrOutput `pulumi:"name"` + NetworkSettings ClusterNetworkSettingsPtrOutput `pulumi:"networkSettings"` + State ClusterStateEnumOutput `pulumi:"state"` + // A collection of key-value pairs. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewCluster registers a new resource with the given unique name, arguments, and options. +func NewCluster(ctx *pulumi.Context, + name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error) { + if args == nil { + args = &ClusterArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "clusterType", + "instanceRoleArn", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Cluster + err := ctx.RegisterResource("aws-native:medialive:Cluster", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCluster gets an existing Cluster 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 GetCluster(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error) { + var resource Cluster + err := ctx.ReadResource("aws-native:medialive:Cluster", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Cluster resources. +type clusterState struct { +} + +type ClusterState struct { +} + +func (ClusterState) ElementType() reflect.Type { + return reflect.TypeOf((*clusterState)(nil)).Elem() +} + +type clusterArgs struct { + ClusterType *ClusterType `pulumi:"clusterType"` + // The IAM role your nodes will use. + InstanceRoleArn *string `pulumi:"instanceRoleArn"` + // The user-specified name of the Cluster to be created. + Name *string `pulumi:"name"` + NetworkSettings *ClusterNetworkSettings `pulumi:"networkSettings"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a Cluster resource. +type ClusterArgs struct { + ClusterType ClusterTypePtrInput + // The IAM role your nodes will use. + InstanceRoleArn pulumi.StringPtrInput + // The user-specified name of the Cluster to be created. + Name pulumi.StringPtrInput + NetworkSettings ClusterNetworkSettingsPtrInput + // A collection of key-value pairs. + Tags aws.TagArrayInput +} + +func (ClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*clusterArgs)(nil)).Elem() +} + +type ClusterInput interface { + pulumi.Input + + ToClusterOutput() ClusterOutput + ToClusterOutputWithContext(ctx context.Context) ClusterOutput +} + +func (*Cluster) ElementType() reflect.Type { + return reflect.TypeOf((**Cluster)(nil)).Elem() +} + +func (i *Cluster) ToClusterOutput() ClusterOutput { + return i.ToClusterOutputWithContext(context.Background()) +} + +func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOutput) +} + +type ClusterOutput struct{ *pulumi.OutputState } + +func (ClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Cluster)(nil)).Elem() +} + +func (o ClusterOutput) ToClusterOutput() ClusterOutput { + return o +} + +func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { + return o +} + +// The ARN of the Cluster. +func (o ClusterOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The unique ID of the Cluster. +func (o ClusterOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The MediaLive Channels that are currently running on Nodes in this Cluster. +func (o ClusterOutput) ChannelIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringArrayOutput { return v.ChannelIds }).(pulumi.StringArrayOutput) +} + +func (o ClusterOutput) ClusterType() ClusterTypePtrOutput { + return o.ApplyT(func(v *Cluster) ClusterTypePtrOutput { return v.ClusterType }).(ClusterTypePtrOutput) +} + +// The IAM role your nodes will use. +func (o ClusterOutput) InstanceRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.InstanceRoleArn }).(pulumi.StringPtrOutput) +} + +// The user-specified name of the Cluster to be created. +func (o ClusterOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o ClusterOutput) NetworkSettings() ClusterNetworkSettingsPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterNetworkSettingsPtrOutput { return v.NetworkSettings }).(ClusterNetworkSettingsPtrOutput) +} + +func (o ClusterOutput) State() ClusterStateEnumOutput { + return o.ApplyT(func(v *Cluster) ClusterStateEnumOutput { return v.State }).(ClusterStateEnumOutput) +} + +// A collection of key-value pairs. +func (o ClusterOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *Cluster) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInput)(nil)).Elem(), &Cluster{}) + pulumi.RegisterOutputType(ClusterOutput{}) +} diff --git a/sdk/go/aws/medialive/eventBridgeRuleTemplate.go b/sdk/go/aws/medialive/eventBridgeRuleTemplate.go new file mode 100644 index 0000000000..c6736b48c5 --- /dev/null +++ b/sdk/go/aws/medialive/eventBridgeRuleTemplate.go @@ -0,0 +1,217 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type +type EventBridgeRuleTemplate struct { + pulumi.CustomResourceState + + // An eventbridge rule template's ARN (Amazon Resource Name) + Arn pulumi.StringOutput `pulumi:"arn"` + // An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + AwsId pulumi.StringOutput `pulumi:"awsId"` + // Placeholder documentation for __timestampIso8601 + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A resource's optional description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + EventTargets EventBridgeRuleTemplateTargetArrayOutput `pulumi:"eventTargets"` + EventType EventBridgeRuleTemplateEventTypeOutput `pulumi:"eventType"` + // An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + GroupId pulumi.StringOutput `pulumi:"groupId"` + // An eventbridge rule template group's identifier. Can be either be its id or current name. + GroupIdentifier pulumi.StringOutput `pulumi:"groupIdentifier"` + // Placeholder documentation for __string + Identifier pulumi.StringOutput `pulumi:"identifier"` + // Placeholder documentation for __timestampIso8601 + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringOutput `pulumi:"name"` + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewEventBridgeRuleTemplate registers a new resource with the given unique name, arguments, and options. +func NewEventBridgeRuleTemplate(ctx *pulumi.Context, + name string, args *EventBridgeRuleTemplateArgs, opts ...pulumi.ResourceOption) (*EventBridgeRuleTemplate, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EventType == nil { + return nil, errors.New("invalid value for required argument 'EventType'") + } + if args.GroupIdentifier == nil { + return nil, errors.New("invalid value for required argument 'GroupIdentifier'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "tags.*", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EventBridgeRuleTemplate + err := ctx.RegisterResource("aws-native:medialive:EventBridgeRuleTemplate", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEventBridgeRuleTemplate gets an existing EventBridgeRuleTemplate 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 GetEventBridgeRuleTemplate(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EventBridgeRuleTemplateState, opts ...pulumi.ResourceOption) (*EventBridgeRuleTemplate, error) { + var resource EventBridgeRuleTemplate + err := ctx.ReadResource("aws-native:medialive:EventBridgeRuleTemplate", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EventBridgeRuleTemplate resources. +type eventBridgeRuleTemplateState struct { +} + +type EventBridgeRuleTemplateState struct { +} + +func (EventBridgeRuleTemplateState) ElementType() reflect.Type { + return reflect.TypeOf((*eventBridgeRuleTemplateState)(nil)).Elem() +} + +type eventBridgeRuleTemplateArgs struct { + // A resource's optional description. + Description *string `pulumi:"description"` + // Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + EventTargets []EventBridgeRuleTemplateTarget `pulumi:"eventTargets"` + EventType EventBridgeRuleTemplateEventType `pulumi:"eventType"` + // An eventbridge rule template group's identifier. Can be either be its id or current name. + GroupIdentifier string `pulumi:"groupIdentifier"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a EventBridgeRuleTemplate resource. +type EventBridgeRuleTemplateArgs struct { + // A resource's optional description. + Description pulumi.StringPtrInput + // Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + EventTargets EventBridgeRuleTemplateTargetArrayInput + EventType EventBridgeRuleTemplateEventTypeInput + // An eventbridge rule template group's identifier. Can be either be its id or current name. + GroupIdentifier pulumi.StringInput + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringPtrInput + Tags pulumi.StringMapInput +} + +func (EventBridgeRuleTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*eventBridgeRuleTemplateArgs)(nil)).Elem() +} + +type EventBridgeRuleTemplateInput interface { + pulumi.Input + + ToEventBridgeRuleTemplateOutput() EventBridgeRuleTemplateOutput + ToEventBridgeRuleTemplateOutputWithContext(ctx context.Context) EventBridgeRuleTemplateOutput +} + +func (*EventBridgeRuleTemplate) ElementType() reflect.Type { + return reflect.TypeOf((**EventBridgeRuleTemplate)(nil)).Elem() +} + +func (i *EventBridgeRuleTemplate) ToEventBridgeRuleTemplateOutput() EventBridgeRuleTemplateOutput { + return i.ToEventBridgeRuleTemplateOutputWithContext(context.Background()) +} + +func (i *EventBridgeRuleTemplate) ToEventBridgeRuleTemplateOutputWithContext(ctx context.Context) EventBridgeRuleTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventBridgeRuleTemplateOutput) +} + +type EventBridgeRuleTemplateOutput struct{ *pulumi.OutputState } + +func (EventBridgeRuleTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventBridgeRuleTemplate)(nil)).Elem() +} + +func (o EventBridgeRuleTemplateOutput) ToEventBridgeRuleTemplateOutput() EventBridgeRuleTemplateOutput { + return o +} + +func (o EventBridgeRuleTemplateOutput) ToEventBridgeRuleTemplateOutputWithContext(ctx context.Context) EventBridgeRuleTemplateOutput { + return o +} + +// An eventbridge rule template's ARN (Amazon Resource Name) +func (o EventBridgeRuleTemplateOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` +func (o EventBridgeRuleTemplateOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// Placeholder documentation for __timestampIso8601 +func (o EventBridgeRuleTemplateOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A resource's optional description. +func (o EventBridgeRuleTemplateOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Placeholder documentation for __listOfEventBridgeRuleTemplateTarget +func (o EventBridgeRuleTemplateOutput) EventTargets() EventBridgeRuleTemplateTargetArrayOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) EventBridgeRuleTemplateTargetArrayOutput { return v.EventTargets }).(EventBridgeRuleTemplateTargetArrayOutput) +} + +func (o EventBridgeRuleTemplateOutput) EventType() EventBridgeRuleTemplateEventTypeOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) EventBridgeRuleTemplateEventTypeOutput { return v.EventType }).(EventBridgeRuleTemplateEventTypeOutput) +} + +// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` +func (o EventBridgeRuleTemplateOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) +} + +// An eventbridge rule template group's identifier. Can be either be its id or current name. +func (o EventBridgeRuleTemplateOutput) GroupIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.GroupIdentifier }).(pulumi.StringOutput) +} + +// Placeholder documentation for __string +func (o EventBridgeRuleTemplateOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) +} + +// Placeholder documentation for __timestampIso8601 +func (o EventBridgeRuleTemplateOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o EventBridgeRuleTemplateOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o EventBridgeRuleTemplateOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplate) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EventBridgeRuleTemplateInput)(nil)).Elem(), &EventBridgeRuleTemplate{}) + pulumi.RegisterOutputType(EventBridgeRuleTemplateOutput{}) +} diff --git a/sdk/go/aws/medialive/eventBridgeRuleTemplateGroup.go b/sdk/go/aws/medialive/eventBridgeRuleTemplateGroup.go new file mode 100644 index 0000000000..57922cc864 --- /dev/null +++ b/sdk/go/aws/medialive/eventBridgeRuleTemplateGroup.go @@ -0,0 +1,173 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type +type EventBridgeRuleTemplateGroup struct { + pulumi.CustomResourceState + + // An eventbridge rule template group's ARN (Amazon Resource Name) + Arn pulumi.StringOutput `pulumi:"arn"` + // An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The date and time of resource creation. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A resource's optional description. + Description pulumi.StringPtrOutput `pulumi:"description"` + Identifier pulumi.StringOutput `pulumi:"identifier"` + // The date and time of latest resource modification. + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringOutput `pulumi:"name"` + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewEventBridgeRuleTemplateGroup registers a new resource with the given unique name, arguments, and options. +func NewEventBridgeRuleTemplateGroup(ctx *pulumi.Context, + name string, args *EventBridgeRuleTemplateGroupArgs, opts ...pulumi.ResourceOption) (*EventBridgeRuleTemplateGroup, error) { + if args == nil { + args = &EventBridgeRuleTemplateGroupArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "name", + "tags.*", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EventBridgeRuleTemplateGroup + err := ctx.RegisterResource("aws-native:medialive:EventBridgeRuleTemplateGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEventBridgeRuleTemplateGroup gets an existing EventBridgeRuleTemplateGroup 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 GetEventBridgeRuleTemplateGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EventBridgeRuleTemplateGroupState, opts ...pulumi.ResourceOption) (*EventBridgeRuleTemplateGroup, error) { + var resource EventBridgeRuleTemplateGroup + err := ctx.ReadResource("aws-native:medialive:EventBridgeRuleTemplateGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EventBridgeRuleTemplateGroup resources. +type eventBridgeRuleTemplateGroupState struct { +} + +type EventBridgeRuleTemplateGroupState struct { +} + +func (EventBridgeRuleTemplateGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*eventBridgeRuleTemplateGroupState)(nil)).Elem() +} + +type eventBridgeRuleTemplateGroupArgs struct { + // A resource's optional description. + Description *string `pulumi:"description"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a EventBridgeRuleTemplateGroup resource. +type EventBridgeRuleTemplateGroupArgs struct { + // A resource's optional description. + Description pulumi.StringPtrInput + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringPtrInput + Tags pulumi.StringMapInput +} + +func (EventBridgeRuleTemplateGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*eventBridgeRuleTemplateGroupArgs)(nil)).Elem() +} + +type EventBridgeRuleTemplateGroupInput interface { + pulumi.Input + + ToEventBridgeRuleTemplateGroupOutput() EventBridgeRuleTemplateGroupOutput + ToEventBridgeRuleTemplateGroupOutputWithContext(ctx context.Context) EventBridgeRuleTemplateGroupOutput +} + +func (*EventBridgeRuleTemplateGroup) ElementType() reflect.Type { + return reflect.TypeOf((**EventBridgeRuleTemplateGroup)(nil)).Elem() +} + +func (i *EventBridgeRuleTemplateGroup) ToEventBridgeRuleTemplateGroupOutput() EventBridgeRuleTemplateGroupOutput { + return i.ToEventBridgeRuleTemplateGroupOutputWithContext(context.Background()) +} + +func (i *EventBridgeRuleTemplateGroup) ToEventBridgeRuleTemplateGroupOutputWithContext(ctx context.Context) EventBridgeRuleTemplateGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventBridgeRuleTemplateGroupOutput) +} + +type EventBridgeRuleTemplateGroupOutput struct{ *pulumi.OutputState } + +func (EventBridgeRuleTemplateGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventBridgeRuleTemplateGroup)(nil)).Elem() +} + +func (o EventBridgeRuleTemplateGroupOutput) ToEventBridgeRuleTemplateGroupOutput() EventBridgeRuleTemplateGroupOutput { + return o +} + +func (o EventBridgeRuleTemplateGroupOutput) ToEventBridgeRuleTemplateGroupOutputWithContext(ctx context.Context) EventBridgeRuleTemplateGroupOutput { + return o +} + +// An eventbridge rule template group's ARN (Amazon Resource Name) +func (o EventBridgeRuleTemplateGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` +func (o EventBridgeRuleTemplateGroupOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The date and time of resource creation. +func (o EventBridgeRuleTemplateGroupOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A resource's optional description. +func (o EventBridgeRuleTemplateGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o EventBridgeRuleTemplateGroupOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) +} + +// The date and time of latest resource modification. +func (o EventBridgeRuleTemplateGroupOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o EventBridgeRuleTemplateGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o EventBridgeRuleTemplateGroupOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EventBridgeRuleTemplateGroupInput)(nil)).Elem(), &EventBridgeRuleTemplateGroup{}) + pulumi.RegisterOutputType(EventBridgeRuleTemplateGroupOutput{}) +} diff --git a/sdk/go/aws/medialive/getChannelPlacementGroup.go b/sdk/go/aws/medialive/getChannelPlacementGroup.go new file mode 100644 index 0000000000..d9810cb2c6 --- /dev/null +++ b/sdk/go/aws/medialive/getChannelPlacementGroup.go @@ -0,0 +1,123 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type +func LookupChannelPlacementGroup(ctx *pulumi.Context, args *LookupChannelPlacementGroupArgs, opts ...pulumi.InvokeOption) (*LookupChannelPlacementGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupChannelPlacementGroupResult + err := ctx.Invoke("aws-native:medialive:getChannelPlacementGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupChannelPlacementGroupArgs struct { + // The ID of the cluster the node is on. + ClusterId string `pulumi:"clusterId"` + // Unique internal identifier. + Id string `pulumi:"id"` +} + +type LookupChannelPlacementGroupResult struct { + // The ARN of the channel placement group. + Arn *string `pulumi:"arn"` + // List of channel IDs added to the channel placement group. + Channels []string `pulumi:"channels"` + // Unique internal identifier. + Id *string `pulumi:"id"` + // The name of the channel placement group. + Name *string `pulumi:"name"` + // List of nodes added to the channel placement group + Nodes []string `pulumi:"nodes"` + State *ChannelPlacementGroupStateEnum `pulumi:"state"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupChannelPlacementGroupOutput(ctx *pulumi.Context, args LookupChannelPlacementGroupOutputArgs, opts ...pulumi.InvokeOption) LookupChannelPlacementGroupResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupChannelPlacementGroupResult, error) { + args := v.(LookupChannelPlacementGroupArgs) + r, err := LookupChannelPlacementGroup(ctx, &args, opts...) + var s LookupChannelPlacementGroupResult + if r != nil { + s = *r + } + return s, err + }).(LookupChannelPlacementGroupResultOutput) +} + +type LookupChannelPlacementGroupOutputArgs struct { + // The ID of the cluster the node is on. + ClusterId pulumi.StringInput `pulumi:"clusterId"` + // Unique internal identifier. + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupChannelPlacementGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupChannelPlacementGroupArgs)(nil)).Elem() +} + +type LookupChannelPlacementGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupChannelPlacementGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupChannelPlacementGroupResult)(nil)).Elem() +} + +func (o LookupChannelPlacementGroupResultOutput) ToLookupChannelPlacementGroupResultOutput() LookupChannelPlacementGroupResultOutput { + return o +} + +func (o LookupChannelPlacementGroupResultOutput) ToLookupChannelPlacementGroupResultOutputWithContext(ctx context.Context) LookupChannelPlacementGroupResultOutput { + return o +} + +// The ARN of the channel placement group. +func (o LookupChannelPlacementGroupResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// List of channel IDs added to the channel placement group. +func (o LookupChannelPlacementGroupResultOutput) Channels() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) []string { return v.Channels }).(pulumi.StringArrayOutput) +} + +// Unique internal identifier. +func (o LookupChannelPlacementGroupResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the channel placement group. +func (o LookupChannelPlacementGroupResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// List of nodes added to the channel placement group +func (o LookupChannelPlacementGroupResultOutput) Nodes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) []string { return v.Nodes }).(pulumi.StringArrayOutput) +} + +func (o LookupChannelPlacementGroupResultOutput) State() ChannelPlacementGroupStateEnumPtrOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) *ChannelPlacementGroupStateEnum { return v.State }).(ChannelPlacementGroupStateEnumPtrOutput) +} + +// A collection of key-value pairs. +func (o LookupChannelPlacementGroupResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupChannelPlacementGroupResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupChannelPlacementGroupResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getCloudWatchAlarmTemplate.go b/sdk/go/aws/medialive/getCloudWatchAlarmTemplate.go new file mode 100644 index 0000000000..93ba26db5b --- /dev/null +++ b/sdk/go/aws/medialive/getCloudWatchAlarmTemplate.go @@ -0,0 +1,180 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type +func LookupCloudWatchAlarmTemplate(ctx *pulumi.Context, args *LookupCloudWatchAlarmTemplateArgs, opts ...pulumi.InvokeOption) (*LookupCloudWatchAlarmTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCloudWatchAlarmTemplateResult + err := ctx.Invoke("aws-native:medialive:getCloudWatchAlarmTemplate", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupCloudWatchAlarmTemplateArgs struct { + Identifier string `pulumi:"identifier"` +} + +type LookupCloudWatchAlarmTemplateResult struct { + // A cloudwatch alarm template's ARN (Amazon Resource Name) + Arn *string `pulumi:"arn"` + ComparisonOperator *CloudWatchAlarmTemplateComparisonOperator `pulumi:"comparisonOperator"` + CreatedAt *string `pulumi:"createdAt"` + // The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + DatapointsToAlarm *float64 `pulumi:"datapointsToAlarm"` + // A resource's optional description. + Description *string `pulumi:"description"` + // The number of periods over which data is compared to the specified threshold. + EvaluationPeriods *float64 `pulumi:"evaluationPeriods"` + // A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + GroupId *string `pulumi:"groupId"` + // A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + Id *string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + // The name of the metric associated with the alarm. Must be compatible with targetResourceType. + MetricName *string `pulumi:"metricName"` + ModifiedAt *string `pulumi:"modifiedAt"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + // The period, in seconds, over which the specified statistic is applied. + Period *float64 `pulumi:"period"` + Statistic *CloudWatchAlarmTemplateStatistic `pulumi:"statistic"` + TargetResourceType *CloudWatchAlarmTemplateTargetResourceType `pulumi:"targetResourceType"` + // The threshold value to compare with the specified statistic. + Threshold *float64 `pulumi:"threshold"` + TreatMissingData *CloudWatchAlarmTemplateTreatMissingData `pulumi:"treatMissingData"` +} + +func LookupCloudWatchAlarmTemplateOutput(ctx *pulumi.Context, args LookupCloudWatchAlarmTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupCloudWatchAlarmTemplateResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupCloudWatchAlarmTemplateResult, error) { + args := v.(LookupCloudWatchAlarmTemplateArgs) + r, err := LookupCloudWatchAlarmTemplate(ctx, &args, opts...) + var s LookupCloudWatchAlarmTemplateResult + if r != nil { + s = *r + } + return s, err + }).(LookupCloudWatchAlarmTemplateResultOutput) +} + +type LookupCloudWatchAlarmTemplateOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (LookupCloudWatchAlarmTemplateOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCloudWatchAlarmTemplateArgs)(nil)).Elem() +} + +type LookupCloudWatchAlarmTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupCloudWatchAlarmTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCloudWatchAlarmTemplateResult)(nil)).Elem() +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) ToLookupCloudWatchAlarmTemplateResultOutput() LookupCloudWatchAlarmTemplateResultOutput { + return o +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) ToLookupCloudWatchAlarmTemplateResultOutputWithContext(ctx context.Context) LookupCloudWatchAlarmTemplateResultOutput { + return o +} + +// A cloudwatch alarm template's ARN (Amazon Resource Name) +func (o LookupCloudWatchAlarmTemplateResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) ComparisonOperator() CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *CloudWatchAlarmTemplateComparisonOperator { + return v.ComparisonOperator + }).(CloudWatchAlarmTemplateComparisonOperatorPtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// The number of datapoints within the evaluation period that must be breaching to trigger the alarm. +func (o LookupCloudWatchAlarmTemplateResultOutput) DatapointsToAlarm() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *float64 { return v.DatapointsToAlarm }).(pulumi.Float64PtrOutput) +} + +// A resource's optional description. +func (o LookupCloudWatchAlarmTemplateResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The number of periods over which data is compared to the specified threshold. +func (o LookupCloudWatchAlarmTemplateResultOutput) EvaluationPeriods() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *float64 { return v.EvaluationPeriods }).(pulumi.Float64PtrOutput) +} + +// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` +func (o LookupCloudWatchAlarmTemplateResultOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.GroupId }).(pulumi.StringPtrOutput) +} + +// A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` +func (o LookupCloudWatchAlarmTemplateResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +// The name of the metric associated with the alarm. Must be compatible with targetResourceType. +func (o LookupCloudWatchAlarmTemplateResultOutput) MetricName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.MetricName }).(pulumi.StringPtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) ModifiedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.ModifiedAt }).(pulumi.StringPtrOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o LookupCloudWatchAlarmTemplateResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The period, in seconds, over which the specified statistic is applied. +func (o LookupCloudWatchAlarmTemplateResultOutput) Period() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *float64 { return v.Period }).(pulumi.Float64PtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) Statistic() CloudWatchAlarmTemplateStatisticPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *CloudWatchAlarmTemplateStatistic { return v.Statistic }).(CloudWatchAlarmTemplateStatisticPtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) TargetResourceType() CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *CloudWatchAlarmTemplateTargetResourceType { + return v.TargetResourceType + }).(CloudWatchAlarmTemplateTargetResourceTypePtrOutput) +} + +// The threshold value to compare with the specified statistic. +func (o LookupCloudWatchAlarmTemplateResultOutput) Threshold() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *float64 { return v.Threshold }).(pulumi.Float64PtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateResultOutput) TreatMissingData() CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateResult) *CloudWatchAlarmTemplateTreatMissingData { + return v.TreatMissingData + }).(CloudWatchAlarmTemplateTreatMissingDataPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCloudWatchAlarmTemplateResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getCloudWatchAlarmTemplateGroup.go b/sdk/go/aws/medialive/getCloudWatchAlarmTemplateGroup.go new file mode 100644 index 0000000000..87d6e57ad3 --- /dev/null +++ b/sdk/go/aws/medialive/getCloudWatchAlarmTemplateGroup.go @@ -0,0 +1,109 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type +func LookupCloudWatchAlarmTemplateGroup(ctx *pulumi.Context, args *LookupCloudWatchAlarmTemplateGroupArgs, opts ...pulumi.InvokeOption) (*LookupCloudWatchAlarmTemplateGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCloudWatchAlarmTemplateGroupResult + err := ctx.Invoke("aws-native:medialive:getCloudWatchAlarmTemplateGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupCloudWatchAlarmTemplateGroupArgs struct { + Identifier string `pulumi:"identifier"` +} + +type LookupCloudWatchAlarmTemplateGroupResult struct { + // A cloudwatch alarm template group's ARN (Amazon Resource Name) + Arn *string `pulumi:"arn"` + // The date and time of resource creation. + CreatedAt *string `pulumi:"createdAt"` + // A resource's optional description. + Description *string `pulumi:"description"` + // A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + Id *string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + // The date and time of latest resource modification. + ModifiedAt *string `pulumi:"modifiedAt"` +} + +func LookupCloudWatchAlarmTemplateGroupOutput(ctx *pulumi.Context, args LookupCloudWatchAlarmTemplateGroupOutputArgs, opts ...pulumi.InvokeOption) LookupCloudWatchAlarmTemplateGroupResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupCloudWatchAlarmTemplateGroupResult, error) { + args := v.(LookupCloudWatchAlarmTemplateGroupArgs) + r, err := LookupCloudWatchAlarmTemplateGroup(ctx, &args, opts...) + var s LookupCloudWatchAlarmTemplateGroupResult + if r != nil { + s = *r + } + return s, err + }).(LookupCloudWatchAlarmTemplateGroupResultOutput) +} + +type LookupCloudWatchAlarmTemplateGroupOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (LookupCloudWatchAlarmTemplateGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCloudWatchAlarmTemplateGroupArgs)(nil)).Elem() +} + +type LookupCloudWatchAlarmTemplateGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupCloudWatchAlarmTemplateGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCloudWatchAlarmTemplateGroupResult)(nil)).Elem() +} + +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) ToLookupCloudWatchAlarmTemplateGroupResultOutput() LookupCloudWatchAlarmTemplateGroupResultOutput { + return o +} + +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) ToLookupCloudWatchAlarmTemplateGroupResultOutputWithContext(ctx context.Context) LookupCloudWatchAlarmTemplateGroupResultOutput { + return o +} + +// A cloudwatch alarm template group's ARN (Amazon Resource Name) +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateGroupResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The date and time of resource creation. +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateGroupResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// A resource's optional description. +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateGroupResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateGroupResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateGroupResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +// The date and time of latest resource modification. +func (o LookupCloudWatchAlarmTemplateGroupResultOutput) ModifiedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCloudWatchAlarmTemplateGroupResult) *string { return v.ModifiedAt }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCloudWatchAlarmTemplateGroupResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getCluster.go b/sdk/go/aws/medialive/getCluster.go new file mode 100644 index 0000000000..5cbe12a31d --- /dev/null +++ b/sdk/go/aws/medialive/getCluster.go @@ -0,0 +1,117 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::Cluster Resource Type +func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupClusterResult + err := ctx.Invoke("aws-native:medialive:getCluster", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupClusterArgs struct { + // The unique ID of the Cluster. + Id string `pulumi:"id"` +} + +type LookupClusterResult struct { + // The ARN of the Cluster. + Arn *string `pulumi:"arn"` + // The MediaLive Channels that are currently running on Nodes in this Cluster. + ChannelIds []string `pulumi:"channelIds"` + // The unique ID of the Cluster. + Id *string `pulumi:"id"` + // The user-specified name of the Cluster to be created. + Name *string `pulumi:"name"` + NetworkSettings *ClusterNetworkSettings `pulumi:"networkSettings"` + State *ClusterStateEnum `pulumi:"state"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupClusterResult, error) { + args := v.(LookupClusterArgs) + r, err := LookupCluster(ctx, &args, opts...) + var s LookupClusterResult + if r != nil { + s = *r + } + return s, err + }).(LookupClusterResultOutput) +} + +type LookupClusterOutputArgs struct { + // The unique ID of the Cluster. + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupClusterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupClusterArgs)(nil)).Elem() +} + +type LookupClusterResultOutput struct{ *pulumi.OutputState } + +func (LookupClusterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupClusterResult)(nil)).Elem() +} + +func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput { + return o +} + +func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput { + return o +} + +// The ARN of the Cluster. +func (o LookupClusterResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The MediaLive Channels that are currently running on Nodes in this Cluster. +func (o LookupClusterResultOutput) ChannelIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []string { return v.ChannelIds }).(pulumi.StringArrayOutput) +} + +// The unique ID of the Cluster. +func (o LookupClusterResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The user-specified name of the Cluster to be created. +func (o LookupClusterResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupClusterResultOutput) NetworkSettings() ClusterNetworkSettingsPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *ClusterNetworkSettings { return v.NetworkSettings }).(ClusterNetworkSettingsPtrOutput) +} + +func (o LookupClusterResultOutput) State() ClusterStateEnumPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *ClusterStateEnum { return v.State }).(ClusterStateEnumPtrOutput) +} + +// A collection of key-value pairs. +func (o LookupClusterResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupClusterResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getEventBridgeRuleTemplate.go b/sdk/go/aws/medialive/getEventBridgeRuleTemplate.go new file mode 100644 index 0000000000..aed0c922d9 --- /dev/null +++ b/sdk/go/aws/medialive/getEventBridgeRuleTemplate.go @@ -0,0 +1,139 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type +func LookupEventBridgeRuleTemplate(ctx *pulumi.Context, args *LookupEventBridgeRuleTemplateArgs, opts ...pulumi.InvokeOption) (*LookupEventBridgeRuleTemplateResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupEventBridgeRuleTemplateResult + err := ctx.Invoke("aws-native:medialive:getEventBridgeRuleTemplate", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupEventBridgeRuleTemplateArgs struct { + // Placeholder documentation for __string + Identifier string `pulumi:"identifier"` +} + +type LookupEventBridgeRuleTemplateResult struct { + // An eventbridge rule template's ARN (Amazon Resource Name) + Arn *string `pulumi:"arn"` + // Placeholder documentation for __timestampIso8601 + CreatedAt *string `pulumi:"createdAt"` + // A resource's optional description. + Description *string `pulumi:"description"` + // Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + EventTargets []EventBridgeRuleTemplateTarget `pulumi:"eventTargets"` + EventType *EventBridgeRuleTemplateEventType `pulumi:"eventType"` + // An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + GroupId *string `pulumi:"groupId"` + // An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + Id *string `pulumi:"id"` + // Placeholder documentation for __string + Identifier *string `pulumi:"identifier"` + // Placeholder documentation for __timestampIso8601 + ModifiedAt *string `pulumi:"modifiedAt"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` +} + +func LookupEventBridgeRuleTemplateOutput(ctx *pulumi.Context, args LookupEventBridgeRuleTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupEventBridgeRuleTemplateResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupEventBridgeRuleTemplateResult, error) { + args := v.(LookupEventBridgeRuleTemplateArgs) + r, err := LookupEventBridgeRuleTemplate(ctx, &args, opts...) + var s LookupEventBridgeRuleTemplateResult + if r != nil { + s = *r + } + return s, err + }).(LookupEventBridgeRuleTemplateResultOutput) +} + +type LookupEventBridgeRuleTemplateOutputArgs struct { + // Placeholder documentation for __string + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (LookupEventBridgeRuleTemplateOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEventBridgeRuleTemplateArgs)(nil)).Elem() +} + +type LookupEventBridgeRuleTemplateResultOutput struct{ *pulumi.OutputState } + +func (LookupEventBridgeRuleTemplateResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEventBridgeRuleTemplateResult)(nil)).Elem() +} + +func (o LookupEventBridgeRuleTemplateResultOutput) ToLookupEventBridgeRuleTemplateResultOutput() LookupEventBridgeRuleTemplateResultOutput { + return o +} + +func (o LookupEventBridgeRuleTemplateResultOutput) ToLookupEventBridgeRuleTemplateResultOutputWithContext(ctx context.Context) LookupEventBridgeRuleTemplateResultOutput { + return o +} + +// An eventbridge rule template's ARN (Amazon Resource Name) +func (o LookupEventBridgeRuleTemplateResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// Placeholder documentation for __timestampIso8601 +func (o LookupEventBridgeRuleTemplateResultOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// A resource's optional description. +func (o LookupEventBridgeRuleTemplateResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Placeholder documentation for __listOfEventBridgeRuleTemplateTarget +func (o LookupEventBridgeRuleTemplateResultOutput) EventTargets() EventBridgeRuleTemplateTargetArrayOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) []EventBridgeRuleTemplateTarget { return v.EventTargets }).(EventBridgeRuleTemplateTargetArrayOutput) +} + +func (o LookupEventBridgeRuleTemplateResultOutput) EventType() EventBridgeRuleTemplateEventTypePtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *EventBridgeRuleTemplateEventType { return v.EventType }).(EventBridgeRuleTemplateEventTypePtrOutput) +} + +// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` +func (o LookupEventBridgeRuleTemplateResultOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.GroupId }).(pulumi.StringPtrOutput) +} + +// An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` +func (o LookupEventBridgeRuleTemplateResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Placeholder documentation for __string +func (o LookupEventBridgeRuleTemplateResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +// Placeholder documentation for __timestampIso8601 +func (o LookupEventBridgeRuleTemplateResultOutput) ModifiedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.ModifiedAt }).(pulumi.StringPtrOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o LookupEventBridgeRuleTemplateResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupEventBridgeRuleTemplateResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getEventBridgeRuleTemplateGroup.go b/sdk/go/aws/medialive/getEventBridgeRuleTemplateGroup.go new file mode 100644 index 0000000000..e0f97e91be --- /dev/null +++ b/sdk/go/aws/medialive/getEventBridgeRuleTemplateGroup.go @@ -0,0 +1,109 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type +func LookupEventBridgeRuleTemplateGroup(ctx *pulumi.Context, args *LookupEventBridgeRuleTemplateGroupArgs, opts ...pulumi.InvokeOption) (*LookupEventBridgeRuleTemplateGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupEventBridgeRuleTemplateGroupResult + err := ctx.Invoke("aws-native:medialive:getEventBridgeRuleTemplateGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupEventBridgeRuleTemplateGroupArgs struct { + Identifier string `pulumi:"identifier"` +} + +type LookupEventBridgeRuleTemplateGroupResult struct { + // An eventbridge rule template group's ARN (Amazon Resource Name) + Arn *string `pulumi:"arn"` + // The date and time of resource creation. + CreatedAt *string `pulumi:"createdAt"` + // A resource's optional description. + Description *string `pulumi:"description"` + // An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + Id *string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + // The date and time of latest resource modification. + ModifiedAt *string `pulumi:"modifiedAt"` +} + +func LookupEventBridgeRuleTemplateGroupOutput(ctx *pulumi.Context, args LookupEventBridgeRuleTemplateGroupOutputArgs, opts ...pulumi.InvokeOption) LookupEventBridgeRuleTemplateGroupResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupEventBridgeRuleTemplateGroupResult, error) { + args := v.(LookupEventBridgeRuleTemplateGroupArgs) + r, err := LookupEventBridgeRuleTemplateGroup(ctx, &args, opts...) + var s LookupEventBridgeRuleTemplateGroupResult + if r != nil { + s = *r + } + return s, err + }).(LookupEventBridgeRuleTemplateGroupResultOutput) +} + +type LookupEventBridgeRuleTemplateGroupOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (LookupEventBridgeRuleTemplateGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEventBridgeRuleTemplateGroupArgs)(nil)).Elem() +} + +type LookupEventBridgeRuleTemplateGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupEventBridgeRuleTemplateGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEventBridgeRuleTemplateGroupResult)(nil)).Elem() +} + +func (o LookupEventBridgeRuleTemplateGroupResultOutput) ToLookupEventBridgeRuleTemplateGroupResultOutput() LookupEventBridgeRuleTemplateGroupResultOutput { + return o +} + +func (o LookupEventBridgeRuleTemplateGroupResultOutput) ToLookupEventBridgeRuleTemplateGroupResultOutputWithContext(ctx context.Context) LookupEventBridgeRuleTemplateGroupResultOutput { + return o +} + +// An eventbridge rule template group's ARN (Amazon Resource Name) +func (o LookupEventBridgeRuleTemplateGroupResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateGroupResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The date and time of resource creation. +func (o LookupEventBridgeRuleTemplateGroupResultOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateGroupResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// A resource's optional description. +func (o LookupEventBridgeRuleTemplateGroupResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateGroupResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` +func (o LookupEventBridgeRuleTemplateGroupResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateGroupResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o LookupEventBridgeRuleTemplateGroupResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateGroupResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +// The date and time of latest resource modification. +func (o LookupEventBridgeRuleTemplateGroupResultOutput) ModifiedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventBridgeRuleTemplateGroupResult) *string { return v.ModifiedAt }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupEventBridgeRuleTemplateGroupResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getNetwork.go b/sdk/go/aws/medialive/getNetwork.go new file mode 100644 index 0000000000..ecc0749dbb --- /dev/null +++ b/sdk/go/aws/medialive/getNetwork.go @@ -0,0 +1,126 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource schema for AWS::MediaLive::Network. +func LookupNetwork(ctx *pulumi.Context, args *LookupNetworkArgs, opts ...pulumi.InvokeOption) (*LookupNetworkResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupNetworkResult + err := ctx.Invoke("aws-native:medialive:getNetwork", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupNetworkArgs struct { + // The unique ID of the Network. + Id string `pulumi:"id"` +} + +type LookupNetworkResult struct { + // The ARN of the Network. + Arn *string `pulumi:"arn"` + AssociatedClusterIds []string `pulumi:"associatedClusterIds"` + // The unique ID of the Network. + Id *string `pulumi:"id"` + // The list of IP address cidr pools for the network + IpPools []NetworkIpPool `pulumi:"ipPools"` + // The user-specified name of the Network to be created. + Name *string `pulumi:"name"` + // The routes for the network + Routes []NetworkRoute `pulumi:"routes"` + // The current state of the Network. + State *NetworkStateEnum `pulumi:"state"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupNetworkOutput(ctx *pulumi.Context, args LookupNetworkOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupNetworkResult, error) { + args := v.(LookupNetworkArgs) + r, err := LookupNetwork(ctx, &args, opts...) + var s LookupNetworkResult + if r != nil { + s = *r + } + return s, err + }).(LookupNetworkResultOutput) +} + +type LookupNetworkOutputArgs struct { + // The unique ID of the Network. + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupNetworkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNetworkArgs)(nil)).Elem() +} + +type LookupNetworkResultOutput struct{ *pulumi.OutputState } + +func (LookupNetworkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNetworkResult)(nil)).Elem() +} + +func (o LookupNetworkResultOutput) ToLookupNetworkResultOutput() LookupNetworkResultOutput { + return o +} + +func (o LookupNetworkResultOutput) ToLookupNetworkResultOutputWithContext(ctx context.Context) LookupNetworkResultOutput { + return o +} + +// The ARN of the Network. +func (o LookupNetworkResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +func (o LookupNetworkResultOutput) AssociatedClusterIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupNetworkResult) []string { return v.AssociatedClusterIds }).(pulumi.StringArrayOutput) +} + +// The unique ID of the Network. +func (o LookupNetworkResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The list of IP address cidr pools for the network +func (o LookupNetworkResultOutput) IpPools() NetworkIpPoolArrayOutput { + return o.ApplyT(func(v LookupNetworkResult) []NetworkIpPool { return v.IpPools }).(NetworkIpPoolArrayOutput) +} + +// The user-specified name of the Network to be created. +func (o LookupNetworkResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The routes for the network +func (o LookupNetworkResultOutput) Routes() NetworkRouteArrayOutput { + return o.ApplyT(func(v LookupNetworkResult) []NetworkRoute { return v.Routes }).(NetworkRouteArrayOutput) +} + +// The current state of the Network. +func (o LookupNetworkResultOutput) State() NetworkStateEnumPtrOutput { + return o.ApplyT(func(v LookupNetworkResult) *NetworkStateEnum { return v.State }).(NetworkStateEnumPtrOutput) +} + +// A collection of key-value pairs. +func (o LookupNetworkResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupNetworkResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupNetworkResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getSdiSource.go b/sdk/go/aws/medialive/getSdiSource.go new file mode 100644 index 0000000000..19ae8cec55 --- /dev/null +++ b/sdk/go/aws/medialive/getSdiSource.go @@ -0,0 +1,122 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::SdiSource Resource Type +func LookupSdiSource(ctx *pulumi.Context, args *LookupSdiSourceArgs, opts ...pulumi.InvokeOption) (*LookupSdiSourceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSdiSourceResult + err := ctx.Invoke("aws-native:medialive:getSdiSource", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupSdiSourceArgs struct { + // The unique identifier of the SdiSource. + Id string `pulumi:"id"` +} + +type LookupSdiSourceResult struct { + // The unique arn of the SdiSource. + Arn *string `pulumi:"arn"` + // The unique identifier of the SdiSource. + Id *string `pulumi:"id"` + // The list of inputs currently using this SDI source. + Inputs []string `pulumi:"inputs"` + Mode *SdiSourceMode `pulumi:"mode"` + // The name of the SdiSource. + Name *string `pulumi:"name"` + State *SdiSourceStateEnum `pulumi:"state"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` + Type *SdiSourceType `pulumi:"type"` +} + +func LookupSdiSourceOutput(ctx *pulumi.Context, args LookupSdiSourceOutputArgs, opts ...pulumi.InvokeOption) LookupSdiSourceResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupSdiSourceResult, error) { + args := v.(LookupSdiSourceArgs) + r, err := LookupSdiSource(ctx, &args, opts...) + var s LookupSdiSourceResult + if r != nil { + s = *r + } + return s, err + }).(LookupSdiSourceResultOutput) +} + +type LookupSdiSourceOutputArgs struct { + // The unique identifier of the SdiSource. + Id pulumi.StringInput `pulumi:"id"` +} + +func (LookupSdiSourceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSdiSourceArgs)(nil)).Elem() +} + +type LookupSdiSourceResultOutput struct{ *pulumi.OutputState } + +func (LookupSdiSourceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSdiSourceResult)(nil)).Elem() +} + +func (o LookupSdiSourceResultOutput) ToLookupSdiSourceResultOutput() LookupSdiSourceResultOutput { + return o +} + +func (o LookupSdiSourceResultOutput) ToLookupSdiSourceResultOutputWithContext(ctx context.Context) LookupSdiSourceResultOutput { + return o +} + +// The unique arn of the SdiSource. +func (o LookupSdiSourceResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSdiSourceResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The unique identifier of the SdiSource. +func (o LookupSdiSourceResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSdiSourceResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The list of inputs currently using this SDI source. +func (o LookupSdiSourceResultOutput) Inputs() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupSdiSourceResult) []string { return v.Inputs }).(pulumi.StringArrayOutput) +} + +func (o LookupSdiSourceResultOutput) Mode() SdiSourceModePtrOutput { + return o.ApplyT(func(v LookupSdiSourceResult) *SdiSourceMode { return v.Mode }).(SdiSourceModePtrOutput) +} + +// The name of the SdiSource. +func (o LookupSdiSourceResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSdiSourceResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupSdiSourceResultOutput) State() SdiSourceStateEnumPtrOutput { + return o.ApplyT(func(v LookupSdiSourceResult) *SdiSourceStateEnum { return v.State }).(SdiSourceStateEnumPtrOutput) +} + +// A collection of key-value pairs. +func (o LookupSdiSourceResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupSdiSourceResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func (o LookupSdiSourceResultOutput) Type() SdiSourceTypePtrOutput { + return o.ApplyT(func(v LookupSdiSourceResult) *SdiSourceType { return v.Type }).(SdiSourceTypePtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSdiSourceResultOutput{}) +} diff --git a/sdk/go/aws/medialive/getSignalMap.go b/sdk/go/aws/medialive/getSignalMap.go new file mode 100644 index 0000000000..458949e70d --- /dev/null +++ b/sdk/go/aws/medialive/getSignalMap.go @@ -0,0 +1,175 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::SignalMap Resource Type +func LookupSignalMap(ctx *pulumi.Context, args *LookupSignalMapArgs, opts ...pulumi.InvokeOption) (*LookupSignalMapResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSignalMapResult + err := ctx.Invoke("aws-native:medialive:getSignalMap", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupSignalMapArgs struct { + Identifier string `pulumi:"identifier"` +} + +type LookupSignalMapResult struct { + // A signal map's ARN (Amazon Resource Name) + Arn *string `pulumi:"arn"` + CloudWatchAlarmTemplateGroupIds []string `pulumi:"cloudWatchAlarmTemplateGroupIds"` + CreatedAt *string `pulumi:"createdAt"` + // A resource's optional description. + Description *string `pulumi:"description"` + // A top-level supported AWS resource ARN to discovery a signal map from. + DiscoveryEntryPointArn *string `pulumi:"discoveryEntryPointArn"` + // Error message associated with a failed creation or failed update attempt of a signal map. + ErrorMessage *string `pulumi:"errorMessage"` + EventBridgeRuleTemplateGroupIds []string `pulumi:"eventBridgeRuleTemplateGroupIds"` + FailedMediaResourceMap map[string]SignalMapMediaResource `pulumi:"failedMediaResourceMap"` + // A signal map's id. + Id *string `pulumi:"id"` + Identifier *string `pulumi:"identifier"` + LastDiscoveredAt *string `pulumi:"lastDiscoveredAt"` + LastSuccessfulMonitorDeployment *SignalMapSuccessfulMonitorDeployment `pulumi:"lastSuccessfulMonitorDeployment"` + MediaResourceMap map[string]SignalMapMediaResource `pulumi:"mediaResourceMap"` + ModifiedAt *string `pulumi:"modifiedAt"` + // If true, there are pending monitor changes for this signal map that can be deployed. + MonitorChangesPendingDeployment *bool `pulumi:"monitorChangesPendingDeployment"` + MonitorDeployment *SignalMapMonitorDeployment `pulumi:"monitorDeployment"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + Status *SignalMapStatus `pulumi:"status"` +} + +func LookupSignalMapOutput(ctx *pulumi.Context, args LookupSignalMapOutputArgs, opts ...pulumi.InvokeOption) LookupSignalMapResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupSignalMapResult, error) { + args := v.(LookupSignalMapArgs) + r, err := LookupSignalMap(ctx, &args, opts...) + var s LookupSignalMapResult + if r != nil { + s = *r + } + return s, err + }).(LookupSignalMapResultOutput) +} + +type LookupSignalMapOutputArgs struct { + Identifier pulumi.StringInput `pulumi:"identifier"` +} + +func (LookupSignalMapOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSignalMapArgs)(nil)).Elem() +} + +type LookupSignalMapResultOutput struct{ *pulumi.OutputState } + +func (LookupSignalMapResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSignalMapResult)(nil)).Elem() +} + +func (o LookupSignalMapResultOutput) ToLookupSignalMapResultOutput() LookupSignalMapResultOutput { + return o +} + +func (o LookupSignalMapResultOutput) ToLookupSignalMapResultOutputWithContext(ctx context.Context) LookupSignalMapResultOutput { + return o +} + +// A signal map's ARN (Amazon Resource Name) +func (o LookupSignalMapResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +func (o LookupSignalMapResultOutput) CloudWatchAlarmTemplateGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupSignalMapResult) []string { return v.CloudWatchAlarmTemplateGroupIds }).(pulumi.StringArrayOutput) +} + +func (o LookupSignalMapResultOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// A resource's optional description. +func (o LookupSignalMapResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A top-level supported AWS resource ARN to discovery a signal map from. +func (o LookupSignalMapResultOutput) DiscoveryEntryPointArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.DiscoveryEntryPointArn }).(pulumi.StringPtrOutput) +} + +// Error message associated with a failed creation or failed update attempt of a signal map. +func (o LookupSignalMapResultOutput) ErrorMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.ErrorMessage }).(pulumi.StringPtrOutput) +} + +func (o LookupSignalMapResultOutput) EventBridgeRuleTemplateGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupSignalMapResult) []string { return v.EventBridgeRuleTemplateGroupIds }).(pulumi.StringArrayOutput) +} + +func (o LookupSignalMapResultOutput) FailedMediaResourceMap() SignalMapMediaResourceMapOutput { + return o.ApplyT(func(v LookupSignalMapResult) map[string]SignalMapMediaResource { return v.FailedMediaResourceMap }).(SignalMapMediaResourceMapOutput) +} + +// A signal map's id. +func (o LookupSignalMapResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o LookupSignalMapResultOutput) Identifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) +} + +func (o LookupSignalMapResultOutput) LastDiscoveredAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.LastDiscoveredAt }).(pulumi.StringPtrOutput) +} + +func (o LookupSignalMapResultOutput) LastSuccessfulMonitorDeployment() SignalMapSuccessfulMonitorDeploymentPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *SignalMapSuccessfulMonitorDeployment { + return v.LastSuccessfulMonitorDeployment + }).(SignalMapSuccessfulMonitorDeploymentPtrOutput) +} + +func (o LookupSignalMapResultOutput) MediaResourceMap() SignalMapMediaResourceMapOutput { + return o.ApplyT(func(v LookupSignalMapResult) map[string]SignalMapMediaResource { return v.MediaResourceMap }).(SignalMapMediaResourceMapOutput) +} + +func (o LookupSignalMapResultOutput) ModifiedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.ModifiedAt }).(pulumi.StringPtrOutput) +} + +// If true, there are pending monitor changes for this signal map that can be deployed. +func (o LookupSignalMapResultOutput) MonitorChangesPendingDeployment() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *bool { return v.MonitorChangesPendingDeployment }).(pulumi.BoolPtrOutput) +} + +func (o LookupSignalMapResultOutput) MonitorDeployment() SignalMapMonitorDeploymentPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *SignalMapMonitorDeployment { return v.MonitorDeployment }).(SignalMapMonitorDeploymentPtrOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o LookupSignalMapResultOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o LookupSignalMapResultOutput) Status() SignalMapStatusPtrOutput { + return o.ApplyT(func(v LookupSignalMapResult) *SignalMapStatus { return v.Status }).(SignalMapStatusPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSignalMapResultOutput{}) +} diff --git a/sdk/go/aws/medialive/init.go b/sdk/go/aws/medialive/init.go index 2c8f856471..a05921cf2e 100644 --- a/sdk/go/aws/medialive/init.go +++ b/sdk/go/aws/medialive/init.go @@ -21,10 +21,28 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws-native:medialive:ChannelPlacementGroup": + r = &ChannelPlacementGroup{} + case "aws-native:medialive:CloudWatchAlarmTemplate": + r = &CloudWatchAlarmTemplate{} + case "aws-native:medialive:CloudWatchAlarmTemplateGroup": + r = &CloudWatchAlarmTemplateGroup{} + case "aws-native:medialive:Cluster": + r = &Cluster{} + case "aws-native:medialive:EventBridgeRuleTemplate": + r = &EventBridgeRuleTemplate{} + case "aws-native:medialive:EventBridgeRuleTemplateGroup": + r = &EventBridgeRuleTemplateGroup{} case "aws-native:medialive:Multiplex": r = &Multiplex{} case "aws-native:medialive:Multiplexprogram": r = &Multiplexprogram{} + case "aws-native:medialive:Network": + r = &Network{} + case "aws-native:medialive:SdiSource": + r = &SdiSource{} + case "aws-native:medialive:SignalMap": + r = &SignalMap{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } diff --git a/sdk/go/aws/medialive/network.go b/sdk/go/aws/medialive/network.go new file mode 100644 index 0000000000..0f8668b734 --- /dev/null +++ b/sdk/go/aws/medialive/network.go @@ -0,0 +1,181 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource schema for AWS::MediaLive::Network. +type Network struct { + pulumi.CustomResourceState + + // The ARN of the Network. + Arn pulumi.StringOutput `pulumi:"arn"` + AssociatedClusterIds pulumi.StringArrayOutput `pulumi:"associatedClusterIds"` + // The unique ID of the Network. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The list of IP address cidr pools for the network + IpPools NetworkIpPoolArrayOutput `pulumi:"ipPools"` + // The user-specified name of the Network to be created. + Name pulumi.StringOutput `pulumi:"name"` + // The routes for the network + Routes NetworkRouteArrayOutput `pulumi:"routes"` + // The current state of the Network. + State NetworkStateEnumOutput `pulumi:"state"` + // A collection of key-value pairs. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewNetwork registers a new resource with the given unique name, arguments, and options. +func NewNetwork(ctx *pulumi.Context, + name string, args *NetworkArgs, opts ...pulumi.ResourceOption) (*Network, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.IpPools == nil { + return nil, errors.New("invalid value for required argument 'IpPools'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Network + err := ctx.RegisterResource("aws-native:medialive:Network", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNetwork gets an existing Network 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 GetNetwork(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NetworkState, opts ...pulumi.ResourceOption) (*Network, error) { + var resource Network + err := ctx.ReadResource("aws-native:medialive:Network", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Network resources. +type networkState struct { +} + +type NetworkState struct { +} + +func (NetworkState) ElementType() reflect.Type { + return reflect.TypeOf((*networkState)(nil)).Elem() +} + +type networkArgs struct { + // The list of IP address cidr pools for the network + IpPools []NetworkIpPool `pulumi:"ipPools"` + // The user-specified name of the Network to be created. + Name *string `pulumi:"name"` + // The routes for the network + Routes []NetworkRoute `pulumi:"routes"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a Network resource. +type NetworkArgs struct { + // The list of IP address cidr pools for the network + IpPools NetworkIpPoolArrayInput + // The user-specified name of the Network to be created. + Name pulumi.StringPtrInput + // The routes for the network + Routes NetworkRouteArrayInput + // A collection of key-value pairs. + Tags aws.TagArrayInput +} + +func (NetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*networkArgs)(nil)).Elem() +} + +type NetworkInput interface { + pulumi.Input + + ToNetworkOutput() NetworkOutput + ToNetworkOutputWithContext(ctx context.Context) NetworkOutput +} + +func (*Network) ElementType() reflect.Type { + return reflect.TypeOf((**Network)(nil)).Elem() +} + +func (i *Network) ToNetworkOutput() NetworkOutput { + return i.ToNetworkOutputWithContext(context.Background()) +} + +func (i *Network) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkOutput) +} + +type NetworkOutput struct{ *pulumi.OutputState } + +func (NetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Network)(nil)).Elem() +} + +func (o NetworkOutput) ToNetworkOutput() NetworkOutput { + return o +} + +func (o NetworkOutput) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput { + return o +} + +// The ARN of the Network. +func (o NetworkOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +func (o NetworkOutput) AssociatedClusterIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Network) pulumi.StringArrayOutput { return v.AssociatedClusterIds }).(pulumi.StringArrayOutput) +} + +// The unique ID of the Network. +func (o NetworkOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The list of IP address cidr pools for the network +func (o NetworkOutput) IpPools() NetworkIpPoolArrayOutput { + return o.ApplyT(func(v *Network) NetworkIpPoolArrayOutput { return v.IpPools }).(NetworkIpPoolArrayOutput) +} + +// The user-specified name of the Network to be created. +func (o NetworkOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The routes for the network +func (o NetworkOutput) Routes() NetworkRouteArrayOutput { + return o.ApplyT(func(v *Network) NetworkRouteArrayOutput { return v.Routes }).(NetworkRouteArrayOutput) +} + +// The current state of the Network. +func (o NetworkOutput) State() NetworkStateEnumOutput { + return o.ApplyT(func(v *Network) NetworkStateEnumOutput { return v.State }).(NetworkStateEnumOutput) +} + +// A collection of key-value pairs. +func (o NetworkOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *Network) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NetworkInput)(nil)).Elem(), &Network{}) + pulumi.RegisterOutputType(NetworkOutput{}) +} diff --git a/sdk/go/aws/medialive/pulumiEnums.go b/sdk/go/aws/medialive/pulumiEnums.go index 6d911d92cb..dcdb750de2 100644 --- a/sdk/go/aws/medialive/pulumiEnums.go +++ b/sdk/go/aws/medialive/pulumiEnums.go @@ -10,96 +10,1860 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// The current state of the ChannelPlacementGroupState +type ChannelPlacementGroupStateEnum string + +const ( + ChannelPlacementGroupStateEnumUnassigned = ChannelPlacementGroupStateEnum("UNASSIGNED") + ChannelPlacementGroupStateEnumAssigning = ChannelPlacementGroupStateEnum("ASSIGNING") + ChannelPlacementGroupStateEnumAssigned = ChannelPlacementGroupStateEnum("ASSIGNED") + ChannelPlacementGroupStateEnumDeleting = ChannelPlacementGroupStateEnum("DELETING") + ChannelPlacementGroupStateEnumDeleted = ChannelPlacementGroupStateEnum("DELETED") + ChannelPlacementGroupStateEnumUnassigning = ChannelPlacementGroupStateEnum("UNASSIGNING") +) + +type ChannelPlacementGroupStateEnumOutput struct{ *pulumi.OutputState } + +func (ChannelPlacementGroupStateEnumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ChannelPlacementGroupStateEnum)(nil)).Elem() +} + +func (o ChannelPlacementGroupStateEnumOutput) ToChannelPlacementGroupStateEnumOutput() ChannelPlacementGroupStateEnumOutput { + return o +} + +func (o ChannelPlacementGroupStateEnumOutput) ToChannelPlacementGroupStateEnumOutputWithContext(ctx context.Context) ChannelPlacementGroupStateEnumOutput { + return o +} + +func (o ChannelPlacementGroupStateEnumOutput) ToChannelPlacementGroupStateEnumPtrOutput() ChannelPlacementGroupStateEnumPtrOutput { + return o.ToChannelPlacementGroupStateEnumPtrOutputWithContext(context.Background()) +} + +func (o ChannelPlacementGroupStateEnumOutput) ToChannelPlacementGroupStateEnumPtrOutputWithContext(ctx context.Context) ChannelPlacementGroupStateEnumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ChannelPlacementGroupStateEnum) *ChannelPlacementGroupStateEnum { + return &v + }).(ChannelPlacementGroupStateEnumPtrOutput) +} + +func (o ChannelPlacementGroupStateEnumOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ChannelPlacementGroupStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ChannelPlacementGroupStateEnum) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ChannelPlacementGroupStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ChannelPlacementGroupStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ChannelPlacementGroupStateEnum) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ChannelPlacementGroupStateEnumPtrOutput struct{ *pulumi.OutputState } + +func (ChannelPlacementGroupStateEnumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ChannelPlacementGroupStateEnum)(nil)).Elem() +} + +func (o ChannelPlacementGroupStateEnumPtrOutput) ToChannelPlacementGroupStateEnumPtrOutput() ChannelPlacementGroupStateEnumPtrOutput { + return o +} + +func (o ChannelPlacementGroupStateEnumPtrOutput) ToChannelPlacementGroupStateEnumPtrOutputWithContext(ctx context.Context) ChannelPlacementGroupStateEnumPtrOutput { + return o +} + +func (o ChannelPlacementGroupStateEnumPtrOutput) Elem() ChannelPlacementGroupStateEnumOutput { + return o.ApplyT(func(v *ChannelPlacementGroupStateEnum) ChannelPlacementGroupStateEnum { + if v != nil { + return *v + } + var ret ChannelPlacementGroupStateEnum + return ret + }).(ChannelPlacementGroupStateEnumOutput) +} + +func (o ChannelPlacementGroupStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ChannelPlacementGroupStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ChannelPlacementGroupStateEnum) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// The comparison operator used to compare the specified statistic and the threshold. +type CloudWatchAlarmTemplateComparisonOperator string + +const ( + CloudWatchAlarmTemplateComparisonOperatorGreaterThanOrEqualToThreshold = CloudWatchAlarmTemplateComparisonOperator("GreaterThanOrEqualToThreshold") + CloudWatchAlarmTemplateComparisonOperatorGreaterThanThreshold = CloudWatchAlarmTemplateComparisonOperator("GreaterThanThreshold") + CloudWatchAlarmTemplateComparisonOperatorLessThanThreshold = CloudWatchAlarmTemplateComparisonOperator("LessThanThreshold") + CloudWatchAlarmTemplateComparisonOperatorLessThanOrEqualToThreshold = CloudWatchAlarmTemplateComparisonOperator("LessThanOrEqualToThreshold") +) + +func (CloudWatchAlarmTemplateComparisonOperator) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateComparisonOperator)(nil)).Elem() +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToCloudWatchAlarmTemplateComparisonOperatorOutput() CloudWatchAlarmTemplateComparisonOperatorOutput { + return pulumi.ToOutput(e).(CloudWatchAlarmTemplateComparisonOperatorOutput) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToCloudWatchAlarmTemplateComparisonOperatorOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateComparisonOperatorOutput { + return pulumi.ToOutputWithContext(ctx, e).(CloudWatchAlarmTemplateComparisonOperatorOutput) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutput() CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return e.ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return CloudWatchAlarmTemplateComparisonOperator(e).ToCloudWatchAlarmTemplateComparisonOperatorOutputWithContext(ctx).ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(ctx) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateComparisonOperator) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CloudWatchAlarmTemplateComparisonOperatorOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateComparisonOperatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateComparisonOperator)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToCloudWatchAlarmTemplateComparisonOperatorOutput() CloudWatchAlarmTemplateComparisonOperatorOutput { + return o +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToCloudWatchAlarmTemplateComparisonOperatorOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateComparisonOperatorOutput { + return o +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutput() CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return o.ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CloudWatchAlarmTemplateComparisonOperator) *CloudWatchAlarmTemplateComparisonOperator { + return &v + }).(CloudWatchAlarmTemplateComparisonOperatorPtrOutput) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateComparisonOperator) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateComparisonOperator) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CloudWatchAlarmTemplateComparisonOperatorPtrOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateComparisonOperatorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplateComparisonOperator)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateComparisonOperatorPtrOutput) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutput() CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateComparisonOperatorPtrOutput) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateComparisonOperatorPtrOutput) Elem() CloudWatchAlarmTemplateComparisonOperatorOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateComparisonOperator) CloudWatchAlarmTemplateComparisonOperator { + if v != nil { + return *v + } + var ret CloudWatchAlarmTemplateComparisonOperator + return ret + }).(CloudWatchAlarmTemplateComparisonOperatorOutput) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateComparisonOperatorPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CloudWatchAlarmTemplateComparisonOperator) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CloudWatchAlarmTemplateComparisonOperatorInput is an input type that accepts values of the CloudWatchAlarmTemplateComparisonOperator enum +// A concrete instance of `CloudWatchAlarmTemplateComparisonOperatorInput` can be one of the following: +// +// CloudWatchAlarmTemplateComparisonOperatorGreaterThanOrEqualToThreshold +// CloudWatchAlarmTemplateComparisonOperatorGreaterThanThreshold +// CloudWatchAlarmTemplateComparisonOperatorLessThanThreshold +// CloudWatchAlarmTemplateComparisonOperatorLessThanOrEqualToThreshold +type CloudWatchAlarmTemplateComparisonOperatorInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateComparisonOperatorOutput() CloudWatchAlarmTemplateComparisonOperatorOutput + ToCloudWatchAlarmTemplateComparisonOperatorOutputWithContext(context.Context) CloudWatchAlarmTemplateComparisonOperatorOutput +} + +var cloudWatchAlarmTemplateComparisonOperatorPtrType = reflect.TypeOf((**CloudWatchAlarmTemplateComparisonOperator)(nil)).Elem() + +type CloudWatchAlarmTemplateComparisonOperatorPtrInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateComparisonOperatorPtrOutput() CloudWatchAlarmTemplateComparisonOperatorPtrOutput + ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(context.Context) CloudWatchAlarmTemplateComparisonOperatorPtrOutput +} + +type cloudWatchAlarmTemplateComparisonOperatorPtr string + +func CloudWatchAlarmTemplateComparisonOperatorPtr(v string) CloudWatchAlarmTemplateComparisonOperatorPtrInput { + return (*cloudWatchAlarmTemplateComparisonOperatorPtr)(&v) +} + +func (*cloudWatchAlarmTemplateComparisonOperatorPtr) ElementType() reflect.Type { + return cloudWatchAlarmTemplateComparisonOperatorPtrType +} + +func (in *cloudWatchAlarmTemplateComparisonOperatorPtr) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutput() CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return pulumi.ToOutput(in).(CloudWatchAlarmTemplateComparisonOperatorPtrOutput) +} + +func (in *cloudWatchAlarmTemplateComparisonOperatorPtr) ToCloudWatchAlarmTemplateComparisonOperatorPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateComparisonOperatorPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CloudWatchAlarmTemplateComparisonOperatorPtrOutput) +} + +// The statistic to apply to the alarm's metric data. +type CloudWatchAlarmTemplateStatistic string + +const ( + CloudWatchAlarmTemplateStatisticSampleCount = CloudWatchAlarmTemplateStatistic("SampleCount") + CloudWatchAlarmTemplateStatisticAverage = CloudWatchAlarmTemplateStatistic("Average") + CloudWatchAlarmTemplateStatisticSum = CloudWatchAlarmTemplateStatistic("Sum") + CloudWatchAlarmTemplateStatisticMinimum = CloudWatchAlarmTemplateStatistic("Minimum") + CloudWatchAlarmTemplateStatisticMaximum = CloudWatchAlarmTemplateStatistic("Maximum") +) + +func (CloudWatchAlarmTemplateStatistic) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateStatistic)(nil)).Elem() +} + +func (e CloudWatchAlarmTemplateStatistic) ToCloudWatchAlarmTemplateStatisticOutput() CloudWatchAlarmTemplateStatisticOutput { + return pulumi.ToOutput(e).(CloudWatchAlarmTemplateStatisticOutput) +} + +func (e CloudWatchAlarmTemplateStatistic) ToCloudWatchAlarmTemplateStatisticOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateStatisticOutput { + return pulumi.ToOutputWithContext(ctx, e).(CloudWatchAlarmTemplateStatisticOutput) +} + +func (e CloudWatchAlarmTemplateStatistic) ToCloudWatchAlarmTemplateStatisticPtrOutput() CloudWatchAlarmTemplateStatisticPtrOutput { + return e.ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateStatistic) ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateStatisticPtrOutput { + return CloudWatchAlarmTemplateStatistic(e).ToCloudWatchAlarmTemplateStatisticOutputWithContext(ctx).ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(ctx) +} + +func (e CloudWatchAlarmTemplateStatistic) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateStatistic) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateStatistic) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateStatistic) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CloudWatchAlarmTemplateStatisticOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateStatisticOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateStatistic)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToCloudWatchAlarmTemplateStatisticOutput() CloudWatchAlarmTemplateStatisticOutput { + return o +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToCloudWatchAlarmTemplateStatisticOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateStatisticOutput { + return o +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToCloudWatchAlarmTemplateStatisticPtrOutput() CloudWatchAlarmTemplateStatisticPtrOutput { + return o.ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateStatisticPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CloudWatchAlarmTemplateStatistic) *CloudWatchAlarmTemplateStatistic { + return &v + }).(CloudWatchAlarmTemplateStatisticPtrOutput) +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateStatistic) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateStatisticOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateStatistic) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CloudWatchAlarmTemplateStatisticPtrOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateStatisticPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplateStatistic)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateStatisticPtrOutput) ToCloudWatchAlarmTemplateStatisticPtrOutput() CloudWatchAlarmTemplateStatisticPtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateStatisticPtrOutput) ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateStatisticPtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateStatisticPtrOutput) Elem() CloudWatchAlarmTemplateStatisticOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateStatistic) CloudWatchAlarmTemplateStatistic { + if v != nil { + return *v + } + var ret CloudWatchAlarmTemplateStatistic + return ret + }).(CloudWatchAlarmTemplateStatisticOutput) +} + +func (o CloudWatchAlarmTemplateStatisticPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateStatisticPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CloudWatchAlarmTemplateStatistic) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CloudWatchAlarmTemplateStatisticInput is an input type that accepts values of the CloudWatchAlarmTemplateStatistic enum +// A concrete instance of `CloudWatchAlarmTemplateStatisticInput` can be one of the following: +// +// CloudWatchAlarmTemplateStatisticSampleCount +// CloudWatchAlarmTemplateStatisticAverage +// CloudWatchAlarmTemplateStatisticSum +// CloudWatchAlarmTemplateStatisticMinimum +// CloudWatchAlarmTemplateStatisticMaximum +type CloudWatchAlarmTemplateStatisticInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateStatisticOutput() CloudWatchAlarmTemplateStatisticOutput + ToCloudWatchAlarmTemplateStatisticOutputWithContext(context.Context) CloudWatchAlarmTemplateStatisticOutput +} + +var cloudWatchAlarmTemplateStatisticPtrType = reflect.TypeOf((**CloudWatchAlarmTemplateStatistic)(nil)).Elem() + +type CloudWatchAlarmTemplateStatisticPtrInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateStatisticPtrOutput() CloudWatchAlarmTemplateStatisticPtrOutput + ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(context.Context) CloudWatchAlarmTemplateStatisticPtrOutput +} + +type cloudWatchAlarmTemplateStatisticPtr string + +func CloudWatchAlarmTemplateStatisticPtr(v string) CloudWatchAlarmTemplateStatisticPtrInput { + return (*cloudWatchAlarmTemplateStatisticPtr)(&v) +} + +func (*cloudWatchAlarmTemplateStatisticPtr) ElementType() reflect.Type { + return cloudWatchAlarmTemplateStatisticPtrType +} + +func (in *cloudWatchAlarmTemplateStatisticPtr) ToCloudWatchAlarmTemplateStatisticPtrOutput() CloudWatchAlarmTemplateStatisticPtrOutput { + return pulumi.ToOutput(in).(CloudWatchAlarmTemplateStatisticPtrOutput) +} + +func (in *cloudWatchAlarmTemplateStatisticPtr) ToCloudWatchAlarmTemplateStatisticPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateStatisticPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CloudWatchAlarmTemplateStatisticPtrOutput) +} + +// The resource type this template should dynamically generate cloudwatch metric alarms for. +type CloudWatchAlarmTemplateTargetResourceType string + +const ( + CloudWatchAlarmTemplateTargetResourceTypeCloudfrontDistribution = CloudWatchAlarmTemplateTargetResourceType("CLOUDFRONT_DISTRIBUTION") + CloudWatchAlarmTemplateTargetResourceTypeMedialiveMultiplex = CloudWatchAlarmTemplateTargetResourceType("MEDIALIVE_MULTIPLEX") + CloudWatchAlarmTemplateTargetResourceTypeMedialiveChannel = CloudWatchAlarmTemplateTargetResourceType("MEDIALIVE_CHANNEL") + CloudWatchAlarmTemplateTargetResourceTypeMedialiveInputDevice = CloudWatchAlarmTemplateTargetResourceType("MEDIALIVE_INPUT_DEVICE") + CloudWatchAlarmTemplateTargetResourceTypeMediapackageChannel = CloudWatchAlarmTemplateTargetResourceType("MEDIAPACKAGE_CHANNEL") + CloudWatchAlarmTemplateTargetResourceTypeMediapackageOriginEndpoint = CloudWatchAlarmTemplateTargetResourceType("MEDIAPACKAGE_ORIGIN_ENDPOINT") + CloudWatchAlarmTemplateTargetResourceTypeMediaconnectFlow = CloudWatchAlarmTemplateTargetResourceType("MEDIACONNECT_FLOW") + CloudWatchAlarmTemplateTargetResourceTypeS3Bucket = CloudWatchAlarmTemplateTargetResourceType("S3_BUCKET") +) + +func (CloudWatchAlarmTemplateTargetResourceType) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateTargetResourceType)(nil)).Elem() +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToCloudWatchAlarmTemplateTargetResourceTypeOutput() CloudWatchAlarmTemplateTargetResourceTypeOutput { + return pulumi.ToOutput(e).(CloudWatchAlarmTemplateTargetResourceTypeOutput) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToCloudWatchAlarmTemplateTargetResourceTypeOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTargetResourceTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(CloudWatchAlarmTemplateTargetResourceTypeOutput) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutput() CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return e.ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return CloudWatchAlarmTemplateTargetResourceType(e).ToCloudWatchAlarmTemplateTargetResourceTypeOutputWithContext(ctx).ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(ctx) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateTargetResourceType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CloudWatchAlarmTemplateTargetResourceTypeOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateTargetResourceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateTargetResourceType)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToCloudWatchAlarmTemplateTargetResourceTypeOutput() CloudWatchAlarmTemplateTargetResourceTypeOutput { + return o +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToCloudWatchAlarmTemplateTargetResourceTypeOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTargetResourceTypeOutput { + return o +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutput() CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return o.ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CloudWatchAlarmTemplateTargetResourceType) *CloudWatchAlarmTemplateTargetResourceType { + return &v + }).(CloudWatchAlarmTemplateTargetResourceTypePtrOutput) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateTargetResourceType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateTargetResourceType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CloudWatchAlarmTemplateTargetResourceTypePtrOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateTargetResourceTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplateTargetResourceType)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateTargetResourceTypePtrOutput) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutput() CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateTargetResourceTypePtrOutput) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateTargetResourceTypePtrOutput) Elem() CloudWatchAlarmTemplateTargetResourceTypeOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateTargetResourceType) CloudWatchAlarmTemplateTargetResourceType { + if v != nil { + return *v + } + var ret CloudWatchAlarmTemplateTargetResourceType + return ret + }).(CloudWatchAlarmTemplateTargetResourceTypeOutput) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTargetResourceTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CloudWatchAlarmTemplateTargetResourceType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CloudWatchAlarmTemplateTargetResourceTypeInput is an input type that accepts values of the CloudWatchAlarmTemplateTargetResourceType enum +// A concrete instance of `CloudWatchAlarmTemplateTargetResourceTypeInput` can be one of the following: +// +// CloudWatchAlarmTemplateTargetResourceTypeCloudfrontDistribution +// CloudWatchAlarmTemplateTargetResourceTypeMedialiveMultiplex +// CloudWatchAlarmTemplateTargetResourceTypeMedialiveChannel +// CloudWatchAlarmTemplateTargetResourceTypeMedialiveInputDevice +// CloudWatchAlarmTemplateTargetResourceTypeMediapackageChannel +// CloudWatchAlarmTemplateTargetResourceTypeMediapackageOriginEndpoint +// CloudWatchAlarmTemplateTargetResourceTypeMediaconnectFlow +// CloudWatchAlarmTemplateTargetResourceTypeS3Bucket +type CloudWatchAlarmTemplateTargetResourceTypeInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateTargetResourceTypeOutput() CloudWatchAlarmTemplateTargetResourceTypeOutput + ToCloudWatchAlarmTemplateTargetResourceTypeOutputWithContext(context.Context) CloudWatchAlarmTemplateTargetResourceTypeOutput +} + +var cloudWatchAlarmTemplateTargetResourceTypePtrType = reflect.TypeOf((**CloudWatchAlarmTemplateTargetResourceType)(nil)).Elem() + +type CloudWatchAlarmTemplateTargetResourceTypePtrInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateTargetResourceTypePtrOutput() CloudWatchAlarmTemplateTargetResourceTypePtrOutput + ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(context.Context) CloudWatchAlarmTemplateTargetResourceTypePtrOutput +} + +type cloudWatchAlarmTemplateTargetResourceTypePtr string + +func CloudWatchAlarmTemplateTargetResourceTypePtr(v string) CloudWatchAlarmTemplateTargetResourceTypePtrInput { + return (*cloudWatchAlarmTemplateTargetResourceTypePtr)(&v) +} + +func (*cloudWatchAlarmTemplateTargetResourceTypePtr) ElementType() reflect.Type { + return cloudWatchAlarmTemplateTargetResourceTypePtrType +} + +func (in *cloudWatchAlarmTemplateTargetResourceTypePtr) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutput() CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return pulumi.ToOutput(in).(CloudWatchAlarmTemplateTargetResourceTypePtrOutput) +} + +func (in *cloudWatchAlarmTemplateTargetResourceTypePtr) ToCloudWatchAlarmTemplateTargetResourceTypePtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTargetResourceTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CloudWatchAlarmTemplateTargetResourceTypePtrOutput) +} + +// Specifies how missing data points are treated when evaluating the alarm's condition. +type CloudWatchAlarmTemplateTreatMissingData string + +const ( + CloudWatchAlarmTemplateTreatMissingDataNotBreaching = CloudWatchAlarmTemplateTreatMissingData("notBreaching") + CloudWatchAlarmTemplateTreatMissingDataBreaching = CloudWatchAlarmTemplateTreatMissingData("breaching") + CloudWatchAlarmTemplateTreatMissingDataIgnore = CloudWatchAlarmTemplateTreatMissingData("ignore") + CloudWatchAlarmTemplateTreatMissingDataMissing = CloudWatchAlarmTemplateTreatMissingData("missing") +) + +func (CloudWatchAlarmTemplateTreatMissingData) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateTreatMissingData)(nil)).Elem() +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToCloudWatchAlarmTemplateTreatMissingDataOutput() CloudWatchAlarmTemplateTreatMissingDataOutput { + return pulumi.ToOutput(e).(CloudWatchAlarmTemplateTreatMissingDataOutput) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToCloudWatchAlarmTemplateTreatMissingDataOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTreatMissingDataOutput { + return pulumi.ToOutputWithContext(ctx, e).(CloudWatchAlarmTemplateTreatMissingDataOutput) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutput() CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return e.ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return CloudWatchAlarmTemplateTreatMissingData(e).ToCloudWatchAlarmTemplateTreatMissingDataOutputWithContext(ctx).ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(ctx) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CloudWatchAlarmTemplateTreatMissingData) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CloudWatchAlarmTemplateTreatMissingDataOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateTreatMissingDataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudWatchAlarmTemplateTreatMissingData)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToCloudWatchAlarmTemplateTreatMissingDataOutput() CloudWatchAlarmTemplateTreatMissingDataOutput { + return o +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToCloudWatchAlarmTemplateTreatMissingDataOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTreatMissingDataOutput { + return o +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutput() CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return o.ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CloudWatchAlarmTemplateTreatMissingData) *CloudWatchAlarmTemplateTreatMissingData { + return &v + }).(CloudWatchAlarmTemplateTreatMissingDataPtrOutput) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateTreatMissingData) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudWatchAlarmTemplateTreatMissingData) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CloudWatchAlarmTemplateTreatMissingDataPtrOutput struct{ *pulumi.OutputState } + +func (CloudWatchAlarmTemplateTreatMissingDataPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudWatchAlarmTemplateTreatMissingData)(nil)).Elem() +} + +func (o CloudWatchAlarmTemplateTreatMissingDataPtrOutput) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutput() CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateTreatMissingDataPtrOutput) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return o +} + +func (o CloudWatchAlarmTemplateTreatMissingDataPtrOutput) Elem() CloudWatchAlarmTemplateTreatMissingDataOutput { + return o.ApplyT(func(v *CloudWatchAlarmTemplateTreatMissingData) CloudWatchAlarmTemplateTreatMissingData { + if v != nil { + return *v + } + var ret CloudWatchAlarmTemplateTreatMissingData + return ret + }).(CloudWatchAlarmTemplateTreatMissingDataOutput) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudWatchAlarmTemplateTreatMissingDataPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CloudWatchAlarmTemplateTreatMissingData) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CloudWatchAlarmTemplateTreatMissingDataInput is an input type that accepts values of the CloudWatchAlarmTemplateTreatMissingData enum +// A concrete instance of `CloudWatchAlarmTemplateTreatMissingDataInput` can be one of the following: +// +// CloudWatchAlarmTemplateTreatMissingDataNotBreaching +// CloudWatchAlarmTemplateTreatMissingDataBreaching +// CloudWatchAlarmTemplateTreatMissingDataIgnore +// CloudWatchAlarmTemplateTreatMissingDataMissing +type CloudWatchAlarmTemplateTreatMissingDataInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateTreatMissingDataOutput() CloudWatchAlarmTemplateTreatMissingDataOutput + ToCloudWatchAlarmTemplateTreatMissingDataOutputWithContext(context.Context) CloudWatchAlarmTemplateTreatMissingDataOutput +} + +var cloudWatchAlarmTemplateTreatMissingDataPtrType = reflect.TypeOf((**CloudWatchAlarmTemplateTreatMissingData)(nil)).Elem() + +type CloudWatchAlarmTemplateTreatMissingDataPtrInput interface { + pulumi.Input + + ToCloudWatchAlarmTemplateTreatMissingDataPtrOutput() CloudWatchAlarmTemplateTreatMissingDataPtrOutput + ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(context.Context) CloudWatchAlarmTemplateTreatMissingDataPtrOutput +} + +type cloudWatchAlarmTemplateTreatMissingDataPtr string + +func CloudWatchAlarmTemplateTreatMissingDataPtr(v string) CloudWatchAlarmTemplateTreatMissingDataPtrInput { + return (*cloudWatchAlarmTemplateTreatMissingDataPtr)(&v) +} + +func (*cloudWatchAlarmTemplateTreatMissingDataPtr) ElementType() reflect.Type { + return cloudWatchAlarmTemplateTreatMissingDataPtrType +} + +func (in *cloudWatchAlarmTemplateTreatMissingDataPtr) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutput() CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return pulumi.ToOutput(in).(CloudWatchAlarmTemplateTreatMissingDataPtrOutput) +} + +func (in *cloudWatchAlarmTemplateTreatMissingDataPtr) ToCloudWatchAlarmTemplateTreatMissingDataPtrOutputWithContext(ctx context.Context) CloudWatchAlarmTemplateTreatMissingDataPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CloudWatchAlarmTemplateTreatMissingDataPtrOutput) +} + +// The current state of the Cluster. +type ClusterStateEnum string + +const ( + ClusterStateEnumCreating = ClusterStateEnum("CREATING") + ClusterStateEnumCreateFailed = ClusterStateEnum("CREATE_FAILED") + ClusterStateEnumActive = ClusterStateEnum("ACTIVE") + ClusterStateEnumDeleting = ClusterStateEnum("DELETING") + ClusterStateEnumDeleted = ClusterStateEnum("DELETED") +) + +type ClusterStateEnumOutput struct{ *pulumi.OutputState } + +func (ClusterStateEnumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStateEnum)(nil)).Elem() +} + +func (o ClusterStateEnumOutput) ToClusterStateEnumOutput() ClusterStateEnumOutput { + return o +} + +func (o ClusterStateEnumOutput) ToClusterStateEnumOutputWithContext(ctx context.Context) ClusterStateEnumOutput { + return o +} + +func (o ClusterStateEnumOutput) ToClusterStateEnumPtrOutput() ClusterStateEnumPtrOutput { + return o.ToClusterStateEnumPtrOutputWithContext(context.Background()) +} + +func (o ClusterStateEnumOutput) ToClusterStateEnumPtrOutputWithContext(ctx context.Context) ClusterStateEnumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterStateEnum) *ClusterStateEnum { + return &v + }).(ClusterStateEnumPtrOutput) +} + +func (o ClusterStateEnumOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterStateEnum) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterStateEnum) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterStateEnumPtrOutput struct{ *pulumi.OutputState } + +func (ClusterStateEnumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStateEnum)(nil)).Elem() +} + +func (o ClusterStateEnumPtrOutput) ToClusterStateEnumPtrOutput() ClusterStateEnumPtrOutput { + return o +} + +func (o ClusterStateEnumPtrOutput) ToClusterStateEnumPtrOutputWithContext(ctx context.Context) ClusterStateEnumPtrOutput { + return o +} + +func (o ClusterStateEnumPtrOutput) Elem() ClusterStateEnumOutput { + return o.ApplyT(func(v *ClusterStateEnum) ClusterStateEnum { + if v != nil { + return *v + } + var ret ClusterStateEnum + return ret + }).(ClusterStateEnumOutput) +} + +func (o ClusterStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterStateEnum) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// The hardware type for the cluster. +type ClusterType string + +const ( + ClusterTypeOnPremises = ClusterType("ON_PREMISES") + ClusterTypeOutpostsRack = ClusterType("OUTPOSTS_RACK") + ClusterTypeOutpostsServer = ClusterType("OUTPOSTS_SERVER") + ClusterTypeEc2 = ClusterType("EC2") +) + +func (ClusterType) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterType)(nil)).Elem() +} + +func (e ClusterType) ToClusterTypeOutput() ClusterTypeOutput { + return pulumi.ToOutput(e).(ClusterTypeOutput) +} + +func (e ClusterType) ToClusterTypeOutputWithContext(ctx context.Context) ClusterTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ClusterTypeOutput) +} + +func (e ClusterType) ToClusterTypePtrOutput() ClusterTypePtrOutput { + return e.ToClusterTypePtrOutputWithContext(context.Background()) +} + +func (e ClusterType) ToClusterTypePtrOutputWithContext(ctx context.Context) ClusterTypePtrOutput { + return ClusterType(e).ToClusterTypeOutputWithContext(ctx).ToClusterTypePtrOutputWithContext(ctx) +} + +func (e ClusterType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ClusterType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ClusterTypeOutput struct{ *pulumi.OutputState } + +func (ClusterTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterType)(nil)).Elem() +} + +func (o ClusterTypeOutput) ToClusterTypeOutput() ClusterTypeOutput { + return o +} + +func (o ClusterTypeOutput) ToClusterTypeOutputWithContext(ctx context.Context) ClusterTypeOutput { + return o +} + +func (o ClusterTypeOutput) ToClusterTypePtrOutput() ClusterTypePtrOutput { + return o.ToClusterTypePtrOutputWithContext(context.Background()) +} + +func (o ClusterTypeOutput) ToClusterTypePtrOutputWithContext(ctx context.Context) ClusterTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterType) *ClusterType { + return &v + }).(ClusterTypePtrOutput) +} + +func (o ClusterTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterTypePtrOutput struct{ *pulumi.OutputState } + +func (ClusterTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterType)(nil)).Elem() +} + +func (o ClusterTypePtrOutput) ToClusterTypePtrOutput() ClusterTypePtrOutput { + return o +} + +func (o ClusterTypePtrOutput) ToClusterTypePtrOutputWithContext(ctx context.Context) ClusterTypePtrOutput { + return o +} + +func (o ClusterTypePtrOutput) Elem() ClusterTypeOutput { + return o.ApplyT(func(v *ClusterType) ClusterType { + if v != nil { + return *v + } + var ret ClusterType + return ret + }).(ClusterTypeOutput) +} + +func (o ClusterTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ClusterTypeInput is an input type that accepts values of the ClusterType enum +// A concrete instance of `ClusterTypeInput` can be one of the following: +// +// ClusterTypeOnPremises +// ClusterTypeOutpostsRack +// ClusterTypeOutpostsServer +// ClusterTypeEc2 +type ClusterTypeInput interface { + pulumi.Input + + ToClusterTypeOutput() ClusterTypeOutput + ToClusterTypeOutputWithContext(context.Context) ClusterTypeOutput +} + +var clusterTypePtrType = reflect.TypeOf((**ClusterType)(nil)).Elem() + +type ClusterTypePtrInput interface { + pulumi.Input + + ToClusterTypePtrOutput() ClusterTypePtrOutput + ToClusterTypePtrOutputWithContext(context.Context) ClusterTypePtrOutput +} + +type clusterTypePtr string + +func ClusterTypePtr(v string) ClusterTypePtrInput { + return (*clusterTypePtr)(&v) +} + +func (*clusterTypePtr) ElementType() reflect.Type { + return clusterTypePtrType +} + +func (in *clusterTypePtr) ToClusterTypePtrOutput() ClusterTypePtrOutput { + return pulumi.ToOutput(in).(ClusterTypePtrOutput) +} + +func (in *clusterTypePtr) ToClusterTypePtrOutputWithContext(ctx context.Context) ClusterTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ClusterTypePtrOutput) +} + +// The type of event to match with the rule. +type EventBridgeRuleTemplateEventType string + +const ( + EventBridgeRuleTemplateEventTypeMedialiveMultiplexAlert = EventBridgeRuleTemplateEventType("MEDIALIVE_MULTIPLEX_ALERT") + EventBridgeRuleTemplateEventTypeMedialiveMultiplexStateChange = EventBridgeRuleTemplateEventType("MEDIALIVE_MULTIPLEX_STATE_CHANGE") + EventBridgeRuleTemplateEventTypeMedialiveChannelAlert = EventBridgeRuleTemplateEventType("MEDIALIVE_CHANNEL_ALERT") + EventBridgeRuleTemplateEventTypeMedialiveChannelInputChange = EventBridgeRuleTemplateEventType("MEDIALIVE_CHANNEL_INPUT_CHANGE") + EventBridgeRuleTemplateEventTypeMedialiveChannelStateChange = EventBridgeRuleTemplateEventType("MEDIALIVE_CHANNEL_STATE_CHANGE") + EventBridgeRuleTemplateEventTypeMediapackageInputNotification = EventBridgeRuleTemplateEventType("MEDIAPACKAGE_INPUT_NOTIFICATION") + EventBridgeRuleTemplateEventTypeMediapackageKeyProviderNotification = EventBridgeRuleTemplateEventType("MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION") + EventBridgeRuleTemplateEventTypeMediapackageHarvestJobNotification = EventBridgeRuleTemplateEventType("MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION") + EventBridgeRuleTemplateEventTypeSignalMapActiveAlarm = EventBridgeRuleTemplateEventType("SIGNAL_MAP_ACTIVE_ALARM") + EventBridgeRuleTemplateEventTypeMediaconnectAlert = EventBridgeRuleTemplateEventType("MEDIACONNECT_ALERT") + EventBridgeRuleTemplateEventTypeMediaconnectSourceHealth = EventBridgeRuleTemplateEventType("MEDIACONNECT_SOURCE_HEALTH") + EventBridgeRuleTemplateEventTypeMediaconnectOutputHealth = EventBridgeRuleTemplateEventType("MEDIACONNECT_OUTPUT_HEALTH") + EventBridgeRuleTemplateEventTypeMediaconnectFlowStatusChange = EventBridgeRuleTemplateEventType("MEDIACONNECT_FLOW_STATUS_CHANGE") +) + +func (EventBridgeRuleTemplateEventType) ElementType() reflect.Type { + return reflect.TypeOf((*EventBridgeRuleTemplateEventType)(nil)).Elem() +} + +func (e EventBridgeRuleTemplateEventType) ToEventBridgeRuleTemplateEventTypeOutput() EventBridgeRuleTemplateEventTypeOutput { + return pulumi.ToOutput(e).(EventBridgeRuleTemplateEventTypeOutput) +} + +func (e EventBridgeRuleTemplateEventType) ToEventBridgeRuleTemplateEventTypeOutputWithContext(ctx context.Context) EventBridgeRuleTemplateEventTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(EventBridgeRuleTemplateEventTypeOutput) +} + +func (e EventBridgeRuleTemplateEventType) ToEventBridgeRuleTemplateEventTypePtrOutput() EventBridgeRuleTemplateEventTypePtrOutput { + return e.ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(context.Background()) +} + +func (e EventBridgeRuleTemplateEventType) ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(ctx context.Context) EventBridgeRuleTemplateEventTypePtrOutput { + return EventBridgeRuleTemplateEventType(e).ToEventBridgeRuleTemplateEventTypeOutputWithContext(ctx).ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(ctx) +} + +func (e EventBridgeRuleTemplateEventType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e EventBridgeRuleTemplateEventType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e EventBridgeRuleTemplateEventType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e EventBridgeRuleTemplateEventType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type EventBridgeRuleTemplateEventTypeOutput struct{ *pulumi.OutputState } + +func (EventBridgeRuleTemplateEventTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventBridgeRuleTemplateEventType)(nil)).Elem() +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToEventBridgeRuleTemplateEventTypeOutput() EventBridgeRuleTemplateEventTypeOutput { + return o +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToEventBridgeRuleTemplateEventTypeOutputWithContext(ctx context.Context) EventBridgeRuleTemplateEventTypeOutput { + return o +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToEventBridgeRuleTemplateEventTypePtrOutput() EventBridgeRuleTemplateEventTypePtrOutput { + return o.ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(context.Background()) +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(ctx context.Context) EventBridgeRuleTemplateEventTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventBridgeRuleTemplateEventType) *EventBridgeRuleTemplateEventType { + return &v + }).(EventBridgeRuleTemplateEventTypePtrOutput) +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e EventBridgeRuleTemplateEventType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o EventBridgeRuleTemplateEventTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e EventBridgeRuleTemplateEventType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type EventBridgeRuleTemplateEventTypePtrOutput struct{ *pulumi.OutputState } + +func (EventBridgeRuleTemplateEventTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventBridgeRuleTemplateEventType)(nil)).Elem() +} + +func (o EventBridgeRuleTemplateEventTypePtrOutput) ToEventBridgeRuleTemplateEventTypePtrOutput() EventBridgeRuleTemplateEventTypePtrOutput { + return o +} + +func (o EventBridgeRuleTemplateEventTypePtrOutput) ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(ctx context.Context) EventBridgeRuleTemplateEventTypePtrOutput { + return o +} + +func (o EventBridgeRuleTemplateEventTypePtrOutput) Elem() EventBridgeRuleTemplateEventTypeOutput { + return o.ApplyT(func(v *EventBridgeRuleTemplateEventType) EventBridgeRuleTemplateEventType { + if v != nil { + return *v + } + var ret EventBridgeRuleTemplateEventType + return ret + }).(EventBridgeRuleTemplateEventTypeOutput) +} + +func (o EventBridgeRuleTemplateEventTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o EventBridgeRuleTemplateEventTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *EventBridgeRuleTemplateEventType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// EventBridgeRuleTemplateEventTypeInput is an input type that accepts values of the EventBridgeRuleTemplateEventType enum +// A concrete instance of `EventBridgeRuleTemplateEventTypeInput` can be one of the following: +// +// EventBridgeRuleTemplateEventTypeMedialiveMultiplexAlert +// EventBridgeRuleTemplateEventTypeMedialiveMultiplexStateChange +// EventBridgeRuleTemplateEventTypeMedialiveChannelAlert +// EventBridgeRuleTemplateEventTypeMedialiveChannelInputChange +// EventBridgeRuleTemplateEventTypeMedialiveChannelStateChange +// EventBridgeRuleTemplateEventTypeMediapackageInputNotification +// EventBridgeRuleTemplateEventTypeMediapackageKeyProviderNotification +// EventBridgeRuleTemplateEventTypeMediapackageHarvestJobNotification +// EventBridgeRuleTemplateEventTypeSignalMapActiveAlarm +// EventBridgeRuleTemplateEventTypeMediaconnectAlert +// EventBridgeRuleTemplateEventTypeMediaconnectSourceHealth +// EventBridgeRuleTemplateEventTypeMediaconnectOutputHealth +// EventBridgeRuleTemplateEventTypeMediaconnectFlowStatusChange +type EventBridgeRuleTemplateEventTypeInput interface { + pulumi.Input + + ToEventBridgeRuleTemplateEventTypeOutput() EventBridgeRuleTemplateEventTypeOutput + ToEventBridgeRuleTemplateEventTypeOutputWithContext(context.Context) EventBridgeRuleTemplateEventTypeOutput +} + +var eventBridgeRuleTemplateEventTypePtrType = reflect.TypeOf((**EventBridgeRuleTemplateEventType)(nil)).Elem() + +type EventBridgeRuleTemplateEventTypePtrInput interface { + pulumi.Input + + ToEventBridgeRuleTemplateEventTypePtrOutput() EventBridgeRuleTemplateEventTypePtrOutput + ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(context.Context) EventBridgeRuleTemplateEventTypePtrOutput +} + +type eventBridgeRuleTemplateEventTypePtr string + +func EventBridgeRuleTemplateEventTypePtr(v string) EventBridgeRuleTemplateEventTypePtrInput { + return (*eventBridgeRuleTemplateEventTypePtr)(&v) +} + +func (*eventBridgeRuleTemplateEventTypePtr) ElementType() reflect.Type { + return eventBridgeRuleTemplateEventTypePtrType +} + +func (in *eventBridgeRuleTemplateEventTypePtr) ToEventBridgeRuleTemplateEventTypePtrOutput() EventBridgeRuleTemplateEventTypePtrOutput { + return pulumi.ToOutput(in).(EventBridgeRuleTemplateEventTypePtrOutput) +} + +func (in *eventBridgeRuleTemplateEventTypePtr) ToEventBridgeRuleTemplateEventTypePtrOutputWithContext(ctx context.Context) EventBridgeRuleTemplateEventTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(EventBridgeRuleTemplateEventTypePtrOutput) +} + // The current state of the multiplex. type MultiplexStateEnum string const ( - MultiplexStateEnumCreating = MultiplexStateEnum("CREATING") - MultiplexStateEnumCreateFailed = MultiplexStateEnum("CREATE_FAILED") - MultiplexStateEnumIdle = MultiplexStateEnum("IDLE") - MultiplexStateEnumStarting = MultiplexStateEnum("STARTING") - MultiplexStateEnumRunning = MultiplexStateEnum("RUNNING") - MultiplexStateEnumRecovering = MultiplexStateEnum("RECOVERING") - MultiplexStateEnumStopping = MultiplexStateEnum("STOPPING") - MultiplexStateEnumDeleting = MultiplexStateEnum("DELETING") - MultiplexStateEnumDeleted = MultiplexStateEnum("DELETED") + MultiplexStateEnumCreating = MultiplexStateEnum("CREATING") + MultiplexStateEnumCreateFailed = MultiplexStateEnum("CREATE_FAILED") + MultiplexStateEnumIdle = MultiplexStateEnum("IDLE") + MultiplexStateEnumStarting = MultiplexStateEnum("STARTING") + MultiplexStateEnumRunning = MultiplexStateEnum("RUNNING") + MultiplexStateEnumRecovering = MultiplexStateEnum("RECOVERING") + MultiplexStateEnumStopping = MultiplexStateEnum("STOPPING") + MultiplexStateEnumDeleting = MultiplexStateEnum("DELETING") + MultiplexStateEnumDeleted = MultiplexStateEnum("DELETED") +) + +type MultiplexStateEnumOutput struct{ *pulumi.OutputState } + +func (MultiplexStateEnumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiplexStateEnum)(nil)).Elem() +} + +func (o MultiplexStateEnumOutput) ToMultiplexStateEnumOutput() MultiplexStateEnumOutput { + return o +} + +func (o MultiplexStateEnumOutput) ToMultiplexStateEnumOutputWithContext(ctx context.Context) MultiplexStateEnumOutput { + return o +} + +func (o MultiplexStateEnumOutput) ToMultiplexStateEnumPtrOutput() MultiplexStateEnumPtrOutput { + return o.ToMultiplexStateEnumPtrOutputWithContext(context.Background()) +} + +func (o MultiplexStateEnumOutput) ToMultiplexStateEnumPtrOutputWithContext(ctx context.Context) MultiplexStateEnumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiplexStateEnum) *MultiplexStateEnum { + return &v + }).(MultiplexStateEnumPtrOutput) +} + +func (o MultiplexStateEnumOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o MultiplexStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexStateEnum) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o MultiplexStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o MultiplexStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexStateEnum) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type MultiplexStateEnumPtrOutput struct{ *pulumi.OutputState } + +func (MultiplexStateEnumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MultiplexStateEnum)(nil)).Elem() +} + +func (o MultiplexStateEnumPtrOutput) ToMultiplexStateEnumPtrOutput() MultiplexStateEnumPtrOutput { + return o +} + +func (o MultiplexStateEnumPtrOutput) ToMultiplexStateEnumPtrOutputWithContext(ctx context.Context) MultiplexStateEnumPtrOutput { + return o +} + +func (o MultiplexStateEnumPtrOutput) Elem() MultiplexStateEnumOutput { + return o.ApplyT(func(v *MultiplexStateEnum) MultiplexStateEnum { + if v != nil { + return *v + } + var ret MultiplexStateEnum + return ret + }).(MultiplexStateEnumOutput) +} + +func (o MultiplexStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o MultiplexStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *MultiplexStateEnum) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// Indicates which pipeline is preferred by the multiplex for program ingest. +// If set to \"PIPELINE_0\" or \"PIPELINE_1\" and an unhealthy ingest causes the multiplex to switch to the non-preferred pipeline, +// it will switch back once that ingest is healthy again. If set to \"CURRENTLY_ACTIVE\", +// it will not switch back to the other pipeline based on it recovering to a healthy state, +// it will only switch if the active pipeline becomes unhealthy. +type MultiplexprogramPreferredChannelPipeline string + +const ( + MultiplexprogramPreferredChannelPipelineCurrentlyActive = MultiplexprogramPreferredChannelPipeline("CURRENTLY_ACTIVE") + MultiplexprogramPreferredChannelPipelinePipeline0 = MultiplexprogramPreferredChannelPipeline("PIPELINE_0") + MultiplexprogramPreferredChannelPipelinePipeline1 = MultiplexprogramPreferredChannelPipeline("PIPELINE_1") +) + +func (MultiplexprogramPreferredChannelPipeline) ElementType() reflect.Type { + return reflect.TypeOf((*MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +} + +func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelineOutput() MultiplexprogramPreferredChannelPipelineOutput { + return pulumi.ToOutput(e).(MultiplexprogramPreferredChannelPipelineOutput) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelineOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelineOutput { + return pulumi.ToOutputWithContext(ctx, e).(MultiplexprogramPreferredChannelPipelineOutput) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { + return e.ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(context.Background()) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { + return MultiplexprogramPreferredChannelPipeline(e).ToMultiplexprogramPreferredChannelPipelineOutputWithContext(ctx).ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e MultiplexprogramPreferredChannelPipeline) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type MultiplexprogramPreferredChannelPipelineOutput struct{ *pulumi.OutputState } + +func (MultiplexprogramPreferredChannelPipelineOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelineOutput() MultiplexprogramPreferredChannelPipelineOutput { + return o +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelineOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelineOutput { + return o +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { + return o.ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(context.Background()) +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiplexprogramPreferredChannelPipeline) *MultiplexprogramPreferredChannelPipeline { + return &v + }).(MultiplexprogramPreferredChannelPipelinePtrOutput) +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexprogramPreferredChannelPipeline) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexprogramPreferredChannelPipeline) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type MultiplexprogramPreferredChannelPipelinePtrOutput struct{ *pulumi.OutputState } + +func (MultiplexprogramPreferredChannelPipelinePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +} + +func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { + return o +} + +func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { + return o +} + +func (o MultiplexprogramPreferredChannelPipelinePtrOutput) Elem() MultiplexprogramPreferredChannelPipelineOutput { + return o.ApplyT(func(v *MultiplexprogramPreferredChannelPipeline) MultiplexprogramPreferredChannelPipeline { + if v != nil { + return *v + } + var ret MultiplexprogramPreferredChannelPipeline + return ret + }).(MultiplexprogramPreferredChannelPipelineOutput) +} + +func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *MultiplexprogramPreferredChannelPipeline) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// MultiplexprogramPreferredChannelPipelineInput is an input type that accepts values of the MultiplexprogramPreferredChannelPipeline enum +// A concrete instance of `MultiplexprogramPreferredChannelPipelineInput` can be one of the following: +// +// MultiplexprogramPreferredChannelPipelineCurrentlyActive +// MultiplexprogramPreferredChannelPipelinePipeline0 +// MultiplexprogramPreferredChannelPipelinePipeline1 +type MultiplexprogramPreferredChannelPipelineInput interface { + pulumi.Input + + ToMultiplexprogramPreferredChannelPipelineOutput() MultiplexprogramPreferredChannelPipelineOutput + ToMultiplexprogramPreferredChannelPipelineOutputWithContext(context.Context) MultiplexprogramPreferredChannelPipelineOutput +} + +var multiplexprogramPreferredChannelPipelinePtrType = reflect.TypeOf((**MultiplexprogramPreferredChannelPipeline)(nil)).Elem() + +type MultiplexprogramPreferredChannelPipelinePtrInput interface { + pulumi.Input + + ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput + ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput +} + +type multiplexprogramPreferredChannelPipelinePtr string + +func MultiplexprogramPreferredChannelPipelinePtr(v string) MultiplexprogramPreferredChannelPipelinePtrInput { + return (*multiplexprogramPreferredChannelPipelinePtr)(&v) +} + +func (*multiplexprogramPreferredChannelPipelinePtr) ElementType() reflect.Type { + return multiplexprogramPreferredChannelPipelinePtrType +} + +func (in *multiplexprogramPreferredChannelPipelinePtr) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { + return pulumi.ToOutput(in).(MultiplexprogramPreferredChannelPipelinePtrOutput) +} + +func (in *multiplexprogramPreferredChannelPipelinePtr) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(MultiplexprogramPreferredChannelPipelinePtrOutput) +} + +type NetworkStateEnum string + +const ( + NetworkStateEnumCreating = NetworkStateEnum("CREATING") + NetworkStateEnumCreateFailed = NetworkStateEnum("CREATE_FAILED") + NetworkStateEnumActive = NetworkStateEnum("ACTIVE") + NetworkStateEnumDeleting = NetworkStateEnum("DELETING") + NetworkStateEnumIdle = NetworkStateEnum("IDLE") + NetworkStateEnumInUse = NetworkStateEnum("IN_USE") + NetworkStateEnumUpdating = NetworkStateEnum("UPDATING") + NetworkStateEnumDeleted = NetworkStateEnum("DELETED") + NetworkStateEnumDeleteFailed = NetworkStateEnum("DELETE_FAILED") +) + +type NetworkStateEnumOutput struct{ *pulumi.OutputState } + +func (NetworkStateEnumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkStateEnum)(nil)).Elem() +} + +func (o NetworkStateEnumOutput) ToNetworkStateEnumOutput() NetworkStateEnumOutput { + return o +} + +func (o NetworkStateEnumOutput) ToNetworkStateEnumOutputWithContext(ctx context.Context) NetworkStateEnumOutput { + return o +} + +func (o NetworkStateEnumOutput) ToNetworkStateEnumPtrOutput() NetworkStateEnumPtrOutput { + return o.ToNetworkStateEnumPtrOutputWithContext(context.Background()) +} + +func (o NetworkStateEnumOutput) ToNetworkStateEnumPtrOutputWithContext(ctx context.Context) NetworkStateEnumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkStateEnum) *NetworkStateEnum { + return &v + }).(NetworkStateEnumPtrOutput) +} + +func (o NetworkStateEnumOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o NetworkStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e NetworkStateEnum) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o NetworkStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o NetworkStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e NetworkStateEnum) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type NetworkStateEnumPtrOutput struct{ *pulumi.OutputState } + +func (NetworkStateEnumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkStateEnum)(nil)).Elem() +} + +func (o NetworkStateEnumPtrOutput) ToNetworkStateEnumPtrOutput() NetworkStateEnumPtrOutput { + return o +} + +func (o NetworkStateEnumPtrOutput) ToNetworkStateEnumPtrOutputWithContext(ctx context.Context) NetworkStateEnumPtrOutput { + return o +} + +func (o NetworkStateEnumPtrOutput) Elem() NetworkStateEnumOutput { + return o.ApplyT(func(v *NetworkStateEnum) NetworkStateEnum { + if v != nil { + return *v + } + var ret NetworkStateEnum + return ret + }).(NetworkStateEnumOutput) +} + +func (o NetworkStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o NetworkStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *NetworkStateEnum) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// The current state of the SdiSource. +type SdiSourceMode string + +const ( + SdiSourceModeQuadrant = SdiSourceMode("QUADRANT") + SdiSourceModeInterleave = SdiSourceMode("INTERLEAVE") +) + +func (SdiSourceMode) ElementType() reflect.Type { + return reflect.TypeOf((*SdiSourceMode)(nil)).Elem() +} + +func (e SdiSourceMode) ToSdiSourceModeOutput() SdiSourceModeOutput { + return pulumi.ToOutput(e).(SdiSourceModeOutput) +} + +func (e SdiSourceMode) ToSdiSourceModeOutputWithContext(ctx context.Context) SdiSourceModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(SdiSourceModeOutput) +} + +func (e SdiSourceMode) ToSdiSourceModePtrOutput() SdiSourceModePtrOutput { + return e.ToSdiSourceModePtrOutputWithContext(context.Background()) +} + +func (e SdiSourceMode) ToSdiSourceModePtrOutputWithContext(ctx context.Context) SdiSourceModePtrOutput { + return SdiSourceMode(e).ToSdiSourceModeOutputWithContext(ctx).ToSdiSourceModePtrOutputWithContext(ctx) +} + +func (e SdiSourceMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SdiSourceMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SdiSourceMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e SdiSourceMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type SdiSourceModeOutput struct{ *pulumi.OutputState } + +func (SdiSourceModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SdiSourceMode)(nil)).Elem() +} + +func (o SdiSourceModeOutput) ToSdiSourceModeOutput() SdiSourceModeOutput { + return o +} + +func (o SdiSourceModeOutput) ToSdiSourceModeOutputWithContext(ctx context.Context) SdiSourceModeOutput { + return o +} + +func (o SdiSourceModeOutput) ToSdiSourceModePtrOutput() SdiSourceModePtrOutput { + return o.ToSdiSourceModePtrOutputWithContext(context.Background()) +} + +func (o SdiSourceModeOutput) ToSdiSourceModePtrOutputWithContext(ctx context.Context) SdiSourceModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SdiSourceMode) *SdiSourceMode { + return &v + }).(SdiSourceModePtrOutput) +} + +func (o SdiSourceModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SdiSourceModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SdiSourceMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SdiSourceModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SdiSourceModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SdiSourceMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SdiSourceModePtrOutput struct{ *pulumi.OutputState } + +func (SdiSourceModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SdiSourceMode)(nil)).Elem() +} + +func (o SdiSourceModePtrOutput) ToSdiSourceModePtrOutput() SdiSourceModePtrOutput { + return o +} + +func (o SdiSourceModePtrOutput) ToSdiSourceModePtrOutputWithContext(ctx context.Context) SdiSourceModePtrOutput { + return o +} + +func (o SdiSourceModePtrOutput) Elem() SdiSourceModeOutput { + return o.ApplyT(func(v *SdiSourceMode) SdiSourceMode { + if v != nil { + return *v + } + var ret SdiSourceMode + return ret + }).(SdiSourceModeOutput) +} + +func (o SdiSourceModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SdiSourceModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SdiSourceMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// SdiSourceModeInput is an input type that accepts values of the SdiSourceMode enum +// A concrete instance of `SdiSourceModeInput` can be one of the following: +// +// SdiSourceModeQuadrant +// SdiSourceModeInterleave +type SdiSourceModeInput interface { + pulumi.Input + + ToSdiSourceModeOutput() SdiSourceModeOutput + ToSdiSourceModeOutputWithContext(context.Context) SdiSourceModeOutput +} + +var sdiSourceModePtrType = reflect.TypeOf((**SdiSourceMode)(nil)).Elem() + +type SdiSourceModePtrInput interface { + pulumi.Input + + ToSdiSourceModePtrOutput() SdiSourceModePtrOutput + ToSdiSourceModePtrOutputWithContext(context.Context) SdiSourceModePtrOutput +} + +type sdiSourceModePtr string + +func SdiSourceModePtr(v string) SdiSourceModePtrInput { + return (*sdiSourceModePtr)(&v) +} + +func (*sdiSourceModePtr) ElementType() reflect.Type { + return sdiSourceModePtrType +} + +func (in *sdiSourceModePtr) ToSdiSourceModePtrOutput() SdiSourceModePtrOutput { + return pulumi.ToOutput(in).(SdiSourceModePtrOutput) +} + +func (in *sdiSourceModePtr) ToSdiSourceModePtrOutputWithContext(ctx context.Context) SdiSourceModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SdiSourceModePtrOutput) +} + +// The current state of the SdiSource. +type SdiSourceStateEnum string + +const ( + SdiSourceStateEnumIdle = SdiSourceStateEnum("IDLE") + SdiSourceStateEnumInUse = SdiSourceStateEnum("IN_USE") + SdiSourceStateEnumDeleted = SdiSourceStateEnum("DELETED") ) -type MultiplexStateEnumOutput struct{ *pulumi.OutputState } +type SdiSourceStateEnumOutput struct{ *pulumi.OutputState } -func (MultiplexStateEnumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiplexStateEnum)(nil)).Elem() +func (SdiSourceStateEnumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SdiSourceStateEnum)(nil)).Elem() } -func (o MultiplexStateEnumOutput) ToMultiplexStateEnumOutput() MultiplexStateEnumOutput { +func (o SdiSourceStateEnumOutput) ToSdiSourceStateEnumOutput() SdiSourceStateEnumOutput { return o } -func (o MultiplexStateEnumOutput) ToMultiplexStateEnumOutputWithContext(ctx context.Context) MultiplexStateEnumOutput { +func (o SdiSourceStateEnumOutput) ToSdiSourceStateEnumOutputWithContext(ctx context.Context) SdiSourceStateEnumOutput { return o } -func (o MultiplexStateEnumOutput) ToMultiplexStateEnumPtrOutput() MultiplexStateEnumPtrOutput { - return o.ToMultiplexStateEnumPtrOutputWithContext(context.Background()) +func (o SdiSourceStateEnumOutput) ToSdiSourceStateEnumPtrOutput() SdiSourceStateEnumPtrOutput { + return o.ToSdiSourceStateEnumPtrOutputWithContext(context.Background()) } -func (o MultiplexStateEnumOutput) ToMultiplexStateEnumPtrOutputWithContext(ctx context.Context) MultiplexStateEnumPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiplexStateEnum) *MultiplexStateEnum { +func (o SdiSourceStateEnumOutput) ToSdiSourceStateEnumPtrOutputWithContext(ctx context.Context) SdiSourceStateEnumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SdiSourceStateEnum) *SdiSourceStateEnum { return &v - }).(MultiplexStateEnumPtrOutput) + }).(SdiSourceStateEnumPtrOutput) } -func (o MultiplexStateEnumOutput) ToStringOutput() pulumi.StringOutput { +func (o SdiSourceStateEnumOutput) ToStringOutput() pulumi.StringOutput { return o.ToStringOutputWithContext(context.Background()) } -func (o MultiplexStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexStateEnum) string { +func (o SdiSourceStateEnumOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SdiSourceStateEnum) string { return string(e) }).(pulumi.StringOutput) } -func (o MultiplexStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { +func (o SdiSourceStateEnumOutput) ToStringPtrOutput() pulumi.StringPtrOutput { return o.ToStringPtrOutputWithContext(context.Background()) } -func (o MultiplexStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexStateEnum) *string { +func (o SdiSourceStateEnumOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SdiSourceStateEnum) *string { v := string(e) return &v }).(pulumi.StringPtrOutput) } -type MultiplexStateEnumPtrOutput struct{ *pulumi.OutputState } +type SdiSourceStateEnumPtrOutput struct{ *pulumi.OutputState } -func (MultiplexStateEnumPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MultiplexStateEnum)(nil)).Elem() +func (SdiSourceStateEnumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SdiSourceStateEnum)(nil)).Elem() } -func (o MultiplexStateEnumPtrOutput) ToMultiplexStateEnumPtrOutput() MultiplexStateEnumPtrOutput { +func (o SdiSourceStateEnumPtrOutput) ToSdiSourceStateEnumPtrOutput() SdiSourceStateEnumPtrOutput { return o } -func (o MultiplexStateEnumPtrOutput) ToMultiplexStateEnumPtrOutputWithContext(ctx context.Context) MultiplexStateEnumPtrOutput { +func (o SdiSourceStateEnumPtrOutput) ToSdiSourceStateEnumPtrOutputWithContext(ctx context.Context) SdiSourceStateEnumPtrOutput { return o } -func (o MultiplexStateEnumPtrOutput) Elem() MultiplexStateEnumOutput { - return o.ApplyT(func(v *MultiplexStateEnum) MultiplexStateEnum { +func (o SdiSourceStateEnumPtrOutput) Elem() SdiSourceStateEnumOutput { + return o.ApplyT(func(v *SdiSourceStateEnum) SdiSourceStateEnum { if v != nil { return *v } - var ret MultiplexStateEnum + var ret SdiSourceStateEnum return ret - }).(MultiplexStateEnumOutput) + }).(SdiSourceStateEnumOutput) } -func (o MultiplexStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { +func (o SdiSourceStateEnumPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { return o.ToStringPtrOutputWithContext(context.Background()) } -func (o MultiplexStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *MultiplexStateEnum) *string { +func (o SdiSourceStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SdiSourceStateEnum) *string { if e == nil { return nil } @@ -108,130 +1872,125 @@ func (o MultiplexStateEnumPtrOutput) ToStringPtrOutputWithContext(ctx context.Co }).(pulumi.StringPtrOutput) } -// Indicates which pipeline is preferred by the multiplex for program ingest. -// If set to \"PIPELINE_0\" or \"PIPELINE_1\" and an unhealthy ingest causes the multiplex to switch to the non-preferred pipeline, -// it will switch back once that ingest is healthy again. If set to \"CURRENTLY_ACTIVE\", -// it will not switch back to the other pipeline based on it recovering to a healthy state, -// it will only switch if the active pipeline becomes unhealthy. -type MultiplexprogramPreferredChannelPipeline string +// The interface mode of the SdiSource. +type SdiSourceType string const ( - MultiplexprogramPreferredChannelPipelineCurrentlyActive = MultiplexprogramPreferredChannelPipeline("CURRENTLY_ACTIVE") - MultiplexprogramPreferredChannelPipelinePipeline0 = MultiplexprogramPreferredChannelPipeline("PIPELINE_0") - MultiplexprogramPreferredChannelPipelinePipeline1 = MultiplexprogramPreferredChannelPipeline("PIPELINE_1") + SdiSourceTypeSingle = SdiSourceType("SINGLE") + SdiSourceTypeQuad = SdiSourceType("QUAD") ) -func (MultiplexprogramPreferredChannelPipeline) ElementType() reflect.Type { - return reflect.TypeOf((*MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +func (SdiSourceType) ElementType() reflect.Type { + return reflect.TypeOf((*SdiSourceType)(nil)).Elem() } -func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelineOutput() MultiplexprogramPreferredChannelPipelineOutput { - return pulumi.ToOutput(e).(MultiplexprogramPreferredChannelPipelineOutput) +func (e SdiSourceType) ToSdiSourceTypeOutput() SdiSourceTypeOutput { + return pulumi.ToOutput(e).(SdiSourceTypeOutput) } -func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelineOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelineOutput { - return pulumi.ToOutputWithContext(ctx, e).(MultiplexprogramPreferredChannelPipelineOutput) +func (e SdiSourceType) ToSdiSourceTypeOutputWithContext(ctx context.Context) SdiSourceTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(SdiSourceTypeOutput) } -func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { - return e.ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(context.Background()) +func (e SdiSourceType) ToSdiSourceTypePtrOutput() SdiSourceTypePtrOutput { + return e.ToSdiSourceTypePtrOutputWithContext(context.Background()) } -func (e MultiplexprogramPreferredChannelPipeline) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { - return MultiplexprogramPreferredChannelPipeline(e).ToMultiplexprogramPreferredChannelPipelineOutputWithContext(ctx).ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx) +func (e SdiSourceType) ToSdiSourceTypePtrOutputWithContext(ctx context.Context) SdiSourceTypePtrOutput { + return SdiSourceType(e).ToSdiSourceTypeOutputWithContext(ctx).ToSdiSourceTypePtrOutputWithContext(ctx) } -func (e MultiplexprogramPreferredChannelPipeline) ToStringOutput() pulumi.StringOutput { +func (e SdiSourceType) ToStringOutput() pulumi.StringOutput { return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) } -func (e MultiplexprogramPreferredChannelPipeline) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { +func (e SdiSourceType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) } -func (e MultiplexprogramPreferredChannelPipeline) ToStringPtrOutput() pulumi.StringPtrOutput { +func (e SdiSourceType) ToStringPtrOutput() pulumi.StringPtrOutput { return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) } -func (e MultiplexprogramPreferredChannelPipeline) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { +func (e SdiSourceType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) } -type MultiplexprogramPreferredChannelPipelineOutput struct{ *pulumi.OutputState } +type SdiSourceTypeOutput struct{ *pulumi.OutputState } -func (MultiplexprogramPreferredChannelPipelineOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +func (SdiSourceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SdiSourceType)(nil)).Elem() } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelineOutput() MultiplexprogramPreferredChannelPipelineOutput { +func (o SdiSourceTypeOutput) ToSdiSourceTypeOutput() SdiSourceTypeOutput { return o } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelineOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelineOutput { +func (o SdiSourceTypeOutput) ToSdiSourceTypeOutputWithContext(ctx context.Context) SdiSourceTypeOutput { return o } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { - return o.ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(context.Background()) +func (o SdiSourceTypeOutput) ToSdiSourceTypePtrOutput() SdiSourceTypePtrOutput { + return o.ToSdiSourceTypePtrOutputWithContext(context.Background()) } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiplexprogramPreferredChannelPipeline) *MultiplexprogramPreferredChannelPipeline { +func (o SdiSourceTypeOutput) ToSdiSourceTypePtrOutputWithContext(ctx context.Context) SdiSourceTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SdiSourceType) *SdiSourceType { return &v - }).(MultiplexprogramPreferredChannelPipelinePtrOutput) + }).(SdiSourceTypePtrOutput) } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringOutput() pulumi.StringOutput { +func (o SdiSourceTypeOutput) ToStringOutput() pulumi.StringOutput { return o.ToStringOutputWithContext(context.Background()) } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexprogramPreferredChannelPipeline) string { +func (o SdiSourceTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SdiSourceType) string { return string(e) }).(pulumi.StringOutput) } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringPtrOutput() pulumi.StringPtrOutput { +func (o SdiSourceTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { return o.ToStringPtrOutputWithContext(context.Background()) } -func (o MultiplexprogramPreferredChannelPipelineOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e MultiplexprogramPreferredChannelPipeline) *string { +func (o SdiSourceTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SdiSourceType) *string { v := string(e) return &v }).(pulumi.StringPtrOutput) } -type MultiplexprogramPreferredChannelPipelinePtrOutput struct{ *pulumi.OutputState } +type SdiSourceTypePtrOutput struct{ *pulumi.OutputState } -func (MultiplexprogramPreferredChannelPipelinePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +func (SdiSourceTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SdiSourceType)(nil)).Elem() } -func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { +func (o SdiSourceTypePtrOutput) ToSdiSourceTypePtrOutput() SdiSourceTypePtrOutput { return o } -func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { +func (o SdiSourceTypePtrOutput) ToSdiSourceTypePtrOutputWithContext(ctx context.Context) SdiSourceTypePtrOutput { return o } -func (o MultiplexprogramPreferredChannelPipelinePtrOutput) Elem() MultiplexprogramPreferredChannelPipelineOutput { - return o.ApplyT(func(v *MultiplexprogramPreferredChannelPipeline) MultiplexprogramPreferredChannelPipeline { +func (o SdiSourceTypePtrOutput) Elem() SdiSourceTypeOutput { + return o.ApplyT(func(v *SdiSourceType) SdiSourceType { if v != nil { return *v } - var ret MultiplexprogramPreferredChannelPipeline + var ret SdiSourceType return ret - }).(MultiplexprogramPreferredChannelPipelineOutput) + }).(SdiSourceTypeOutput) } -func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { +func (o SdiSourceTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { return o.ToStringPtrOutputWithContext(context.Background()) } -func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, e *MultiplexprogramPreferredChannelPipeline) *string { +func (o SdiSourceTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SdiSourceType) *string { if e == nil { return nil } @@ -240,51 +1999,291 @@ func (o MultiplexprogramPreferredChannelPipelinePtrOutput) ToStringPtrOutputWith }).(pulumi.StringPtrOutput) } -// MultiplexprogramPreferredChannelPipelineInput is an input type that accepts values of the MultiplexprogramPreferredChannelPipeline enum -// A concrete instance of `MultiplexprogramPreferredChannelPipelineInput` can be one of the following: +// SdiSourceTypeInput is an input type that accepts values of the SdiSourceType enum +// A concrete instance of `SdiSourceTypeInput` can be one of the following: // -// MultiplexprogramPreferredChannelPipelineCurrentlyActive -// MultiplexprogramPreferredChannelPipelinePipeline0 -// MultiplexprogramPreferredChannelPipelinePipeline1 -type MultiplexprogramPreferredChannelPipelineInput interface { +// SdiSourceTypeSingle +// SdiSourceTypeQuad +type SdiSourceTypeInput interface { pulumi.Input - ToMultiplexprogramPreferredChannelPipelineOutput() MultiplexprogramPreferredChannelPipelineOutput - ToMultiplexprogramPreferredChannelPipelineOutputWithContext(context.Context) MultiplexprogramPreferredChannelPipelineOutput + ToSdiSourceTypeOutput() SdiSourceTypeOutput + ToSdiSourceTypeOutputWithContext(context.Context) SdiSourceTypeOutput } -var multiplexprogramPreferredChannelPipelinePtrType = reflect.TypeOf((**MultiplexprogramPreferredChannelPipeline)(nil)).Elem() +var sdiSourceTypePtrType = reflect.TypeOf((**SdiSourceType)(nil)).Elem() -type MultiplexprogramPreferredChannelPipelinePtrInput interface { +type SdiSourceTypePtrInput interface { pulumi.Input - ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput - ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput + ToSdiSourceTypePtrOutput() SdiSourceTypePtrOutput + ToSdiSourceTypePtrOutputWithContext(context.Context) SdiSourceTypePtrOutput } -type multiplexprogramPreferredChannelPipelinePtr string +type sdiSourceTypePtr string -func MultiplexprogramPreferredChannelPipelinePtr(v string) MultiplexprogramPreferredChannelPipelinePtrInput { - return (*multiplexprogramPreferredChannelPipelinePtr)(&v) +func SdiSourceTypePtr(v string) SdiSourceTypePtrInput { + return (*sdiSourceTypePtr)(&v) } -func (*multiplexprogramPreferredChannelPipelinePtr) ElementType() reflect.Type { - return multiplexprogramPreferredChannelPipelinePtrType +func (*sdiSourceTypePtr) ElementType() reflect.Type { + return sdiSourceTypePtrType } -func (in *multiplexprogramPreferredChannelPipelinePtr) ToMultiplexprogramPreferredChannelPipelinePtrOutput() MultiplexprogramPreferredChannelPipelinePtrOutput { - return pulumi.ToOutput(in).(MultiplexprogramPreferredChannelPipelinePtrOutput) +func (in *sdiSourceTypePtr) ToSdiSourceTypePtrOutput() SdiSourceTypePtrOutput { + return pulumi.ToOutput(in).(SdiSourceTypePtrOutput) } -func (in *multiplexprogramPreferredChannelPipelinePtr) ToMultiplexprogramPreferredChannelPipelinePtrOutputWithContext(ctx context.Context) MultiplexprogramPreferredChannelPipelinePtrOutput { - return pulumi.ToOutputWithContext(ctx, in).(MultiplexprogramPreferredChannelPipelinePtrOutput) +func (in *sdiSourceTypePtr) ToSdiSourceTypePtrOutputWithContext(ctx context.Context) SdiSourceTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SdiSourceTypePtrOutput) +} + +// A signal map's monitor deployment status. +type SignalMapMonitorDeploymentStatus string + +const ( + SignalMapMonitorDeploymentStatusNotDeployed = SignalMapMonitorDeploymentStatus("NOT_DEPLOYED") + SignalMapMonitorDeploymentStatusDryRunDeploymentComplete = SignalMapMonitorDeploymentStatus("DRY_RUN_DEPLOYMENT_COMPLETE") + SignalMapMonitorDeploymentStatusDryRunDeploymentFailed = SignalMapMonitorDeploymentStatus("DRY_RUN_DEPLOYMENT_FAILED") + SignalMapMonitorDeploymentStatusDryRunDeploymentInProgress = SignalMapMonitorDeploymentStatus("DRY_RUN_DEPLOYMENT_IN_PROGRESS") + SignalMapMonitorDeploymentStatusDeploymentComplete = SignalMapMonitorDeploymentStatus("DEPLOYMENT_COMPLETE") + SignalMapMonitorDeploymentStatusDeploymentFailed = SignalMapMonitorDeploymentStatus("DEPLOYMENT_FAILED") + SignalMapMonitorDeploymentStatusDeploymentInProgress = SignalMapMonitorDeploymentStatus("DEPLOYMENT_IN_PROGRESS") + SignalMapMonitorDeploymentStatusDeleteComplete = SignalMapMonitorDeploymentStatus("DELETE_COMPLETE") + SignalMapMonitorDeploymentStatusDeleteFailed = SignalMapMonitorDeploymentStatus("DELETE_FAILED") + SignalMapMonitorDeploymentStatusDeleteInProgress = SignalMapMonitorDeploymentStatus("DELETE_IN_PROGRESS") +) + +type SignalMapMonitorDeploymentStatusOutput struct{ *pulumi.OutputState } + +func (SignalMapMonitorDeploymentStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SignalMapMonitorDeploymentStatus)(nil)).Elem() +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToSignalMapMonitorDeploymentStatusOutput() SignalMapMonitorDeploymentStatusOutput { + return o +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToSignalMapMonitorDeploymentStatusOutputWithContext(ctx context.Context) SignalMapMonitorDeploymentStatusOutput { + return o +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToSignalMapMonitorDeploymentStatusPtrOutput() SignalMapMonitorDeploymentStatusPtrOutput { + return o.ToSignalMapMonitorDeploymentStatusPtrOutputWithContext(context.Background()) +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToSignalMapMonitorDeploymentStatusPtrOutputWithContext(ctx context.Context) SignalMapMonitorDeploymentStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SignalMapMonitorDeploymentStatus) *SignalMapMonitorDeploymentStatus { + return &v + }).(SignalMapMonitorDeploymentStatusPtrOutput) +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SignalMapMonitorDeploymentStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SignalMapMonitorDeploymentStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SignalMapMonitorDeploymentStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SignalMapMonitorDeploymentStatusPtrOutput struct{ *pulumi.OutputState } + +func (SignalMapMonitorDeploymentStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SignalMapMonitorDeploymentStatus)(nil)).Elem() +} + +func (o SignalMapMonitorDeploymentStatusPtrOutput) ToSignalMapMonitorDeploymentStatusPtrOutput() SignalMapMonitorDeploymentStatusPtrOutput { + return o +} + +func (o SignalMapMonitorDeploymentStatusPtrOutput) ToSignalMapMonitorDeploymentStatusPtrOutputWithContext(ctx context.Context) SignalMapMonitorDeploymentStatusPtrOutput { + return o +} + +func (o SignalMapMonitorDeploymentStatusPtrOutput) Elem() SignalMapMonitorDeploymentStatusOutput { + return o.ApplyT(func(v *SignalMapMonitorDeploymentStatus) SignalMapMonitorDeploymentStatus { + if v != nil { + return *v + } + var ret SignalMapMonitorDeploymentStatus + return ret + }).(SignalMapMonitorDeploymentStatusOutput) +} + +func (o SignalMapMonitorDeploymentStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SignalMapMonitorDeploymentStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SignalMapMonitorDeploymentStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// A signal map's current status which is dependent on its lifecycle actions or associated jobs. +type SignalMapStatus string + +const ( + SignalMapStatusCreateInProgress = SignalMapStatus("CREATE_IN_PROGRESS") + SignalMapStatusCreateComplete = SignalMapStatus("CREATE_COMPLETE") + SignalMapStatusCreateFailed = SignalMapStatus("CREATE_FAILED") + SignalMapStatusUpdateInProgress = SignalMapStatus("UPDATE_IN_PROGRESS") + SignalMapStatusUpdateComplete = SignalMapStatus("UPDATE_COMPLETE") + SignalMapStatusUpdateReverted = SignalMapStatus("UPDATE_REVERTED") + SignalMapStatusUpdateFailed = SignalMapStatus("UPDATE_FAILED") + SignalMapStatusReady = SignalMapStatus("READY") + SignalMapStatusNotReady = SignalMapStatus("NOT_READY") +) + +type SignalMapStatusOutput struct{ *pulumi.OutputState } + +func (SignalMapStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SignalMapStatus)(nil)).Elem() +} + +func (o SignalMapStatusOutput) ToSignalMapStatusOutput() SignalMapStatusOutput { + return o +} + +func (o SignalMapStatusOutput) ToSignalMapStatusOutputWithContext(ctx context.Context) SignalMapStatusOutput { + return o +} + +func (o SignalMapStatusOutput) ToSignalMapStatusPtrOutput() SignalMapStatusPtrOutput { + return o.ToSignalMapStatusPtrOutputWithContext(context.Background()) +} + +func (o SignalMapStatusOutput) ToSignalMapStatusPtrOutputWithContext(ctx context.Context) SignalMapStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SignalMapStatus) *SignalMapStatus { + return &v + }).(SignalMapStatusPtrOutput) +} + +func (o SignalMapStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SignalMapStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SignalMapStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SignalMapStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SignalMapStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SignalMapStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SignalMapStatusPtrOutput struct{ *pulumi.OutputState } + +func (SignalMapStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SignalMapStatus)(nil)).Elem() +} + +func (o SignalMapStatusPtrOutput) ToSignalMapStatusPtrOutput() SignalMapStatusPtrOutput { + return o +} + +func (o SignalMapStatusPtrOutput) ToSignalMapStatusPtrOutputWithContext(ctx context.Context) SignalMapStatusPtrOutput { + return o +} + +func (o SignalMapStatusPtrOutput) Elem() SignalMapStatusOutput { + return o.ApplyT(func(v *SignalMapStatus) SignalMapStatus { + if v != nil { + return *v + } + var ret SignalMapStatus + return ret + }).(SignalMapStatusOutput) +} + +func (o SignalMapStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SignalMapStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SignalMapStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateComparisonOperatorInput)(nil)).Elem(), CloudWatchAlarmTemplateComparisonOperator("GreaterThanOrEqualToThreshold")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateComparisonOperatorPtrInput)(nil)).Elem(), CloudWatchAlarmTemplateComparisonOperator("GreaterThanOrEqualToThreshold")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateStatisticInput)(nil)).Elem(), CloudWatchAlarmTemplateStatistic("SampleCount")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateStatisticPtrInput)(nil)).Elem(), CloudWatchAlarmTemplateStatistic("SampleCount")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateTargetResourceTypeInput)(nil)).Elem(), CloudWatchAlarmTemplateTargetResourceType("CLOUDFRONT_DISTRIBUTION")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateTargetResourceTypePtrInput)(nil)).Elem(), CloudWatchAlarmTemplateTargetResourceType("CLOUDFRONT_DISTRIBUTION")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateTreatMissingDataInput)(nil)).Elem(), CloudWatchAlarmTemplateTreatMissingData("notBreaching")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudWatchAlarmTemplateTreatMissingDataPtrInput)(nil)).Elem(), CloudWatchAlarmTemplateTreatMissingData("notBreaching")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterTypeInput)(nil)).Elem(), ClusterType("ON_PREMISES")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterTypePtrInput)(nil)).Elem(), ClusterType("ON_PREMISES")) + pulumi.RegisterInputType(reflect.TypeOf((*EventBridgeRuleTemplateEventTypeInput)(nil)).Elem(), EventBridgeRuleTemplateEventType("MEDIALIVE_MULTIPLEX_ALERT")) + pulumi.RegisterInputType(reflect.TypeOf((*EventBridgeRuleTemplateEventTypePtrInput)(nil)).Elem(), EventBridgeRuleTemplateEventType("MEDIALIVE_MULTIPLEX_ALERT")) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexprogramPreferredChannelPipelineInput)(nil)).Elem(), MultiplexprogramPreferredChannelPipeline("CURRENTLY_ACTIVE")) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexprogramPreferredChannelPipelinePtrInput)(nil)).Elem(), MultiplexprogramPreferredChannelPipeline("CURRENTLY_ACTIVE")) + pulumi.RegisterInputType(reflect.TypeOf((*SdiSourceModeInput)(nil)).Elem(), SdiSourceMode("QUADRANT")) + pulumi.RegisterInputType(reflect.TypeOf((*SdiSourceModePtrInput)(nil)).Elem(), SdiSourceMode("QUADRANT")) + pulumi.RegisterInputType(reflect.TypeOf((*SdiSourceTypeInput)(nil)).Elem(), SdiSourceType("SINGLE")) + pulumi.RegisterInputType(reflect.TypeOf((*SdiSourceTypePtrInput)(nil)).Elem(), SdiSourceType("SINGLE")) + pulumi.RegisterOutputType(ChannelPlacementGroupStateEnumOutput{}) + pulumi.RegisterOutputType(ChannelPlacementGroupStateEnumPtrOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateComparisonOperatorOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateComparisonOperatorPtrOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateStatisticOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateStatisticPtrOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateTargetResourceTypeOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateTargetResourceTypePtrOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateTreatMissingDataOutput{}) + pulumi.RegisterOutputType(CloudWatchAlarmTemplateTreatMissingDataPtrOutput{}) + pulumi.RegisterOutputType(ClusterStateEnumOutput{}) + pulumi.RegisterOutputType(ClusterStateEnumPtrOutput{}) + pulumi.RegisterOutputType(ClusterTypeOutput{}) + pulumi.RegisterOutputType(ClusterTypePtrOutput{}) + pulumi.RegisterOutputType(EventBridgeRuleTemplateEventTypeOutput{}) + pulumi.RegisterOutputType(EventBridgeRuleTemplateEventTypePtrOutput{}) pulumi.RegisterOutputType(MultiplexStateEnumOutput{}) pulumi.RegisterOutputType(MultiplexStateEnumPtrOutput{}) pulumi.RegisterOutputType(MultiplexprogramPreferredChannelPipelineOutput{}) pulumi.RegisterOutputType(MultiplexprogramPreferredChannelPipelinePtrOutput{}) + pulumi.RegisterOutputType(NetworkStateEnumOutput{}) + pulumi.RegisterOutputType(NetworkStateEnumPtrOutput{}) + pulumi.RegisterOutputType(SdiSourceModeOutput{}) + pulumi.RegisterOutputType(SdiSourceModePtrOutput{}) + pulumi.RegisterOutputType(SdiSourceStateEnumOutput{}) + pulumi.RegisterOutputType(SdiSourceStateEnumPtrOutput{}) + pulumi.RegisterOutputType(SdiSourceTypeOutput{}) + pulumi.RegisterOutputType(SdiSourceTypePtrOutput{}) + pulumi.RegisterOutputType(SignalMapMonitorDeploymentStatusOutput{}) + pulumi.RegisterOutputType(SignalMapMonitorDeploymentStatusPtrOutput{}) + pulumi.RegisterOutputType(SignalMapStatusOutput{}) + pulumi.RegisterOutputType(SignalMapStatusPtrOutput{}) } diff --git a/sdk/go/aws/medialive/pulumiTypes.go b/sdk/go/aws/medialive/pulumiTypes.go index b77fad8df8..63eea8e2a3 100644 --- a/sdk/go/aws/medialive/pulumiTypes.go +++ b/sdk/go/aws/medialive/pulumiTypes.go @@ -13,6 +13,386 @@ import ( var _ = internal.GetEnvOrDefault +// A key-value pair to associate with a resource. +type ChannelPlacementGroupTags struct { + Key *string `pulumi:"key"` + Value *string `pulumi:"value"` +} + +// Network mappings for the cluster +type ClusterInterfaceMapping struct { + // logical interface name, unique in the list + LogicalInterfaceName *string `pulumi:"logicalInterfaceName"` + // Network Id to be associated with the logical interface name, can be duplicated in list + NetworkId *string `pulumi:"networkId"` +} + +// ClusterInterfaceMappingInput is an input type that accepts ClusterInterfaceMappingArgs and ClusterInterfaceMappingOutput values. +// You can construct a concrete instance of `ClusterInterfaceMappingInput` via: +// +// ClusterInterfaceMappingArgs{...} +type ClusterInterfaceMappingInput interface { + pulumi.Input + + ToClusterInterfaceMappingOutput() ClusterInterfaceMappingOutput + ToClusterInterfaceMappingOutputWithContext(context.Context) ClusterInterfaceMappingOutput +} + +// Network mappings for the cluster +type ClusterInterfaceMappingArgs struct { + // logical interface name, unique in the list + LogicalInterfaceName pulumi.StringPtrInput `pulumi:"logicalInterfaceName"` + // Network Id to be associated with the logical interface name, can be duplicated in list + NetworkId pulumi.StringPtrInput `pulumi:"networkId"` +} + +func (ClusterInterfaceMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterInterfaceMapping)(nil)).Elem() +} + +func (i ClusterInterfaceMappingArgs) ToClusterInterfaceMappingOutput() ClusterInterfaceMappingOutput { + return i.ToClusterInterfaceMappingOutputWithContext(context.Background()) +} + +func (i ClusterInterfaceMappingArgs) ToClusterInterfaceMappingOutputWithContext(ctx context.Context) ClusterInterfaceMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterInterfaceMappingOutput) +} + +// ClusterInterfaceMappingArrayInput is an input type that accepts ClusterInterfaceMappingArray and ClusterInterfaceMappingArrayOutput values. +// You can construct a concrete instance of `ClusterInterfaceMappingArrayInput` via: +// +// ClusterInterfaceMappingArray{ ClusterInterfaceMappingArgs{...} } +type ClusterInterfaceMappingArrayInput interface { + pulumi.Input + + ToClusterInterfaceMappingArrayOutput() ClusterInterfaceMappingArrayOutput + ToClusterInterfaceMappingArrayOutputWithContext(context.Context) ClusterInterfaceMappingArrayOutput +} + +type ClusterInterfaceMappingArray []ClusterInterfaceMappingInput + +func (ClusterInterfaceMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterInterfaceMapping)(nil)).Elem() +} + +func (i ClusterInterfaceMappingArray) ToClusterInterfaceMappingArrayOutput() ClusterInterfaceMappingArrayOutput { + return i.ToClusterInterfaceMappingArrayOutputWithContext(context.Background()) +} + +func (i ClusterInterfaceMappingArray) ToClusterInterfaceMappingArrayOutputWithContext(ctx context.Context) ClusterInterfaceMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterInterfaceMappingArrayOutput) +} + +// Network mappings for the cluster +type ClusterInterfaceMappingOutput struct{ *pulumi.OutputState } + +func (ClusterInterfaceMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterInterfaceMapping)(nil)).Elem() +} + +func (o ClusterInterfaceMappingOutput) ToClusterInterfaceMappingOutput() ClusterInterfaceMappingOutput { + return o +} + +func (o ClusterInterfaceMappingOutput) ToClusterInterfaceMappingOutputWithContext(ctx context.Context) ClusterInterfaceMappingOutput { + return o +} + +// logical interface name, unique in the list +func (o ClusterInterfaceMappingOutput) LogicalInterfaceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterInterfaceMapping) *string { return v.LogicalInterfaceName }).(pulumi.StringPtrOutput) +} + +// Network Id to be associated with the logical interface name, can be duplicated in list +func (o ClusterInterfaceMappingOutput) NetworkId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterInterfaceMapping) *string { return v.NetworkId }).(pulumi.StringPtrOutput) +} + +type ClusterInterfaceMappingArrayOutput struct{ *pulumi.OutputState } + +func (ClusterInterfaceMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterInterfaceMapping)(nil)).Elem() +} + +func (o ClusterInterfaceMappingArrayOutput) ToClusterInterfaceMappingArrayOutput() ClusterInterfaceMappingArrayOutput { + return o +} + +func (o ClusterInterfaceMappingArrayOutput) ToClusterInterfaceMappingArrayOutputWithContext(ctx context.Context) ClusterInterfaceMappingArrayOutput { + return o +} + +func (o ClusterInterfaceMappingArrayOutput) Index(i pulumi.IntInput) ClusterInterfaceMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterInterfaceMapping { + return vs[0].([]ClusterInterfaceMapping)[vs[1].(int)] + }).(ClusterInterfaceMappingOutput) +} + +// On premises settings which will have the interface network mappings and default Output logical interface +type ClusterNetworkSettings struct { + // Default value if the customer does not define it in channel Output API + DefaultRoute *string `pulumi:"defaultRoute"` + // Network mappings for the cluster + InterfaceMappings []ClusterInterfaceMapping `pulumi:"interfaceMappings"` +} + +// ClusterNetworkSettingsInput is an input type that accepts ClusterNetworkSettingsArgs and ClusterNetworkSettingsOutput values. +// You can construct a concrete instance of `ClusterNetworkSettingsInput` via: +// +// ClusterNetworkSettingsArgs{...} +type ClusterNetworkSettingsInput interface { + pulumi.Input + + ToClusterNetworkSettingsOutput() ClusterNetworkSettingsOutput + ToClusterNetworkSettingsOutputWithContext(context.Context) ClusterNetworkSettingsOutput +} + +// On premises settings which will have the interface network mappings and default Output logical interface +type ClusterNetworkSettingsArgs struct { + // Default value if the customer does not define it in channel Output API + DefaultRoute pulumi.StringPtrInput `pulumi:"defaultRoute"` + // Network mappings for the cluster + InterfaceMappings ClusterInterfaceMappingArrayInput `pulumi:"interfaceMappings"` +} + +func (ClusterNetworkSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterNetworkSettings)(nil)).Elem() +} + +func (i ClusterNetworkSettingsArgs) ToClusterNetworkSettingsOutput() ClusterNetworkSettingsOutput { + return i.ToClusterNetworkSettingsOutputWithContext(context.Background()) +} + +func (i ClusterNetworkSettingsArgs) ToClusterNetworkSettingsOutputWithContext(ctx context.Context) ClusterNetworkSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterNetworkSettingsOutput) +} + +func (i ClusterNetworkSettingsArgs) ToClusterNetworkSettingsPtrOutput() ClusterNetworkSettingsPtrOutput { + return i.ToClusterNetworkSettingsPtrOutputWithContext(context.Background()) +} + +func (i ClusterNetworkSettingsArgs) ToClusterNetworkSettingsPtrOutputWithContext(ctx context.Context) ClusterNetworkSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterNetworkSettingsOutput).ToClusterNetworkSettingsPtrOutputWithContext(ctx) +} + +// ClusterNetworkSettingsPtrInput is an input type that accepts ClusterNetworkSettingsArgs, ClusterNetworkSettingsPtr and ClusterNetworkSettingsPtrOutput values. +// You can construct a concrete instance of `ClusterNetworkSettingsPtrInput` via: +// +// ClusterNetworkSettingsArgs{...} +// +// or: +// +// nil +type ClusterNetworkSettingsPtrInput interface { + pulumi.Input + + ToClusterNetworkSettingsPtrOutput() ClusterNetworkSettingsPtrOutput + ToClusterNetworkSettingsPtrOutputWithContext(context.Context) ClusterNetworkSettingsPtrOutput +} + +type clusterNetworkSettingsPtrType ClusterNetworkSettingsArgs + +func ClusterNetworkSettingsPtr(v *ClusterNetworkSettingsArgs) ClusterNetworkSettingsPtrInput { + return (*clusterNetworkSettingsPtrType)(v) +} + +func (*clusterNetworkSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterNetworkSettings)(nil)).Elem() +} + +func (i *clusterNetworkSettingsPtrType) ToClusterNetworkSettingsPtrOutput() ClusterNetworkSettingsPtrOutput { + return i.ToClusterNetworkSettingsPtrOutputWithContext(context.Background()) +} + +func (i *clusterNetworkSettingsPtrType) ToClusterNetworkSettingsPtrOutputWithContext(ctx context.Context) ClusterNetworkSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterNetworkSettingsPtrOutput) +} + +// On premises settings which will have the interface network mappings and default Output logical interface +type ClusterNetworkSettingsOutput struct{ *pulumi.OutputState } + +func (ClusterNetworkSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterNetworkSettings)(nil)).Elem() +} + +func (o ClusterNetworkSettingsOutput) ToClusterNetworkSettingsOutput() ClusterNetworkSettingsOutput { + return o +} + +func (o ClusterNetworkSettingsOutput) ToClusterNetworkSettingsOutputWithContext(ctx context.Context) ClusterNetworkSettingsOutput { + return o +} + +func (o ClusterNetworkSettingsOutput) ToClusterNetworkSettingsPtrOutput() ClusterNetworkSettingsPtrOutput { + return o.ToClusterNetworkSettingsPtrOutputWithContext(context.Background()) +} + +func (o ClusterNetworkSettingsOutput) ToClusterNetworkSettingsPtrOutputWithContext(ctx context.Context) ClusterNetworkSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterNetworkSettings) *ClusterNetworkSettings { + return &v + }).(ClusterNetworkSettingsPtrOutput) +} + +// Default value if the customer does not define it in channel Output API +func (o ClusterNetworkSettingsOutput) DefaultRoute() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterNetworkSettings) *string { return v.DefaultRoute }).(pulumi.StringPtrOutput) +} + +// Network mappings for the cluster +func (o ClusterNetworkSettingsOutput) InterfaceMappings() ClusterInterfaceMappingArrayOutput { + return o.ApplyT(func(v ClusterNetworkSettings) []ClusterInterfaceMapping { return v.InterfaceMappings }).(ClusterInterfaceMappingArrayOutput) +} + +type ClusterNetworkSettingsPtrOutput struct{ *pulumi.OutputState } + +func (ClusterNetworkSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterNetworkSettings)(nil)).Elem() +} + +func (o ClusterNetworkSettingsPtrOutput) ToClusterNetworkSettingsPtrOutput() ClusterNetworkSettingsPtrOutput { + return o +} + +func (o ClusterNetworkSettingsPtrOutput) ToClusterNetworkSettingsPtrOutputWithContext(ctx context.Context) ClusterNetworkSettingsPtrOutput { + return o +} + +func (o ClusterNetworkSettingsPtrOutput) Elem() ClusterNetworkSettingsOutput { + return o.ApplyT(func(v *ClusterNetworkSettings) ClusterNetworkSettings { + if v != nil { + return *v + } + var ret ClusterNetworkSettings + return ret + }).(ClusterNetworkSettingsOutput) +} + +// Default value if the customer does not define it in channel Output API +func (o ClusterNetworkSettingsPtrOutput) DefaultRoute() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterNetworkSettings) *string { + if v == nil { + return nil + } + return v.DefaultRoute + }).(pulumi.StringPtrOutput) +} + +// Network mappings for the cluster +func (o ClusterNetworkSettingsPtrOutput) InterfaceMappings() ClusterInterfaceMappingArrayOutput { + return o.ApplyT(func(v *ClusterNetworkSettings) []ClusterInterfaceMapping { + if v == nil { + return nil + } + return v.InterfaceMappings + }).(ClusterInterfaceMappingArrayOutput) +} + +// A key-value pair to associate with a resource. +type ClusterTags struct { + Key *string `pulumi:"key"` + Value *string `pulumi:"value"` +} + +// The target to which to send matching events. +type EventBridgeRuleTemplateTarget struct { + // Target ARNs must be either an SNS topic or CloudWatch log group. + Arn string `pulumi:"arn"` +} + +// EventBridgeRuleTemplateTargetInput is an input type that accepts EventBridgeRuleTemplateTargetArgs and EventBridgeRuleTemplateTargetOutput values. +// You can construct a concrete instance of `EventBridgeRuleTemplateTargetInput` via: +// +// EventBridgeRuleTemplateTargetArgs{...} +type EventBridgeRuleTemplateTargetInput interface { + pulumi.Input + + ToEventBridgeRuleTemplateTargetOutput() EventBridgeRuleTemplateTargetOutput + ToEventBridgeRuleTemplateTargetOutputWithContext(context.Context) EventBridgeRuleTemplateTargetOutput +} + +// The target to which to send matching events. +type EventBridgeRuleTemplateTargetArgs struct { + // Target ARNs must be either an SNS topic or CloudWatch log group. + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (EventBridgeRuleTemplateTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventBridgeRuleTemplateTarget)(nil)).Elem() +} + +func (i EventBridgeRuleTemplateTargetArgs) ToEventBridgeRuleTemplateTargetOutput() EventBridgeRuleTemplateTargetOutput { + return i.ToEventBridgeRuleTemplateTargetOutputWithContext(context.Background()) +} + +func (i EventBridgeRuleTemplateTargetArgs) ToEventBridgeRuleTemplateTargetOutputWithContext(ctx context.Context) EventBridgeRuleTemplateTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventBridgeRuleTemplateTargetOutput) +} + +// EventBridgeRuleTemplateTargetArrayInput is an input type that accepts EventBridgeRuleTemplateTargetArray and EventBridgeRuleTemplateTargetArrayOutput values. +// You can construct a concrete instance of `EventBridgeRuleTemplateTargetArrayInput` via: +// +// EventBridgeRuleTemplateTargetArray{ EventBridgeRuleTemplateTargetArgs{...} } +type EventBridgeRuleTemplateTargetArrayInput interface { + pulumi.Input + + ToEventBridgeRuleTemplateTargetArrayOutput() EventBridgeRuleTemplateTargetArrayOutput + ToEventBridgeRuleTemplateTargetArrayOutputWithContext(context.Context) EventBridgeRuleTemplateTargetArrayOutput +} + +type EventBridgeRuleTemplateTargetArray []EventBridgeRuleTemplateTargetInput + +func (EventBridgeRuleTemplateTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]EventBridgeRuleTemplateTarget)(nil)).Elem() +} + +func (i EventBridgeRuleTemplateTargetArray) ToEventBridgeRuleTemplateTargetArrayOutput() EventBridgeRuleTemplateTargetArrayOutput { + return i.ToEventBridgeRuleTemplateTargetArrayOutputWithContext(context.Background()) +} + +func (i EventBridgeRuleTemplateTargetArray) ToEventBridgeRuleTemplateTargetArrayOutputWithContext(ctx context.Context) EventBridgeRuleTemplateTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventBridgeRuleTemplateTargetArrayOutput) +} + +// The target to which to send matching events. +type EventBridgeRuleTemplateTargetOutput struct{ *pulumi.OutputState } + +func (EventBridgeRuleTemplateTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventBridgeRuleTemplateTarget)(nil)).Elem() +} + +func (o EventBridgeRuleTemplateTargetOutput) ToEventBridgeRuleTemplateTargetOutput() EventBridgeRuleTemplateTargetOutput { + return o +} + +func (o EventBridgeRuleTemplateTargetOutput) ToEventBridgeRuleTemplateTargetOutputWithContext(ctx context.Context) EventBridgeRuleTemplateTargetOutput { + return o +} + +// Target ARNs must be either an SNS topic or CloudWatch log group. +func (o EventBridgeRuleTemplateTargetOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v EventBridgeRuleTemplateTarget) string { return v.Arn }).(pulumi.StringOutput) +} + +type EventBridgeRuleTemplateTargetArrayOutput struct{ *pulumi.OutputState } + +func (EventBridgeRuleTemplateTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EventBridgeRuleTemplateTarget)(nil)).Elem() +} + +func (o EventBridgeRuleTemplateTargetArrayOutput) ToEventBridgeRuleTemplateTargetArrayOutput() EventBridgeRuleTemplateTargetArrayOutput { + return o +} + +func (o EventBridgeRuleTemplateTargetArrayOutput) ToEventBridgeRuleTemplateTargetArrayOutputWithContext(ctx context.Context) EventBridgeRuleTemplateTargetArrayOutput { + return o +} + +func (o EventBridgeRuleTemplateTargetArrayOutput) Index(i pulumi.IntInput) EventBridgeRuleTemplateTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EventBridgeRuleTemplateTarget { + return vs[0].([]EventBridgeRuleTemplateTarget)[vs[1].(int)] + }).(EventBridgeRuleTemplateTargetOutput) +} + // Multiplex MediaConnect output destination settings. type MultiplexOutputDestination struct { // Multiplex MediaConnect output destination settings. @@ -1317,7 +1697,505 @@ func (o MultiplexprogramMultiplexVideoSettingsPtrOutput) Elem() Multiplexprogram }).(MultiplexprogramMultiplexVideoSettingsOutput) } +// IP address cidr pool +type NetworkIpPool struct { + // IP address cidr pool + Cidr *string `pulumi:"cidr"` +} + +// NetworkIpPoolInput is an input type that accepts NetworkIpPoolArgs and NetworkIpPoolOutput values. +// You can construct a concrete instance of `NetworkIpPoolInput` via: +// +// NetworkIpPoolArgs{...} +type NetworkIpPoolInput interface { + pulumi.Input + + ToNetworkIpPoolOutput() NetworkIpPoolOutput + ToNetworkIpPoolOutputWithContext(context.Context) NetworkIpPoolOutput +} + +// IP address cidr pool +type NetworkIpPoolArgs struct { + // IP address cidr pool + Cidr pulumi.StringPtrInput `pulumi:"cidr"` +} + +func (NetworkIpPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkIpPool)(nil)).Elem() +} + +func (i NetworkIpPoolArgs) ToNetworkIpPoolOutput() NetworkIpPoolOutput { + return i.ToNetworkIpPoolOutputWithContext(context.Background()) +} + +func (i NetworkIpPoolArgs) ToNetworkIpPoolOutputWithContext(ctx context.Context) NetworkIpPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkIpPoolOutput) +} + +// NetworkIpPoolArrayInput is an input type that accepts NetworkIpPoolArray and NetworkIpPoolArrayOutput values. +// You can construct a concrete instance of `NetworkIpPoolArrayInput` via: +// +// NetworkIpPoolArray{ NetworkIpPoolArgs{...} } +type NetworkIpPoolArrayInput interface { + pulumi.Input + + ToNetworkIpPoolArrayOutput() NetworkIpPoolArrayOutput + ToNetworkIpPoolArrayOutputWithContext(context.Context) NetworkIpPoolArrayOutput +} + +type NetworkIpPoolArray []NetworkIpPoolInput + +func (NetworkIpPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkIpPool)(nil)).Elem() +} + +func (i NetworkIpPoolArray) ToNetworkIpPoolArrayOutput() NetworkIpPoolArrayOutput { + return i.ToNetworkIpPoolArrayOutputWithContext(context.Background()) +} + +func (i NetworkIpPoolArray) ToNetworkIpPoolArrayOutputWithContext(ctx context.Context) NetworkIpPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkIpPoolArrayOutput) +} + +// IP address cidr pool +type NetworkIpPoolOutput struct{ *pulumi.OutputState } + +func (NetworkIpPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkIpPool)(nil)).Elem() +} + +func (o NetworkIpPoolOutput) ToNetworkIpPoolOutput() NetworkIpPoolOutput { + return o +} + +func (o NetworkIpPoolOutput) ToNetworkIpPoolOutputWithContext(ctx context.Context) NetworkIpPoolOutput { + return o +} + +// IP address cidr pool +func (o NetworkIpPoolOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkIpPool) *string { return v.Cidr }).(pulumi.StringPtrOutput) +} + +type NetworkIpPoolArrayOutput struct{ *pulumi.OutputState } + +func (NetworkIpPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkIpPool)(nil)).Elem() +} + +func (o NetworkIpPoolArrayOutput) ToNetworkIpPoolArrayOutput() NetworkIpPoolArrayOutput { + return o +} + +func (o NetworkIpPoolArrayOutput) ToNetworkIpPoolArrayOutputWithContext(ctx context.Context) NetworkIpPoolArrayOutput { + return o +} + +func (o NetworkIpPoolArrayOutput) Index(i pulumi.IntInput) NetworkIpPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkIpPool { + return vs[0].([]NetworkIpPool)[vs[1].(int)] + }).(NetworkIpPoolOutput) +} + +type NetworkRoute struct { + // Ip address cidr + Cidr *string `pulumi:"cidr"` + // IP address for the route packet paths + Gateway *string `pulumi:"gateway"` +} + +// NetworkRouteInput is an input type that accepts NetworkRouteArgs and NetworkRouteOutput values. +// You can construct a concrete instance of `NetworkRouteInput` via: +// +// NetworkRouteArgs{...} +type NetworkRouteInput interface { + pulumi.Input + + ToNetworkRouteOutput() NetworkRouteOutput + ToNetworkRouteOutputWithContext(context.Context) NetworkRouteOutput +} + +type NetworkRouteArgs struct { + // Ip address cidr + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + // IP address for the route packet paths + Gateway pulumi.StringPtrInput `pulumi:"gateway"` +} + +func (NetworkRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRoute)(nil)).Elem() +} + +func (i NetworkRouteArgs) ToNetworkRouteOutput() NetworkRouteOutput { + return i.ToNetworkRouteOutputWithContext(context.Background()) +} + +func (i NetworkRouteArgs) ToNetworkRouteOutputWithContext(ctx context.Context) NetworkRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkRouteOutput) +} + +// NetworkRouteArrayInput is an input type that accepts NetworkRouteArray and NetworkRouteArrayOutput values. +// You can construct a concrete instance of `NetworkRouteArrayInput` via: +// +// NetworkRouteArray{ NetworkRouteArgs{...} } +type NetworkRouteArrayInput interface { + pulumi.Input + + ToNetworkRouteArrayOutput() NetworkRouteArrayOutput + ToNetworkRouteArrayOutputWithContext(context.Context) NetworkRouteArrayOutput +} + +type NetworkRouteArray []NetworkRouteInput + +func (NetworkRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkRoute)(nil)).Elem() +} + +func (i NetworkRouteArray) ToNetworkRouteArrayOutput() NetworkRouteArrayOutput { + return i.ToNetworkRouteArrayOutputWithContext(context.Background()) +} + +func (i NetworkRouteArray) ToNetworkRouteArrayOutputWithContext(ctx context.Context) NetworkRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkRouteArrayOutput) +} + +type NetworkRouteOutput struct{ *pulumi.OutputState } + +func (NetworkRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkRoute)(nil)).Elem() +} + +func (o NetworkRouteOutput) ToNetworkRouteOutput() NetworkRouteOutput { + return o +} + +func (o NetworkRouteOutput) ToNetworkRouteOutputWithContext(ctx context.Context) NetworkRouteOutput { + return o +} + +// Ip address cidr +func (o NetworkRouteOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRoute) *string { return v.Cidr }).(pulumi.StringPtrOutput) +} + +// IP address for the route packet paths +func (o NetworkRouteOutput) Gateway() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkRoute) *string { return v.Gateway }).(pulumi.StringPtrOutput) +} + +type NetworkRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkRoute)(nil)).Elem() +} + +func (o NetworkRouteArrayOutput) ToNetworkRouteArrayOutput() NetworkRouteArrayOutput { + return o +} + +func (o NetworkRouteArrayOutput) ToNetworkRouteArrayOutputWithContext(ctx context.Context) NetworkRouteArrayOutput { + return o +} + +func (o NetworkRouteArrayOutput) Index(i pulumi.IntInput) NetworkRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkRoute { + return vs[0].([]NetworkRoute)[vs[1].(int)] + }).(NetworkRouteOutput) +} + +// A key-value pair to associate with a resource. +type NetworkTags struct { + Key *string `pulumi:"key"` + Value *string `pulumi:"value"` +} + +// A key-value pair to associate with a resource. +type SdiSourceTags struct { + Key *string `pulumi:"key"` + Value *string `pulumi:"value"` +} + +// An AWS resource used in media workflows. +type SignalMapMediaResource struct { + Destinations []SignalMapMediaResourceNeighbor `pulumi:"destinations"` + // The logical name of an AWS media resource. + Name *string `pulumi:"name"` + Sources []SignalMapMediaResourceNeighbor `pulumi:"sources"` +} + +// An AWS resource used in media workflows. +type SignalMapMediaResourceOutput struct{ *pulumi.OutputState } + +func (SignalMapMediaResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SignalMapMediaResource)(nil)).Elem() +} + +func (o SignalMapMediaResourceOutput) ToSignalMapMediaResourceOutput() SignalMapMediaResourceOutput { + return o +} + +func (o SignalMapMediaResourceOutput) ToSignalMapMediaResourceOutputWithContext(ctx context.Context) SignalMapMediaResourceOutput { + return o +} + +func (o SignalMapMediaResourceOutput) Destinations() SignalMapMediaResourceNeighborArrayOutput { + return o.ApplyT(func(v SignalMapMediaResource) []SignalMapMediaResourceNeighbor { return v.Destinations }).(SignalMapMediaResourceNeighborArrayOutput) +} + +// The logical name of an AWS media resource. +func (o SignalMapMediaResourceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SignalMapMediaResource) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o SignalMapMediaResourceOutput) Sources() SignalMapMediaResourceNeighborArrayOutput { + return o.ApplyT(func(v SignalMapMediaResource) []SignalMapMediaResourceNeighbor { return v.Sources }).(SignalMapMediaResourceNeighborArrayOutput) +} + +type SignalMapMediaResourceMapOutput struct{ *pulumi.OutputState } + +func (SignalMapMediaResourceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SignalMapMediaResource)(nil)).Elem() +} + +func (o SignalMapMediaResourceMapOutput) ToSignalMapMediaResourceMapOutput() SignalMapMediaResourceMapOutput { + return o +} + +func (o SignalMapMediaResourceMapOutput) ToSignalMapMediaResourceMapOutputWithContext(ctx context.Context) SignalMapMediaResourceMapOutput { + return o +} + +func (o SignalMapMediaResourceMapOutput) MapIndex(k pulumi.StringInput) SignalMapMediaResourceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SignalMapMediaResource { + return vs[0].(map[string]SignalMapMediaResource)[vs[1].(string)] + }).(SignalMapMediaResourceOutput) +} + +// A direct source or destination neighbor to an AWS media resource. +type SignalMapMediaResourceNeighbor struct { + // The ARN of a resource used in AWS media workflows. + Arn string `pulumi:"arn"` + // The logical name of an AWS media resource. + Name *string `pulumi:"name"` +} + +// A direct source or destination neighbor to an AWS media resource. +type SignalMapMediaResourceNeighborOutput struct{ *pulumi.OutputState } + +func (SignalMapMediaResourceNeighborOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SignalMapMediaResourceNeighbor)(nil)).Elem() +} + +func (o SignalMapMediaResourceNeighborOutput) ToSignalMapMediaResourceNeighborOutput() SignalMapMediaResourceNeighborOutput { + return o +} + +func (o SignalMapMediaResourceNeighborOutput) ToSignalMapMediaResourceNeighborOutputWithContext(ctx context.Context) SignalMapMediaResourceNeighborOutput { + return o +} + +// The ARN of a resource used in AWS media workflows. +func (o SignalMapMediaResourceNeighborOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v SignalMapMediaResourceNeighbor) string { return v.Arn }).(pulumi.StringOutput) +} + +// The logical name of an AWS media resource. +func (o SignalMapMediaResourceNeighborOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SignalMapMediaResourceNeighbor) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type SignalMapMediaResourceNeighborArrayOutput struct{ *pulumi.OutputState } + +func (SignalMapMediaResourceNeighborArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SignalMapMediaResourceNeighbor)(nil)).Elem() +} + +func (o SignalMapMediaResourceNeighborArrayOutput) ToSignalMapMediaResourceNeighborArrayOutput() SignalMapMediaResourceNeighborArrayOutput { + return o +} + +func (o SignalMapMediaResourceNeighborArrayOutput) ToSignalMapMediaResourceNeighborArrayOutputWithContext(ctx context.Context) SignalMapMediaResourceNeighborArrayOutput { + return o +} + +func (o SignalMapMediaResourceNeighborArrayOutput) Index(i pulumi.IntInput) SignalMapMediaResourceNeighborOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SignalMapMediaResourceNeighbor { + return vs[0].([]SignalMapMediaResourceNeighbor)[vs[1].(int)] + }).(SignalMapMediaResourceNeighborOutput) +} + +// Represents the latest monitor deployment of a signal map. +type SignalMapMonitorDeployment struct { + // URI associated with a signal map's monitor deployment. + DetailsUri *string `pulumi:"detailsUri"` + // Error message associated with a failed monitor deployment of a signal map. + ErrorMessage *string `pulumi:"errorMessage"` + Status SignalMapMonitorDeploymentStatus `pulumi:"status"` +} + +// Represents the latest monitor deployment of a signal map. +type SignalMapMonitorDeploymentOutput struct{ *pulumi.OutputState } + +func (SignalMapMonitorDeploymentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SignalMapMonitorDeployment)(nil)).Elem() +} + +func (o SignalMapMonitorDeploymentOutput) ToSignalMapMonitorDeploymentOutput() SignalMapMonitorDeploymentOutput { + return o +} + +func (o SignalMapMonitorDeploymentOutput) ToSignalMapMonitorDeploymentOutputWithContext(ctx context.Context) SignalMapMonitorDeploymentOutput { + return o +} + +// URI associated with a signal map's monitor deployment. +func (o SignalMapMonitorDeploymentOutput) DetailsUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v SignalMapMonitorDeployment) *string { return v.DetailsUri }).(pulumi.StringPtrOutput) +} + +// Error message associated with a failed monitor deployment of a signal map. +func (o SignalMapMonitorDeploymentOutput) ErrorMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v SignalMapMonitorDeployment) *string { return v.ErrorMessage }).(pulumi.StringPtrOutput) +} + +func (o SignalMapMonitorDeploymentOutput) Status() SignalMapMonitorDeploymentStatusOutput { + return o.ApplyT(func(v SignalMapMonitorDeployment) SignalMapMonitorDeploymentStatus { return v.Status }).(SignalMapMonitorDeploymentStatusOutput) +} + +type SignalMapMonitorDeploymentPtrOutput struct{ *pulumi.OutputState } + +func (SignalMapMonitorDeploymentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SignalMapMonitorDeployment)(nil)).Elem() +} + +func (o SignalMapMonitorDeploymentPtrOutput) ToSignalMapMonitorDeploymentPtrOutput() SignalMapMonitorDeploymentPtrOutput { + return o +} + +func (o SignalMapMonitorDeploymentPtrOutput) ToSignalMapMonitorDeploymentPtrOutputWithContext(ctx context.Context) SignalMapMonitorDeploymentPtrOutput { + return o +} + +func (o SignalMapMonitorDeploymentPtrOutput) Elem() SignalMapMonitorDeploymentOutput { + return o.ApplyT(func(v *SignalMapMonitorDeployment) SignalMapMonitorDeployment { + if v != nil { + return *v + } + var ret SignalMapMonitorDeployment + return ret + }).(SignalMapMonitorDeploymentOutput) +} + +// URI associated with a signal map's monitor deployment. +func (o SignalMapMonitorDeploymentPtrOutput) DetailsUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SignalMapMonitorDeployment) *string { + if v == nil { + return nil + } + return v.DetailsUri + }).(pulumi.StringPtrOutput) +} + +// Error message associated with a failed monitor deployment of a signal map. +func (o SignalMapMonitorDeploymentPtrOutput) ErrorMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SignalMapMonitorDeployment) *string { + if v == nil { + return nil + } + return v.ErrorMessage + }).(pulumi.StringPtrOutput) +} + +func (o SignalMapMonitorDeploymentPtrOutput) Status() SignalMapMonitorDeploymentStatusPtrOutput { + return o.ApplyT(func(v *SignalMapMonitorDeployment) *SignalMapMonitorDeploymentStatus { + if v == nil { + return nil + } + return &v.Status + }).(SignalMapMonitorDeploymentStatusPtrOutput) +} + +// Represents the latest successful monitor deployment of a signal map. +type SignalMapSuccessfulMonitorDeployment struct { + // URI associated with a signal map's monitor deployment. + DetailsUri string `pulumi:"detailsUri"` + Status SignalMapMonitorDeploymentStatus `pulumi:"status"` +} + +// Represents the latest successful monitor deployment of a signal map. +type SignalMapSuccessfulMonitorDeploymentOutput struct{ *pulumi.OutputState } + +func (SignalMapSuccessfulMonitorDeploymentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SignalMapSuccessfulMonitorDeployment)(nil)).Elem() +} + +func (o SignalMapSuccessfulMonitorDeploymentOutput) ToSignalMapSuccessfulMonitorDeploymentOutput() SignalMapSuccessfulMonitorDeploymentOutput { + return o +} + +func (o SignalMapSuccessfulMonitorDeploymentOutput) ToSignalMapSuccessfulMonitorDeploymentOutputWithContext(ctx context.Context) SignalMapSuccessfulMonitorDeploymentOutput { + return o +} + +// URI associated with a signal map's monitor deployment. +func (o SignalMapSuccessfulMonitorDeploymentOutput) DetailsUri() pulumi.StringOutput { + return o.ApplyT(func(v SignalMapSuccessfulMonitorDeployment) string { return v.DetailsUri }).(pulumi.StringOutput) +} + +func (o SignalMapSuccessfulMonitorDeploymentOutput) Status() SignalMapMonitorDeploymentStatusOutput { + return o.ApplyT(func(v SignalMapSuccessfulMonitorDeployment) SignalMapMonitorDeploymentStatus { return v.Status }).(SignalMapMonitorDeploymentStatusOutput) +} + +type SignalMapSuccessfulMonitorDeploymentPtrOutput struct{ *pulumi.OutputState } + +func (SignalMapSuccessfulMonitorDeploymentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SignalMapSuccessfulMonitorDeployment)(nil)).Elem() +} + +func (o SignalMapSuccessfulMonitorDeploymentPtrOutput) ToSignalMapSuccessfulMonitorDeploymentPtrOutput() SignalMapSuccessfulMonitorDeploymentPtrOutput { + return o +} + +func (o SignalMapSuccessfulMonitorDeploymentPtrOutput) ToSignalMapSuccessfulMonitorDeploymentPtrOutputWithContext(ctx context.Context) SignalMapSuccessfulMonitorDeploymentPtrOutput { + return o +} + +func (o SignalMapSuccessfulMonitorDeploymentPtrOutput) Elem() SignalMapSuccessfulMonitorDeploymentOutput { + return o.ApplyT(func(v *SignalMapSuccessfulMonitorDeployment) SignalMapSuccessfulMonitorDeployment { + if v != nil { + return *v + } + var ret SignalMapSuccessfulMonitorDeployment + return ret + }).(SignalMapSuccessfulMonitorDeploymentOutput) +} + +// URI associated with a signal map's monitor deployment. +func (o SignalMapSuccessfulMonitorDeploymentPtrOutput) DetailsUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SignalMapSuccessfulMonitorDeployment) *string { + if v == nil { + return nil + } + return &v.DetailsUri + }).(pulumi.StringPtrOutput) +} + +func (o SignalMapSuccessfulMonitorDeploymentPtrOutput) Status() SignalMapMonitorDeploymentStatusPtrOutput { + return o.ApplyT(func(v *SignalMapSuccessfulMonitorDeployment) *SignalMapMonitorDeploymentStatus { + if v == nil { + return nil + } + return &v.Status + }).(SignalMapMonitorDeploymentStatusPtrOutput) +} + func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInterfaceMappingInput)(nil)).Elem(), ClusterInterfaceMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInterfaceMappingArrayInput)(nil)).Elem(), ClusterInterfaceMappingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterNetworkSettingsInput)(nil)).Elem(), ClusterNetworkSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterNetworkSettingsPtrInput)(nil)).Elem(), ClusterNetworkSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventBridgeRuleTemplateTargetInput)(nil)).Elem(), EventBridgeRuleTemplateTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventBridgeRuleTemplateTargetArrayInput)(nil)).Elem(), EventBridgeRuleTemplateTargetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexOutputDestinationInput)(nil)).Elem(), MultiplexOutputDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexOutputDestinationArrayInput)(nil)).Elem(), MultiplexOutputDestinationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexOutputDestinationMultiplexMediaConnectOutputDestinationSettingsPropertiesInput)(nil)).Elem(), MultiplexOutputDestinationMultiplexMediaConnectOutputDestinationSettingsPropertiesArgs{}) @@ -1333,6 +2211,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MultiplexprogramMultiplexProgramSettingsPtrInput)(nil)).Elem(), MultiplexprogramMultiplexProgramSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexprogramMultiplexVideoSettingsInput)(nil)).Elem(), MultiplexprogramMultiplexVideoSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiplexprogramMultiplexVideoSettingsPtrInput)(nil)).Elem(), MultiplexprogramMultiplexVideoSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkIpPoolInput)(nil)).Elem(), NetworkIpPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkIpPoolArrayInput)(nil)).Elem(), NetworkIpPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkRouteInput)(nil)).Elem(), NetworkRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkRouteArrayInput)(nil)).Elem(), NetworkRouteArray{}) + pulumi.RegisterOutputType(ClusterInterfaceMappingOutput{}) + pulumi.RegisterOutputType(ClusterInterfaceMappingArrayOutput{}) + pulumi.RegisterOutputType(ClusterNetworkSettingsOutput{}) + pulumi.RegisterOutputType(ClusterNetworkSettingsPtrOutput{}) + pulumi.RegisterOutputType(EventBridgeRuleTemplateTargetOutput{}) + pulumi.RegisterOutputType(EventBridgeRuleTemplateTargetArrayOutput{}) pulumi.RegisterOutputType(MultiplexOutputDestinationOutput{}) pulumi.RegisterOutputType(MultiplexOutputDestinationArrayOutput{}) pulumi.RegisterOutputType(MultiplexOutputDestinationMultiplexMediaConnectOutputDestinationSettingsPropertiesOutput{}) @@ -1349,4 +2237,16 @@ func init() { pulumi.RegisterOutputType(MultiplexprogramMultiplexProgramSettingsPtrOutput{}) pulumi.RegisterOutputType(MultiplexprogramMultiplexVideoSettingsOutput{}) pulumi.RegisterOutputType(MultiplexprogramMultiplexVideoSettingsPtrOutput{}) + pulumi.RegisterOutputType(NetworkIpPoolOutput{}) + pulumi.RegisterOutputType(NetworkIpPoolArrayOutput{}) + pulumi.RegisterOutputType(NetworkRouteOutput{}) + pulumi.RegisterOutputType(NetworkRouteArrayOutput{}) + pulumi.RegisterOutputType(SignalMapMediaResourceOutput{}) + pulumi.RegisterOutputType(SignalMapMediaResourceMapOutput{}) + pulumi.RegisterOutputType(SignalMapMediaResourceNeighborOutput{}) + pulumi.RegisterOutputType(SignalMapMediaResourceNeighborArrayOutput{}) + pulumi.RegisterOutputType(SignalMapMonitorDeploymentOutput{}) + pulumi.RegisterOutputType(SignalMapMonitorDeploymentPtrOutput{}) + pulumi.RegisterOutputType(SignalMapSuccessfulMonitorDeploymentOutput{}) + pulumi.RegisterOutputType(SignalMapSuccessfulMonitorDeploymentPtrOutput{}) } diff --git a/sdk/go/aws/medialive/sdiSource.go b/sdk/go/aws/medialive/sdiSource.go new file mode 100644 index 0000000000..b69b219605 --- /dev/null +++ b/sdk/go/aws/medialive/sdiSource.go @@ -0,0 +1,173 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::SdiSource Resource Type +type SdiSource struct { + pulumi.CustomResourceState + + // The unique arn of the SdiSource. + Arn pulumi.StringOutput `pulumi:"arn"` + // The unique identifier of the SdiSource. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The list of inputs currently using this SDI source. + Inputs pulumi.StringArrayOutput `pulumi:"inputs"` + Mode SdiSourceModePtrOutput `pulumi:"mode"` + // The name of the SdiSource. + Name pulumi.StringOutput `pulumi:"name"` + State SdiSourceStateEnumOutput `pulumi:"state"` + // A collection of key-value pairs. + Tags aws.TagArrayOutput `pulumi:"tags"` + Type SdiSourceTypeOutput `pulumi:"type"` +} + +// NewSdiSource registers a new resource with the given unique name, arguments, and options. +func NewSdiSource(ctx *pulumi.Context, + name string, args *SdiSourceArgs, opts ...pulumi.ResourceOption) (*SdiSource, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SdiSource + err := ctx.RegisterResource("aws-native:medialive:SdiSource", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSdiSource gets an existing SdiSource 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 GetSdiSource(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SdiSourceState, opts ...pulumi.ResourceOption) (*SdiSource, error) { + var resource SdiSource + err := ctx.ReadResource("aws-native:medialive:SdiSource", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SdiSource resources. +type sdiSourceState struct { +} + +type SdiSourceState struct { +} + +func (SdiSourceState) ElementType() reflect.Type { + return reflect.TypeOf((*sdiSourceState)(nil)).Elem() +} + +type sdiSourceArgs struct { + Mode *SdiSourceMode `pulumi:"mode"` + // The name of the SdiSource. + Name *string `pulumi:"name"` + // A collection of key-value pairs. + Tags []aws.Tag `pulumi:"tags"` + Type SdiSourceType `pulumi:"type"` +} + +// The set of arguments for constructing a SdiSource resource. +type SdiSourceArgs struct { + Mode SdiSourceModePtrInput + // The name of the SdiSource. + Name pulumi.StringPtrInput + // A collection of key-value pairs. + Tags aws.TagArrayInput + Type SdiSourceTypeInput +} + +func (SdiSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sdiSourceArgs)(nil)).Elem() +} + +type SdiSourceInput interface { + pulumi.Input + + ToSdiSourceOutput() SdiSourceOutput + ToSdiSourceOutputWithContext(ctx context.Context) SdiSourceOutput +} + +func (*SdiSource) ElementType() reflect.Type { + return reflect.TypeOf((**SdiSource)(nil)).Elem() +} + +func (i *SdiSource) ToSdiSourceOutput() SdiSourceOutput { + return i.ToSdiSourceOutputWithContext(context.Background()) +} + +func (i *SdiSource) ToSdiSourceOutputWithContext(ctx context.Context) SdiSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SdiSourceOutput) +} + +type SdiSourceOutput struct{ *pulumi.OutputState } + +func (SdiSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SdiSource)(nil)).Elem() +} + +func (o SdiSourceOutput) ToSdiSourceOutput() SdiSourceOutput { + return o +} + +func (o SdiSourceOutput) ToSdiSourceOutputWithContext(ctx context.Context) SdiSourceOutput { + return o +} + +// The unique arn of the SdiSource. +func (o SdiSourceOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *SdiSource) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The unique identifier of the SdiSource. +func (o SdiSourceOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *SdiSource) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The list of inputs currently using this SDI source. +func (o SdiSourceOutput) Inputs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SdiSource) pulumi.StringArrayOutput { return v.Inputs }).(pulumi.StringArrayOutput) +} + +func (o SdiSourceOutput) Mode() SdiSourceModePtrOutput { + return o.ApplyT(func(v *SdiSource) SdiSourceModePtrOutput { return v.Mode }).(SdiSourceModePtrOutput) +} + +// The name of the SdiSource. +func (o SdiSourceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SdiSource) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o SdiSourceOutput) State() SdiSourceStateEnumOutput { + return o.ApplyT(func(v *SdiSource) SdiSourceStateEnumOutput { return v.State }).(SdiSourceStateEnumOutput) +} + +// A collection of key-value pairs. +func (o SdiSourceOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *SdiSource) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func (o SdiSourceOutput) Type() SdiSourceTypeOutput { + return o.ApplyT(func(v *SdiSource) SdiSourceTypeOutput { return v.Type }).(SdiSourceTypeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SdiSourceInput)(nil)).Elem(), &SdiSource{}) + pulumi.RegisterOutputType(SdiSourceOutput{}) +} diff --git a/sdk/go/aws/medialive/signalMap.go b/sdk/go/aws/medialive/signalMap.go new file mode 100644 index 0000000000..52de601618 --- /dev/null +++ b/sdk/go/aws/medialive/signalMap.go @@ -0,0 +1,264 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package medialive + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of AWS::MediaLive::SignalMap Resource Type +type SignalMap struct { + pulumi.CustomResourceState + + // A signal map's ARN (Amazon Resource Name) + Arn pulumi.StringOutput `pulumi:"arn"` + // A signal map's id. + AwsId pulumi.StringOutput `pulumi:"awsId"` + CloudWatchAlarmTemplateGroupIdentifiers pulumi.StringArrayOutput `pulumi:"cloudWatchAlarmTemplateGroupIdentifiers"` + CloudWatchAlarmTemplateGroupIds pulumi.StringArrayOutput `pulumi:"cloudWatchAlarmTemplateGroupIds"` + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A resource's optional description. + Description pulumi.StringPtrOutput `pulumi:"description"` + // A top-level supported AWS resource ARN to discovery a signal map from. + DiscoveryEntryPointArn pulumi.StringOutput `pulumi:"discoveryEntryPointArn"` + // Error message associated with a failed creation or failed update attempt of a signal map. + ErrorMessage pulumi.StringOutput `pulumi:"errorMessage"` + EventBridgeRuleTemplateGroupIdentifiers pulumi.StringArrayOutput `pulumi:"eventBridgeRuleTemplateGroupIdentifiers"` + EventBridgeRuleTemplateGroupIds pulumi.StringArrayOutput `pulumi:"eventBridgeRuleTemplateGroupIds"` + FailedMediaResourceMap SignalMapMediaResourceMapOutput `pulumi:"failedMediaResourceMap"` + // If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + ForceRediscovery pulumi.BoolPtrOutput `pulumi:"forceRediscovery"` + Identifier pulumi.StringOutput `pulumi:"identifier"` + LastDiscoveredAt pulumi.StringOutput `pulumi:"lastDiscoveredAt"` + LastSuccessfulMonitorDeployment SignalMapSuccessfulMonitorDeploymentOutput `pulumi:"lastSuccessfulMonitorDeployment"` + MediaResourceMap SignalMapMediaResourceMapOutput `pulumi:"mediaResourceMap"` + ModifiedAt pulumi.StringOutput `pulumi:"modifiedAt"` + // If true, there are pending monitor changes for this signal map that can be deployed. + MonitorChangesPendingDeployment pulumi.BoolOutput `pulumi:"monitorChangesPendingDeployment"` + MonitorDeployment SignalMapMonitorDeploymentOutput `pulumi:"monitorDeployment"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringOutput `pulumi:"name"` + Status SignalMapStatusOutput `pulumi:"status"` + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewSignalMap registers a new resource with the given unique name, arguments, and options. +func NewSignalMap(ctx *pulumi.Context, + name string, args *SignalMapArgs, opts ...pulumi.ResourceOption) (*SignalMap, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DiscoveryEntryPointArn == nil { + return nil, errors.New("invalid value for required argument 'DiscoveryEntryPointArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "tags.*", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource SignalMap + err := ctx.RegisterResource("aws-native:medialive:SignalMap", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSignalMap gets an existing SignalMap 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 GetSignalMap(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SignalMapState, opts ...pulumi.ResourceOption) (*SignalMap, error) { + var resource SignalMap + err := ctx.ReadResource("aws-native:medialive:SignalMap", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SignalMap resources. +type signalMapState struct { +} + +type SignalMapState struct { +} + +func (SignalMapState) ElementType() reflect.Type { + return reflect.TypeOf((*signalMapState)(nil)).Elem() +} + +type signalMapArgs struct { + CloudWatchAlarmTemplateGroupIdentifiers []string `pulumi:"cloudWatchAlarmTemplateGroupIdentifiers"` + // A resource's optional description. + Description *string `pulumi:"description"` + // A top-level supported AWS resource ARN to discovery a signal map from. + DiscoveryEntryPointArn string `pulumi:"discoveryEntryPointArn"` + EventBridgeRuleTemplateGroupIdentifiers []string `pulumi:"eventBridgeRuleTemplateGroupIdentifiers"` + // If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + ForceRediscovery *bool `pulumi:"forceRediscovery"` + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name *string `pulumi:"name"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a SignalMap resource. +type SignalMapArgs struct { + CloudWatchAlarmTemplateGroupIdentifiers pulumi.StringArrayInput + // A resource's optional description. + Description pulumi.StringPtrInput + // A top-level supported AWS resource ARN to discovery a signal map from. + DiscoveryEntryPointArn pulumi.StringInput + EventBridgeRuleTemplateGroupIdentifiers pulumi.StringArrayInput + // If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + ForceRediscovery pulumi.BoolPtrInput + // A resource's name. Names must be unique within the scope of a resource type in a specific region. + Name pulumi.StringPtrInput + Tags pulumi.StringMapInput +} + +func (SignalMapArgs) ElementType() reflect.Type { + return reflect.TypeOf((*signalMapArgs)(nil)).Elem() +} + +type SignalMapInput interface { + pulumi.Input + + ToSignalMapOutput() SignalMapOutput + ToSignalMapOutputWithContext(ctx context.Context) SignalMapOutput +} + +func (*SignalMap) ElementType() reflect.Type { + return reflect.TypeOf((**SignalMap)(nil)).Elem() +} + +func (i *SignalMap) ToSignalMapOutput() SignalMapOutput { + return i.ToSignalMapOutputWithContext(context.Background()) +} + +func (i *SignalMap) ToSignalMapOutputWithContext(ctx context.Context) SignalMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SignalMapOutput) +} + +type SignalMapOutput struct{ *pulumi.OutputState } + +func (SignalMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SignalMap)(nil)).Elem() +} + +func (o SignalMapOutput) ToSignalMapOutput() SignalMapOutput { + return o +} + +func (o SignalMapOutput) ToSignalMapOutputWithContext(ctx context.Context) SignalMapOutput { + return o +} + +// A signal map's ARN (Amazon Resource Name) +func (o SignalMapOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// A signal map's id. +func (o SignalMapOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +func (o SignalMapOutput) CloudWatchAlarmTemplateGroupIdentifiers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringArrayOutput { return v.CloudWatchAlarmTemplateGroupIdentifiers }).(pulumi.StringArrayOutput) +} + +func (o SignalMapOutput) CloudWatchAlarmTemplateGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringArrayOutput { return v.CloudWatchAlarmTemplateGroupIds }).(pulumi.StringArrayOutput) +} + +func (o SignalMapOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A resource's optional description. +func (o SignalMapOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// A top-level supported AWS resource ARN to discovery a signal map from. +func (o SignalMapOutput) DiscoveryEntryPointArn() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.DiscoveryEntryPointArn }).(pulumi.StringOutput) +} + +// Error message associated with a failed creation or failed update attempt of a signal map. +func (o SignalMapOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.ErrorMessage }).(pulumi.StringOutput) +} + +func (o SignalMapOutput) EventBridgeRuleTemplateGroupIdentifiers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringArrayOutput { return v.EventBridgeRuleTemplateGroupIdentifiers }).(pulumi.StringArrayOutput) +} + +func (o SignalMapOutput) EventBridgeRuleTemplateGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringArrayOutput { return v.EventBridgeRuleTemplateGroupIds }).(pulumi.StringArrayOutput) +} + +func (o SignalMapOutput) FailedMediaResourceMap() SignalMapMediaResourceMapOutput { + return o.ApplyT(func(v *SignalMap) SignalMapMediaResourceMapOutput { return v.FailedMediaResourceMap }).(SignalMapMediaResourceMapOutput) +} + +// If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. +func (o SignalMapOutput) ForceRediscovery() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SignalMap) pulumi.BoolPtrOutput { return v.ForceRediscovery }).(pulumi.BoolPtrOutput) +} + +func (o SignalMapOutput) Identifier() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) +} + +func (o SignalMapOutput) LastDiscoveredAt() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.LastDiscoveredAt }).(pulumi.StringOutput) +} + +func (o SignalMapOutput) LastSuccessfulMonitorDeployment() SignalMapSuccessfulMonitorDeploymentOutput { + return o.ApplyT(func(v *SignalMap) SignalMapSuccessfulMonitorDeploymentOutput { + return v.LastSuccessfulMonitorDeployment + }).(SignalMapSuccessfulMonitorDeploymentOutput) +} + +func (o SignalMapOutput) MediaResourceMap() SignalMapMediaResourceMapOutput { + return o.ApplyT(func(v *SignalMap) SignalMapMediaResourceMapOutput { return v.MediaResourceMap }).(SignalMapMediaResourceMapOutput) +} + +func (o SignalMapOutput) ModifiedAt() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.ModifiedAt }).(pulumi.StringOutput) +} + +// If true, there are pending monitor changes for this signal map that can be deployed. +func (o SignalMapOutput) MonitorChangesPendingDeployment() pulumi.BoolOutput { + return o.ApplyT(func(v *SignalMap) pulumi.BoolOutput { return v.MonitorChangesPendingDeployment }).(pulumi.BoolOutput) +} + +func (o SignalMapOutput) MonitorDeployment() SignalMapMonitorDeploymentOutput { + return o.ApplyT(func(v *SignalMap) SignalMapMonitorDeploymentOutput { return v.MonitorDeployment }).(SignalMapMonitorDeploymentOutput) +} + +// A resource's name. Names must be unique within the scope of a resource type in a specific region. +func (o SignalMapOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o SignalMapOutput) Status() SignalMapStatusOutput { + return o.ApplyT(func(v *SignalMap) SignalMapStatusOutput { return v.Status }).(SignalMapStatusOutput) +} + +func (o SignalMapOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *SignalMap) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SignalMapInput)(nil)).Elem(), &SignalMap{}) + pulumi.RegisterOutputType(SignalMapOutput{}) +} diff --git a/sdk/go/aws/paymentcryptography/pulumiEnums.go b/sdk/go/aws/paymentcryptography/pulumiEnums.go index 20675e1da0..785c072ed9 100644 --- a/sdk/go/aws/paymentcryptography/pulumiEnums.go +++ b/sdk/go/aws/paymentcryptography/pulumiEnums.go @@ -13,14 +13,16 @@ import ( type KeyAlgorithm string const ( - KeyAlgorithmTdes2key = KeyAlgorithm("TDES_2KEY") - KeyAlgorithmTdes3key = KeyAlgorithm("TDES_3KEY") - KeyAlgorithmAes128 = KeyAlgorithm("AES_128") - KeyAlgorithmAes192 = KeyAlgorithm("AES_192") - KeyAlgorithmAes256 = KeyAlgorithm("AES_256") - KeyAlgorithmRsa2048 = KeyAlgorithm("RSA_2048") - KeyAlgorithmRsa3072 = KeyAlgorithm("RSA_3072") - KeyAlgorithmRsa4096 = KeyAlgorithm("RSA_4096") + KeyAlgorithmTdes2key = KeyAlgorithm("TDES_2KEY") + KeyAlgorithmTdes3key = KeyAlgorithm("TDES_3KEY") + KeyAlgorithmAes128 = KeyAlgorithm("AES_128") + KeyAlgorithmAes192 = KeyAlgorithm("AES_192") + KeyAlgorithmAes256 = KeyAlgorithm("AES_256") + KeyAlgorithmRsa2048 = KeyAlgorithm("RSA_2048") + KeyAlgorithmRsa3072 = KeyAlgorithm("RSA_3072") + KeyAlgorithmRsa4096 = KeyAlgorithm("RSA_4096") + KeyAlgorithmEccNistP256 = KeyAlgorithm("ECC_NIST_P256") + KeyAlgorithmEccNistP384 = KeyAlgorithm("ECC_NIST_P384") ) func (KeyAlgorithm) ElementType() reflect.Type { @@ -153,6 +155,8 @@ func (o KeyAlgorithmPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) // KeyAlgorithmRsa2048 // KeyAlgorithmRsa3072 // KeyAlgorithmRsa4096 +// KeyAlgorithmEccNistP256 +// KeyAlgorithmEccNistP384 type KeyAlgorithmInput interface { pulumi.Input diff --git a/sdk/go/aws/paymentcryptography/pulumiTypes.go b/sdk/go/aws/paymentcryptography/pulumiTypes.go index a83a277041..a15c42c37c 100644 --- a/sdk/go/aws/paymentcryptography/pulumiTypes.go +++ b/sdk/go/aws/paymentcryptography/pulumiTypes.go @@ -402,7 +402,7 @@ type KeyTag struct { // The key of the tag. Key string `pulumi:"key"` // The value of the tag. - Value *string `pulumi:"value"` + Value string `pulumi:"value"` } func init() { diff --git a/sdk/go/aws/pcaconnectorscep/challenge.go b/sdk/go/aws/pcaconnectorscep/challenge.go new file mode 100644 index 0000000000..14c1856c80 --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/challenge.go @@ -0,0 +1,133 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Represents a SCEP Challenge that is used for certificate enrollment +type Challenge struct { + pulumi.CustomResourceState + + ChallengeArn pulumi.StringOutput `pulumi:"challengeArn"` + ConnectorArn pulumi.StringOutput `pulumi:"connectorArn"` + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewChallenge registers a new resource with the given unique name, arguments, and options. +func NewChallenge(ctx *pulumi.Context, + name string, args *ChallengeArgs, opts ...pulumi.ResourceOption) (*Challenge, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ConnectorArn == nil { + return nil, errors.New("invalid value for required argument 'ConnectorArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "connectorArn", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Challenge + err := ctx.RegisterResource("aws-native:pcaconnectorscep:Challenge", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetChallenge gets an existing Challenge 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 GetChallenge(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ChallengeState, opts ...pulumi.ResourceOption) (*Challenge, error) { + var resource Challenge + err := ctx.ReadResource("aws-native:pcaconnectorscep:Challenge", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Challenge resources. +type challengeState struct { +} + +type ChallengeState struct { +} + +func (ChallengeState) ElementType() reflect.Type { + return reflect.TypeOf((*challengeState)(nil)).Elem() +} + +type challengeArgs struct { + ConnectorArn string `pulumi:"connectorArn"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Challenge resource. +type ChallengeArgs struct { + ConnectorArn pulumi.StringInput + Tags pulumi.StringMapInput +} + +func (ChallengeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*challengeArgs)(nil)).Elem() +} + +type ChallengeInput interface { + pulumi.Input + + ToChallengeOutput() ChallengeOutput + ToChallengeOutputWithContext(ctx context.Context) ChallengeOutput +} + +func (*Challenge) ElementType() reflect.Type { + return reflect.TypeOf((**Challenge)(nil)).Elem() +} + +func (i *Challenge) ToChallengeOutput() ChallengeOutput { + return i.ToChallengeOutputWithContext(context.Background()) +} + +func (i *Challenge) ToChallengeOutputWithContext(ctx context.Context) ChallengeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ChallengeOutput) +} + +type ChallengeOutput struct{ *pulumi.OutputState } + +func (ChallengeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Challenge)(nil)).Elem() +} + +func (o ChallengeOutput) ToChallengeOutput() ChallengeOutput { + return o +} + +func (o ChallengeOutput) ToChallengeOutputWithContext(ctx context.Context) ChallengeOutput { + return o +} + +func (o ChallengeOutput) ChallengeArn() pulumi.StringOutput { + return o.ApplyT(func(v *Challenge) pulumi.StringOutput { return v.ChallengeArn }).(pulumi.StringOutput) +} + +func (o ChallengeOutput) ConnectorArn() pulumi.StringOutput { + return o.ApplyT(func(v *Challenge) pulumi.StringOutput { return v.ConnectorArn }).(pulumi.StringOutput) +} + +func (o ChallengeOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Challenge) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ChallengeInput)(nil)).Elem(), &Challenge{}) + pulumi.RegisterOutputType(ChallengeOutput{}) +} diff --git a/sdk/go/aws/pcaconnectorscep/connector.go b/sdk/go/aws/pcaconnectorscep/connector.go new file mode 100644 index 0000000000..3ebc40c691 --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/connector.go @@ -0,0 +1,156 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) +type Connector struct { + pulumi.CustomResourceState + + CertificateAuthorityArn pulumi.StringOutput `pulumi:"certificateAuthorityArn"` + ConnectorArn pulumi.StringOutput `pulumi:"connectorArn"` + Endpoint pulumi.StringOutput `pulumi:"endpoint"` + MobileDeviceManagement ConnectorMobileDeviceManagementPtrOutput `pulumi:"mobileDeviceManagement"` + OpenIdConfiguration ConnectorOpenIdConfigurationOutput `pulumi:"openIdConfiguration"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + Type ConnectorTypeOutput `pulumi:"type"` +} + +// NewConnector registers a new resource with the given unique name, arguments, and options. +func NewConnector(ctx *pulumi.Context, + name string, args *ConnectorArgs, opts ...pulumi.ResourceOption) (*Connector, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CertificateAuthorityArn == nil { + return nil, errors.New("invalid value for required argument 'CertificateAuthorityArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "certificateAuthorityArn", + "mobileDeviceManagement", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Connector + err := ctx.RegisterResource("aws-native:pcaconnectorscep:Connector", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetConnector gets an existing Connector 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 GetConnector(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ConnectorState, opts ...pulumi.ResourceOption) (*Connector, error) { + var resource Connector + err := ctx.ReadResource("aws-native:pcaconnectorscep:Connector", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Connector resources. +type connectorState struct { +} + +type ConnectorState struct { +} + +func (ConnectorState) ElementType() reflect.Type { + return reflect.TypeOf((*connectorState)(nil)).Elem() +} + +type connectorArgs struct { + CertificateAuthorityArn string `pulumi:"certificateAuthorityArn"` + MobileDeviceManagement *ConnectorMobileDeviceManagement `pulumi:"mobileDeviceManagement"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Connector resource. +type ConnectorArgs struct { + CertificateAuthorityArn pulumi.StringInput + MobileDeviceManagement ConnectorMobileDeviceManagementPtrInput + Tags pulumi.StringMapInput +} + +func (ConnectorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*connectorArgs)(nil)).Elem() +} + +type ConnectorInput interface { + pulumi.Input + + ToConnectorOutput() ConnectorOutput + ToConnectorOutputWithContext(ctx context.Context) ConnectorOutput +} + +func (*Connector) ElementType() reflect.Type { + return reflect.TypeOf((**Connector)(nil)).Elem() +} + +func (i *Connector) ToConnectorOutput() ConnectorOutput { + return i.ToConnectorOutputWithContext(context.Background()) +} + +func (i *Connector) ToConnectorOutputWithContext(ctx context.Context) ConnectorOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectorOutput) +} + +type ConnectorOutput struct{ *pulumi.OutputState } + +func (ConnectorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Connector)(nil)).Elem() +} + +func (o ConnectorOutput) ToConnectorOutput() ConnectorOutput { + return o +} + +func (o ConnectorOutput) ToConnectorOutputWithContext(ctx context.Context) ConnectorOutput { + return o +} + +func (o ConnectorOutput) CertificateAuthorityArn() pulumi.StringOutput { + return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.CertificateAuthorityArn }).(pulumi.StringOutput) +} + +func (o ConnectorOutput) ConnectorArn() pulumi.StringOutput { + return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.ConnectorArn }).(pulumi.StringOutput) +} + +func (o ConnectorOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.Endpoint }).(pulumi.StringOutput) +} + +func (o ConnectorOutput) MobileDeviceManagement() ConnectorMobileDeviceManagementPtrOutput { + return o.ApplyT(func(v *Connector) ConnectorMobileDeviceManagementPtrOutput { return v.MobileDeviceManagement }).(ConnectorMobileDeviceManagementPtrOutput) +} + +func (o ConnectorOutput) OpenIdConfiguration() ConnectorOpenIdConfigurationOutput { + return o.ApplyT(func(v *Connector) ConnectorOpenIdConfigurationOutput { return v.OpenIdConfiguration }).(ConnectorOpenIdConfigurationOutput) +} + +func (o ConnectorOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Connector) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o ConnectorOutput) Type() ConnectorTypeOutput { + return o.ApplyT(func(v *Connector) ConnectorTypeOutput { return v.Type }).(ConnectorTypeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ConnectorInput)(nil)).Elem(), &Connector{}) + pulumi.RegisterOutputType(ConnectorOutput{}) +} diff --git a/sdk/go/aws/pcaconnectorscep/getChallenge.go b/sdk/go/aws/pcaconnectorscep/getChallenge.go new file mode 100644 index 0000000000..70816a987e --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/getChallenge.go @@ -0,0 +1,79 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Represents a SCEP Challenge that is used for certificate enrollment +func LookupChallenge(ctx *pulumi.Context, args *LookupChallengeArgs, opts ...pulumi.InvokeOption) (*LookupChallengeResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupChallengeResult + err := ctx.Invoke("aws-native:pcaconnectorscep:getChallenge", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupChallengeArgs struct { + ChallengeArn string `pulumi:"challengeArn"` +} + +type LookupChallengeResult struct { + ChallengeArn *string `pulumi:"challengeArn"` + Tags map[string]string `pulumi:"tags"` +} + +func LookupChallengeOutput(ctx *pulumi.Context, args LookupChallengeOutputArgs, opts ...pulumi.InvokeOption) LookupChallengeResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupChallengeResult, error) { + args := v.(LookupChallengeArgs) + r, err := LookupChallenge(ctx, &args, opts...) + var s LookupChallengeResult + if r != nil { + s = *r + } + return s, err + }).(LookupChallengeResultOutput) +} + +type LookupChallengeOutputArgs struct { + ChallengeArn pulumi.StringInput `pulumi:"challengeArn"` +} + +func (LookupChallengeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupChallengeArgs)(nil)).Elem() +} + +type LookupChallengeResultOutput struct{ *pulumi.OutputState } + +func (LookupChallengeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupChallengeResult)(nil)).Elem() +} + +func (o LookupChallengeResultOutput) ToLookupChallengeResultOutput() LookupChallengeResultOutput { + return o +} + +func (o LookupChallengeResultOutput) ToLookupChallengeResultOutputWithContext(ctx context.Context) LookupChallengeResultOutput { + return o +} + +func (o LookupChallengeResultOutput) ChallengeArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupChallengeResult) *string { return v.ChallengeArn }).(pulumi.StringPtrOutput) +} + +func (o LookupChallengeResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupChallengeResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupChallengeResultOutput{}) +} diff --git a/sdk/go/aws/pcaconnectorscep/getConnector.go b/sdk/go/aws/pcaconnectorscep/getConnector.go new file mode 100644 index 0000000000..597364ed2e --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/getConnector.go @@ -0,0 +1,94 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) +func LookupConnector(ctx *pulumi.Context, args *LookupConnectorArgs, opts ...pulumi.InvokeOption) (*LookupConnectorResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupConnectorResult + err := ctx.Invoke("aws-native:pcaconnectorscep:getConnector", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupConnectorArgs struct { + ConnectorArn string `pulumi:"connectorArn"` +} + +type LookupConnectorResult struct { + ConnectorArn *string `pulumi:"connectorArn"` + Endpoint *string `pulumi:"endpoint"` + OpenIdConfiguration *ConnectorOpenIdConfiguration `pulumi:"openIdConfiguration"` + Tags map[string]string `pulumi:"tags"` + Type *ConnectorType `pulumi:"type"` +} + +func LookupConnectorOutput(ctx *pulumi.Context, args LookupConnectorOutputArgs, opts ...pulumi.InvokeOption) LookupConnectorResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupConnectorResult, error) { + args := v.(LookupConnectorArgs) + r, err := LookupConnector(ctx, &args, opts...) + var s LookupConnectorResult + if r != nil { + s = *r + } + return s, err + }).(LookupConnectorResultOutput) +} + +type LookupConnectorOutputArgs struct { + ConnectorArn pulumi.StringInput `pulumi:"connectorArn"` +} + +func (LookupConnectorOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupConnectorArgs)(nil)).Elem() +} + +type LookupConnectorResultOutput struct{ *pulumi.OutputState } + +func (LookupConnectorResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupConnectorResult)(nil)).Elem() +} + +func (o LookupConnectorResultOutput) ToLookupConnectorResultOutput() LookupConnectorResultOutput { + return o +} + +func (o LookupConnectorResultOutput) ToLookupConnectorResultOutputWithContext(ctx context.Context) LookupConnectorResultOutput { + return o +} + +func (o LookupConnectorResultOutput) ConnectorArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupConnectorResult) *string { return v.ConnectorArn }).(pulumi.StringPtrOutput) +} + +func (o LookupConnectorResultOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupConnectorResult) *string { return v.Endpoint }).(pulumi.StringPtrOutput) +} + +func (o LookupConnectorResultOutput) OpenIdConfiguration() ConnectorOpenIdConfigurationPtrOutput { + return o.ApplyT(func(v LookupConnectorResult) *ConnectorOpenIdConfiguration { return v.OpenIdConfiguration }).(ConnectorOpenIdConfigurationPtrOutput) +} + +func (o LookupConnectorResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupConnectorResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o LookupConnectorResultOutput) Type() ConnectorTypePtrOutput { + return o.ApplyT(func(v LookupConnectorResult) *ConnectorType { return v.Type }).(ConnectorTypePtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupConnectorResultOutput{}) +} diff --git a/sdk/go/aws/pcaconnectorscep/init.go b/sdk/go/aws/pcaconnectorscep/init.go new file mode 100644 index 0000000000..f01ecad84c --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/init.go @@ -0,0 +1,46 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws-native:pcaconnectorscep:Challenge": + r = &Challenge{} + case "aws-native:pcaconnectorscep:Connector": + r = &Connector{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws-native", + "pcaconnectorscep", + &module{version}, + ) +} diff --git a/sdk/go/aws/pcaconnectorscep/pulumiEnums.go b/sdk/go/aws/pcaconnectorscep/pulumiEnums.go new file mode 100644 index 0000000000..98d8dcba8f --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/pulumiEnums.go @@ -0,0 +1,106 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ConnectorType string + +const ( + ConnectorTypeGeneralPurpose = ConnectorType("GENERAL_PURPOSE") + ConnectorTypeIntune = ConnectorType("INTUNE") +) + +type ConnectorTypeOutput struct{ *pulumi.OutputState } + +func (ConnectorTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectorType)(nil)).Elem() +} + +func (o ConnectorTypeOutput) ToConnectorTypeOutput() ConnectorTypeOutput { + return o +} + +func (o ConnectorTypeOutput) ToConnectorTypeOutputWithContext(ctx context.Context) ConnectorTypeOutput { + return o +} + +func (o ConnectorTypeOutput) ToConnectorTypePtrOutput() ConnectorTypePtrOutput { + return o.ToConnectorTypePtrOutputWithContext(context.Background()) +} + +func (o ConnectorTypeOutput) ToConnectorTypePtrOutputWithContext(ctx context.Context) ConnectorTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConnectorType) *ConnectorType { + return &v + }).(ConnectorTypePtrOutput) +} + +func (o ConnectorTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ConnectorTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ConnectorType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ConnectorTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ConnectorTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ConnectorType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ConnectorTypePtrOutput struct{ *pulumi.OutputState } + +func (ConnectorTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectorType)(nil)).Elem() +} + +func (o ConnectorTypePtrOutput) ToConnectorTypePtrOutput() ConnectorTypePtrOutput { + return o +} + +func (o ConnectorTypePtrOutput) ToConnectorTypePtrOutputWithContext(ctx context.Context) ConnectorTypePtrOutput { + return o +} + +func (o ConnectorTypePtrOutput) Elem() ConnectorTypeOutput { + return o.ApplyT(func(v *ConnectorType) ConnectorType { + if v != nil { + return *v + } + var ret ConnectorType + return ret + }).(ConnectorTypeOutput) +} + +func (o ConnectorTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ConnectorTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ConnectorType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(ConnectorTypeOutput{}) + pulumi.RegisterOutputType(ConnectorTypePtrOutput{}) +} diff --git a/sdk/go/aws/pcaconnectorscep/pulumiTypes.go b/sdk/go/aws/pcaconnectorscep/pulumiTypes.go new file mode 100644 index 0000000000..be14b6a517 --- /dev/null +++ b/sdk/go/aws/pcaconnectorscep/pulumiTypes.go @@ -0,0 +1,224 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcaconnectorscep + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +type ConnectorMobileDeviceManagement struct { +} + +// ConnectorMobileDeviceManagementInput is an input type that accepts ConnectorMobileDeviceManagementArgs and ConnectorMobileDeviceManagementOutput values. +// You can construct a concrete instance of `ConnectorMobileDeviceManagementInput` via: +// +// ConnectorMobileDeviceManagementArgs{...} +type ConnectorMobileDeviceManagementInput interface { + pulumi.Input + + ToConnectorMobileDeviceManagementOutput() ConnectorMobileDeviceManagementOutput + ToConnectorMobileDeviceManagementOutputWithContext(context.Context) ConnectorMobileDeviceManagementOutput +} + +type ConnectorMobileDeviceManagementArgs struct { +} + +func (ConnectorMobileDeviceManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectorMobileDeviceManagement)(nil)).Elem() +} + +func (i ConnectorMobileDeviceManagementArgs) ToConnectorMobileDeviceManagementOutput() ConnectorMobileDeviceManagementOutput { + return i.ToConnectorMobileDeviceManagementOutputWithContext(context.Background()) +} + +func (i ConnectorMobileDeviceManagementArgs) ToConnectorMobileDeviceManagementOutputWithContext(ctx context.Context) ConnectorMobileDeviceManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectorMobileDeviceManagementOutput) +} + +func (i ConnectorMobileDeviceManagementArgs) ToConnectorMobileDeviceManagementPtrOutput() ConnectorMobileDeviceManagementPtrOutput { + return i.ToConnectorMobileDeviceManagementPtrOutputWithContext(context.Background()) +} + +func (i ConnectorMobileDeviceManagementArgs) ToConnectorMobileDeviceManagementPtrOutputWithContext(ctx context.Context) ConnectorMobileDeviceManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectorMobileDeviceManagementOutput).ToConnectorMobileDeviceManagementPtrOutputWithContext(ctx) +} + +// ConnectorMobileDeviceManagementPtrInput is an input type that accepts ConnectorMobileDeviceManagementArgs, ConnectorMobileDeviceManagementPtr and ConnectorMobileDeviceManagementPtrOutput values. +// You can construct a concrete instance of `ConnectorMobileDeviceManagementPtrInput` via: +// +// ConnectorMobileDeviceManagementArgs{...} +// +// or: +// +// nil +type ConnectorMobileDeviceManagementPtrInput interface { + pulumi.Input + + ToConnectorMobileDeviceManagementPtrOutput() ConnectorMobileDeviceManagementPtrOutput + ToConnectorMobileDeviceManagementPtrOutputWithContext(context.Context) ConnectorMobileDeviceManagementPtrOutput +} + +type connectorMobileDeviceManagementPtrType ConnectorMobileDeviceManagementArgs + +func ConnectorMobileDeviceManagementPtr(v *ConnectorMobileDeviceManagementArgs) ConnectorMobileDeviceManagementPtrInput { + return (*connectorMobileDeviceManagementPtrType)(v) +} + +func (*connectorMobileDeviceManagementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectorMobileDeviceManagement)(nil)).Elem() +} + +func (i *connectorMobileDeviceManagementPtrType) ToConnectorMobileDeviceManagementPtrOutput() ConnectorMobileDeviceManagementPtrOutput { + return i.ToConnectorMobileDeviceManagementPtrOutputWithContext(context.Background()) +} + +func (i *connectorMobileDeviceManagementPtrType) ToConnectorMobileDeviceManagementPtrOutputWithContext(ctx context.Context) ConnectorMobileDeviceManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConnectorMobileDeviceManagementPtrOutput) +} + +type ConnectorMobileDeviceManagementOutput struct{ *pulumi.OutputState } + +func (ConnectorMobileDeviceManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectorMobileDeviceManagement)(nil)).Elem() +} + +func (o ConnectorMobileDeviceManagementOutput) ToConnectorMobileDeviceManagementOutput() ConnectorMobileDeviceManagementOutput { + return o +} + +func (o ConnectorMobileDeviceManagementOutput) ToConnectorMobileDeviceManagementOutputWithContext(ctx context.Context) ConnectorMobileDeviceManagementOutput { + return o +} + +func (o ConnectorMobileDeviceManagementOutput) ToConnectorMobileDeviceManagementPtrOutput() ConnectorMobileDeviceManagementPtrOutput { + return o.ToConnectorMobileDeviceManagementPtrOutputWithContext(context.Background()) +} + +func (o ConnectorMobileDeviceManagementOutput) ToConnectorMobileDeviceManagementPtrOutputWithContext(ctx context.Context) ConnectorMobileDeviceManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConnectorMobileDeviceManagement) *ConnectorMobileDeviceManagement { + return &v + }).(ConnectorMobileDeviceManagementPtrOutput) +} + +type ConnectorMobileDeviceManagementPtrOutput struct{ *pulumi.OutputState } + +func (ConnectorMobileDeviceManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectorMobileDeviceManagement)(nil)).Elem() +} + +func (o ConnectorMobileDeviceManagementPtrOutput) ToConnectorMobileDeviceManagementPtrOutput() ConnectorMobileDeviceManagementPtrOutput { + return o +} + +func (o ConnectorMobileDeviceManagementPtrOutput) ToConnectorMobileDeviceManagementPtrOutputWithContext(ctx context.Context) ConnectorMobileDeviceManagementPtrOutput { + return o +} + +func (o ConnectorMobileDeviceManagementPtrOutput) Elem() ConnectorMobileDeviceManagementOutput { + return o.ApplyT(func(v *ConnectorMobileDeviceManagement) ConnectorMobileDeviceManagement { + if v != nil { + return *v + } + var ret ConnectorMobileDeviceManagement + return ret + }).(ConnectorMobileDeviceManagementOutput) +} + +type ConnectorOpenIdConfiguration struct { + Audience *string `pulumi:"audience"` + Issuer *string `pulumi:"issuer"` + Subject *string `pulumi:"subject"` +} + +type ConnectorOpenIdConfigurationOutput struct{ *pulumi.OutputState } + +func (ConnectorOpenIdConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConnectorOpenIdConfiguration)(nil)).Elem() +} + +func (o ConnectorOpenIdConfigurationOutput) ToConnectorOpenIdConfigurationOutput() ConnectorOpenIdConfigurationOutput { + return o +} + +func (o ConnectorOpenIdConfigurationOutput) ToConnectorOpenIdConfigurationOutputWithContext(ctx context.Context) ConnectorOpenIdConfigurationOutput { + return o +} + +func (o ConnectorOpenIdConfigurationOutput) Audience() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectorOpenIdConfiguration) *string { return v.Audience }).(pulumi.StringPtrOutput) +} + +func (o ConnectorOpenIdConfigurationOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectorOpenIdConfiguration) *string { return v.Issuer }).(pulumi.StringPtrOutput) +} + +func (o ConnectorOpenIdConfigurationOutput) Subject() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConnectorOpenIdConfiguration) *string { return v.Subject }).(pulumi.StringPtrOutput) +} + +type ConnectorOpenIdConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (ConnectorOpenIdConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConnectorOpenIdConfiguration)(nil)).Elem() +} + +func (o ConnectorOpenIdConfigurationPtrOutput) ToConnectorOpenIdConfigurationPtrOutput() ConnectorOpenIdConfigurationPtrOutput { + return o +} + +func (o ConnectorOpenIdConfigurationPtrOutput) ToConnectorOpenIdConfigurationPtrOutputWithContext(ctx context.Context) ConnectorOpenIdConfigurationPtrOutput { + return o +} + +func (o ConnectorOpenIdConfigurationPtrOutput) Elem() ConnectorOpenIdConfigurationOutput { + return o.ApplyT(func(v *ConnectorOpenIdConfiguration) ConnectorOpenIdConfiguration { + if v != nil { + return *v + } + var ret ConnectorOpenIdConfiguration + return ret + }).(ConnectorOpenIdConfigurationOutput) +} + +func (o ConnectorOpenIdConfigurationPtrOutput) Audience() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectorOpenIdConfiguration) *string { + if v == nil { + return nil + } + return v.Audience + }).(pulumi.StringPtrOutput) +} + +func (o ConnectorOpenIdConfigurationPtrOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectorOpenIdConfiguration) *string { + if v == nil { + return nil + } + return v.Issuer + }).(pulumi.StringPtrOutput) +} + +func (o ConnectorOpenIdConfigurationPtrOutput) Subject() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConnectorOpenIdConfiguration) *string { + if v == nil { + return nil + } + return v.Subject + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ConnectorMobileDeviceManagementInput)(nil)).Elem(), ConnectorMobileDeviceManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConnectorMobileDeviceManagementPtrInput)(nil)).Elem(), ConnectorMobileDeviceManagementArgs{}) + pulumi.RegisterOutputType(ConnectorMobileDeviceManagementOutput{}) + pulumi.RegisterOutputType(ConnectorMobileDeviceManagementPtrOutput{}) + pulumi.RegisterOutputType(ConnectorOpenIdConfigurationOutput{}) + pulumi.RegisterOutputType(ConnectorOpenIdConfigurationPtrOutput{}) +} diff --git a/sdk/go/aws/qbusiness/application.go b/sdk/go/aws/qbusiness/application.go index c9acdd3bdc..eccf66f0ef 100644 --- a/sdk/go/aws/qbusiness/application.go +++ b/sdk/go/aws/qbusiness/application.go @@ -48,7 +48,7 @@ type Application struct { PersonalizationConfiguration ApplicationPersonalizationConfigurationPtrOutput `pulumi:"personalizationConfiguration"` // Configuration information about Amazon Q Apps. QAppsConfiguration ApplicationQAppsConfigurationPtrOutput `pulumi:"qAppsConfiguration"` - // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"` // The status of the Amazon Q Business application. The application is ready to use when the status is `ACTIVE` . Status ApplicationStatusOutput `pulumi:"status"` @@ -131,7 +131,7 @@ type applicationArgs struct { PersonalizationConfiguration *ApplicationPersonalizationConfiguration `pulumi:"personalizationConfiguration"` // Configuration information about Amazon Q Apps. QAppsConfiguration *ApplicationQAppsConfiguration `pulumi:"qAppsConfiguration"` - // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. RoleArn *string `pulumi:"roleArn"` // A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @. Tags []aws.Tag `pulumi:"tags"` @@ -162,7 +162,7 @@ type ApplicationArgs struct { PersonalizationConfiguration ApplicationPersonalizationConfigurationPtrInput // Configuration information about Amazon Q Apps. QAppsConfiguration ApplicationQAppsConfigurationPtrInput - // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. RoleArn pulumi.StringPtrInput // A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @. Tags aws.TagArrayInput @@ -285,7 +285,7 @@ func (o ApplicationOutput) QAppsConfiguration() ApplicationQAppsConfigurationPtr return o.ApplyT(func(v *Application) ApplicationQAppsConfigurationPtrOutput { return v.QAppsConfiguration }).(ApplicationQAppsConfigurationPtrOutput) } -// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. +// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. func (o ApplicationOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Application) pulumi.StringPtrOutput { return v.RoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/qbusiness/getApplication.go b/sdk/go/aws/qbusiness/getApplication.go index e7a40feeac..477d15353f 100644 --- a/sdk/go/aws/qbusiness/getApplication.go +++ b/sdk/go/aws/qbusiness/getApplication.go @@ -49,7 +49,7 @@ type LookupApplicationResult struct { PersonalizationConfiguration *ApplicationPersonalizationConfiguration `pulumi:"personalizationConfiguration"` // Configuration information about Amazon Q Apps. QAppsConfiguration *ApplicationQAppsConfiguration `pulumi:"qAppsConfiguration"` - // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + // The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. RoleArn *string `pulumi:"roleArn"` // The status of the Amazon Q Business application. The application is ready to use when the status is `ACTIVE` . Status *ApplicationStatus `pulumi:"status"` @@ -151,7 +151,7 @@ func (o LookupApplicationResultOutput) QAppsConfiguration() ApplicationQAppsConf return o.ApplyT(func(v LookupApplicationResult) *ApplicationQAppsConfiguration { return v.QAppsConfiguration }).(ApplicationQAppsConfigurationPtrOutput) } -// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. +// The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. func (o LookupApplicationResultOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupApplicationResult) *string { return v.RoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/quicksight/pulumiEnums.go b/sdk/go/aws/quicksight/pulumiEnums.go index 20f8684c28..c518773979 100644 --- a/sdk/go/aws/quicksight/pulumiEnums.go +++ b/sdk/go/aws/quicksight/pulumiEnums.go @@ -10770,6 +10770,171 @@ func (in *analysisPrimaryValueDisplayTypePtr) ToAnalysisPrimaryValueDisplayTypeP return pulumi.ToOutputWithContext(ctx, in).(AnalysisPrimaryValueDisplayTypePtrOutput) } +type AnalysisQueryExecutionMode string + +const ( + AnalysisQueryExecutionModeAuto = AnalysisQueryExecutionMode("AUTO") + AnalysisQueryExecutionModeManual = AnalysisQueryExecutionMode("MANUAL") +) + +func (AnalysisQueryExecutionMode) ElementType() reflect.Type { + return reflect.TypeOf((*AnalysisQueryExecutionMode)(nil)).Elem() +} + +func (e AnalysisQueryExecutionMode) ToAnalysisQueryExecutionModeOutput() AnalysisQueryExecutionModeOutput { + return pulumi.ToOutput(e).(AnalysisQueryExecutionModeOutput) +} + +func (e AnalysisQueryExecutionMode) ToAnalysisQueryExecutionModeOutputWithContext(ctx context.Context) AnalysisQueryExecutionModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(AnalysisQueryExecutionModeOutput) +} + +func (e AnalysisQueryExecutionMode) ToAnalysisQueryExecutionModePtrOutput() AnalysisQueryExecutionModePtrOutput { + return e.ToAnalysisQueryExecutionModePtrOutputWithContext(context.Background()) +} + +func (e AnalysisQueryExecutionMode) ToAnalysisQueryExecutionModePtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionModePtrOutput { + return AnalysisQueryExecutionMode(e).ToAnalysisQueryExecutionModeOutputWithContext(ctx).ToAnalysisQueryExecutionModePtrOutputWithContext(ctx) +} + +func (e AnalysisQueryExecutionMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AnalysisQueryExecutionMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e AnalysisQueryExecutionMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e AnalysisQueryExecutionMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type AnalysisQueryExecutionModeOutput struct{ *pulumi.OutputState } + +func (AnalysisQueryExecutionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AnalysisQueryExecutionMode)(nil)).Elem() +} + +func (o AnalysisQueryExecutionModeOutput) ToAnalysisQueryExecutionModeOutput() AnalysisQueryExecutionModeOutput { + return o +} + +func (o AnalysisQueryExecutionModeOutput) ToAnalysisQueryExecutionModeOutputWithContext(ctx context.Context) AnalysisQueryExecutionModeOutput { + return o +} + +func (o AnalysisQueryExecutionModeOutput) ToAnalysisQueryExecutionModePtrOutput() AnalysisQueryExecutionModePtrOutput { + return o.ToAnalysisQueryExecutionModePtrOutputWithContext(context.Background()) +} + +func (o AnalysisQueryExecutionModeOutput) ToAnalysisQueryExecutionModePtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AnalysisQueryExecutionMode) *AnalysisQueryExecutionMode { + return &v + }).(AnalysisQueryExecutionModePtrOutput) +} + +func (o AnalysisQueryExecutionModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o AnalysisQueryExecutionModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AnalysisQueryExecutionMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o AnalysisQueryExecutionModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AnalysisQueryExecutionModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e AnalysisQueryExecutionMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type AnalysisQueryExecutionModePtrOutput struct{ *pulumi.OutputState } + +func (AnalysisQueryExecutionModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AnalysisQueryExecutionMode)(nil)).Elem() +} + +func (o AnalysisQueryExecutionModePtrOutput) ToAnalysisQueryExecutionModePtrOutput() AnalysisQueryExecutionModePtrOutput { + return o +} + +func (o AnalysisQueryExecutionModePtrOutput) ToAnalysisQueryExecutionModePtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionModePtrOutput { + return o +} + +func (o AnalysisQueryExecutionModePtrOutput) Elem() AnalysisQueryExecutionModeOutput { + return o.ApplyT(func(v *AnalysisQueryExecutionMode) AnalysisQueryExecutionMode { + if v != nil { + return *v + } + var ret AnalysisQueryExecutionMode + return ret + }).(AnalysisQueryExecutionModeOutput) +} + +func (o AnalysisQueryExecutionModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o AnalysisQueryExecutionModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *AnalysisQueryExecutionMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// AnalysisQueryExecutionModeInput is an input type that accepts values of the AnalysisQueryExecutionMode enum +// A concrete instance of `AnalysisQueryExecutionModeInput` can be one of the following: +// +// AnalysisQueryExecutionModeAuto +// AnalysisQueryExecutionModeManual +type AnalysisQueryExecutionModeInput interface { + pulumi.Input + + ToAnalysisQueryExecutionModeOutput() AnalysisQueryExecutionModeOutput + ToAnalysisQueryExecutionModeOutputWithContext(context.Context) AnalysisQueryExecutionModeOutput +} + +var analysisQueryExecutionModePtrType = reflect.TypeOf((**AnalysisQueryExecutionMode)(nil)).Elem() + +type AnalysisQueryExecutionModePtrInput interface { + pulumi.Input + + ToAnalysisQueryExecutionModePtrOutput() AnalysisQueryExecutionModePtrOutput + ToAnalysisQueryExecutionModePtrOutputWithContext(context.Context) AnalysisQueryExecutionModePtrOutput +} + +type analysisQueryExecutionModePtr string + +func AnalysisQueryExecutionModePtr(v string) AnalysisQueryExecutionModePtrInput { + return (*analysisQueryExecutionModePtr)(&v) +} + +func (*analysisQueryExecutionModePtr) ElementType() reflect.Type { + return analysisQueryExecutionModePtrType +} + +func (in *analysisQueryExecutionModePtr) ToAnalysisQueryExecutionModePtrOutput() AnalysisQueryExecutionModePtrOutput { + return pulumi.ToOutput(in).(AnalysisQueryExecutionModePtrOutput) +} + +func (in *analysisQueryExecutionModePtr) ToAnalysisQueryExecutionModePtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(AnalysisQueryExecutionModePtrOutput) +} + type AnalysisRadarChartAxesRangeScale string const ( @@ -53628,6 +53793,171 @@ func (in *templatePrimaryValueDisplayTypePtr) ToTemplatePrimaryValueDisplayTypeP return pulumi.ToOutputWithContext(ctx, in).(TemplatePrimaryValueDisplayTypePtrOutput) } +type TemplateQueryExecutionMode string + +const ( + TemplateQueryExecutionModeAuto = TemplateQueryExecutionMode("AUTO") + TemplateQueryExecutionModeManual = TemplateQueryExecutionMode("MANUAL") +) + +func (TemplateQueryExecutionMode) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateQueryExecutionMode)(nil)).Elem() +} + +func (e TemplateQueryExecutionMode) ToTemplateQueryExecutionModeOutput() TemplateQueryExecutionModeOutput { + return pulumi.ToOutput(e).(TemplateQueryExecutionModeOutput) +} + +func (e TemplateQueryExecutionMode) ToTemplateQueryExecutionModeOutputWithContext(ctx context.Context) TemplateQueryExecutionModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(TemplateQueryExecutionModeOutput) +} + +func (e TemplateQueryExecutionMode) ToTemplateQueryExecutionModePtrOutput() TemplateQueryExecutionModePtrOutput { + return e.ToTemplateQueryExecutionModePtrOutputWithContext(context.Background()) +} + +func (e TemplateQueryExecutionMode) ToTemplateQueryExecutionModePtrOutputWithContext(ctx context.Context) TemplateQueryExecutionModePtrOutput { + return TemplateQueryExecutionMode(e).ToTemplateQueryExecutionModeOutputWithContext(ctx).ToTemplateQueryExecutionModePtrOutputWithContext(ctx) +} + +func (e TemplateQueryExecutionMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e TemplateQueryExecutionMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e TemplateQueryExecutionMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e TemplateQueryExecutionMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type TemplateQueryExecutionModeOutput struct{ *pulumi.OutputState } + +func (TemplateQueryExecutionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateQueryExecutionMode)(nil)).Elem() +} + +func (o TemplateQueryExecutionModeOutput) ToTemplateQueryExecutionModeOutput() TemplateQueryExecutionModeOutput { + return o +} + +func (o TemplateQueryExecutionModeOutput) ToTemplateQueryExecutionModeOutputWithContext(ctx context.Context) TemplateQueryExecutionModeOutput { + return o +} + +func (o TemplateQueryExecutionModeOutput) ToTemplateQueryExecutionModePtrOutput() TemplateQueryExecutionModePtrOutput { + return o.ToTemplateQueryExecutionModePtrOutputWithContext(context.Background()) +} + +func (o TemplateQueryExecutionModeOutput) ToTemplateQueryExecutionModePtrOutputWithContext(ctx context.Context) TemplateQueryExecutionModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateQueryExecutionMode) *TemplateQueryExecutionMode { + return &v + }).(TemplateQueryExecutionModePtrOutput) +} + +func (o TemplateQueryExecutionModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o TemplateQueryExecutionModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e TemplateQueryExecutionMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o TemplateQueryExecutionModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o TemplateQueryExecutionModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e TemplateQueryExecutionMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type TemplateQueryExecutionModePtrOutput struct{ *pulumi.OutputState } + +func (TemplateQueryExecutionModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateQueryExecutionMode)(nil)).Elem() +} + +func (o TemplateQueryExecutionModePtrOutput) ToTemplateQueryExecutionModePtrOutput() TemplateQueryExecutionModePtrOutput { + return o +} + +func (o TemplateQueryExecutionModePtrOutput) ToTemplateQueryExecutionModePtrOutputWithContext(ctx context.Context) TemplateQueryExecutionModePtrOutput { + return o +} + +func (o TemplateQueryExecutionModePtrOutput) Elem() TemplateQueryExecutionModeOutput { + return o.ApplyT(func(v *TemplateQueryExecutionMode) TemplateQueryExecutionMode { + if v != nil { + return *v + } + var ret TemplateQueryExecutionMode + return ret + }).(TemplateQueryExecutionModeOutput) +} + +func (o TemplateQueryExecutionModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o TemplateQueryExecutionModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *TemplateQueryExecutionMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// TemplateQueryExecutionModeInput is an input type that accepts values of the TemplateQueryExecutionMode enum +// A concrete instance of `TemplateQueryExecutionModeInput` can be one of the following: +// +// TemplateQueryExecutionModeAuto +// TemplateQueryExecutionModeManual +type TemplateQueryExecutionModeInput interface { + pulumi.Input + + ToTemplateQueryExecutionModeOutput() TemplateQueryExecutionModeOutput + ToTemplateQueryExecutionModeOutputWithContext(context.Context) TemplateQueryExecutionModeOutput +} + +var templateQueryExecutionModePtrType = reflect.TypeOf((**TemplateQueryExecutionMode)(nil)).Elem() + +type TemplateQueryExecutionModePtrInput interface { + pulumi.Input + + ToTemplateQueryExecutionModePtrOutput() TemplateQueryExecutionModePtrOutput + ToTemplateQueryExecutionModePtrOutputWithContext(context.Context) TemplateQueryExecutionModePtrOutput +} + +type templateQueryExecutionModePtr string + +func TemplateQueryExecutionModePtr(v string) TemplateQueryExecutionModePtrInput { + return (*templateQueryExecutionModePtr)(&v) +} + +func (*templateQueryExecutionModePtr) ElementType() reflect.Type { + return templateQueryExecutionModePtrType +} + +func (in *templateQueryExecutionModePtr) ToTemplateQueryExecutionModePtrOutput() TemplateQueryExecutionModePtrOutput { + return pulumi.ToOutput(in).(TemplateQueryExecutionModePtrOutput) +} + +func (in *templateQueryExecutionModePtr) ToTemplateQueryExecutionModePtrOutputWithContext(ctx context.Context) TemplateQueryExecutionModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(TemplateQueryExecutionModePtrOutput) +} + type TemplateRadarChartAxesRangeScale string const ( @@ -66447,6 +66777,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalysisPivotTableSubtotalLevelPtrInput)(nil)).Elem(), AnalysisPivotTableSubtotalLevel("ALL")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisPrimaryValueDisplayTypeInput)(nil)).Elem(), AnalysisPrimaryValueDisplayType("HIDDEN")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisPrimaryValueDisplayTypePtrInput)(nil)).Elem(), AnalysisPrimaryValueDisplayType("HIDDEN")) + pulumi.RegisterInputType(reflect.TypeOf((*AnalysisQueryExecutionModeInput)(nil)).Elem(), AnalysisQueryExecutionMode("AUTO")) + pulumi.RegisterInputType(reflect.TypeOf((*AnalysisQueryExecutionModePtrInput)(nil)).Elem(), AnalysisQueryExecutionMode("AUTO")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisRadarChartAxesRangeScaleInput)(nil)).Elem(), AnalysisRadarChartAxesRangeScale("AUTO")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisRadarChartAxesRangeScalePtrInput)(nil)).Elem(), AnalysisRadarChartAxesRangeScale("AUTO")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisRadarChartShapeInput)(nil)).Elem(), AnalysisRadarChartShape("CIRCLE")) @@ -66954,6 +67286,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TemplatePivotTableSubtotalLevelPtrInput)(nil)).Elem(), TemplatePivotTableSubtotalLevel("ALL")) pulumi.RegisterInputType(reflect.TypeOf((*TemplatePrimaryValueDisplayTypeInput)(nil)).Elem(), TemplatePrimaryValueDisplayType("HIDDEN")) pulumi.RegisterInputType(reflect.TypeOf((*TemplatePrimaryValueDisplayTypePtrInput)(nil)).Elem(), TemplatePrimaryValueDisplayType("HIDDEN")) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateQueryExecutionModeInput)(nil)).Elem(), TemplateQueryExecutionMode("AUTO")) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateQueryExecutionModePtrInput)(nil)).Elem(), TemplateQueryExecutionMode("AUTO")) pulumi.RegisterInputType(reflect.TypeOf((*TemplateRadarChartAxesRangeScaleInput)(nil)).Elem(), TemplateRadarChartAxesRangeScale("AUTO")) pulumi.RegisterInputType(reflect.TypeOf((*TemplateRadarChartAxesRangeScalePtrInput)(nil)).Elem(), TemplateRadarChartAxesRangeScale("AUTO")) pulumi.RegisterInputType(reflect.TypeOf((*TemplateRadarChartShapeInput)(nil)).Elem(), TemplateRadarChartShape("CIRCLE")) @@ -67227,6 +67561,8 @@ func init() { pulumi.RegisterOutputType(AnalysisPivotTableSubtotalLevelPtrOutput{}) pulumi.RegisterOutputType(AnalysisPrimaryValueDisplayTypeOutput{}) pulumi.RegisterOutputType(AnalysisPrimaryValueDisplayTypePtrOutput{}) + pulumi.RegisterOutputType(AnalysisQueryExecutionModeOutput{}) + pulumi.RegisterOutputType(AnalysisQueryExecutionModePtrOutput{}) pulumi.RegisterOutputType(AnalysisRadarChartAxesRangeScaleOutput{}) pulumi.RegisterOutputType(AnalysisRadarChartAxesRangeScalePtrOutput{}) pulumi.RegisterOutputType(AnalysisRadarChartShapeOutput{}) @@ -67742,6 +68078,8 @@ func init() { pulumi.RegisterOutputType(TemplatePivotTableSubtotalLevelPtrOutput{}) pulumi.RegisterOutputType(TemplatePrimaryValueDisplayTypeOutput{}) pulumi.RegisterOutputType(TemplatePrimaryValueDisplayTypePtrOutput{}) + pulumi.RegisterOutputType(TemplateQueryExecutionModeOutput{}) + pulumi.RegisterOutputType(TemplateQueryExecutionModePtrOutput{}) pulumi.RegisterOutputType(TemplateRadarChartAxesRangeScaleOutput{}) pulumi.RegisterOutputType(TemplateRadarChartAxesRangeScalePtrOutput{}) pulumi.RegisterOutputType(TemplateRadarChartShapeOutput{}) diff --git a/sdk/go/aws/quicksight/pulumiTypes.go b/sdk/go/aws/quicksight/pulumiTypes.go index f00a78557a..68ecc020cd 100644 --- a/sdk/go/aws/quicksight/pulumiTypes.go +++ b/sdk/go/aws/quicksight/pulumiTypes.go @@ -22212,6 +22212,7 @@ type AnalysisDefinition struct { // // For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . ParameterDeclarations []AnalysisParameterDeclaration `pulumi:"parameterDeclarations"` + QueryExecutionOptions *AnalysisQueryExecutionOptions `pulumi:"queryExecutionOptions"` // An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. Sheets []AnalysisSheetDefinition `pulumi:"sheets"` } @@ -22247,6 +22248,7 @@ type AnalysisDefinitionArgs struct { // // For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . ParameterDeclarations AnalysisParameterDeclarationArrayInput `pulumi:"parameterDeclarations"` + QueryExecutionOptions AnalysisQueryExecutionOptionsPtrInput `pulumi:"queryExecutionOptions"` // An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. Sheets AnalysisSheetDefinitionArrayInput `pulumi:"sheets"` } @@ -22370,6 +22372,10 @@ func (o AnalysisDefinitionOutput) ParameterDeclarations() AnalysisParameterDecla return o.ApplyT(func(v AnalysisDefinition) []AnalysisParameterDeclaration { return v.ParameterDeclarations }).(AnalysisParameterDeclarationArrayOutput) } +func (o AnalysisDefinitionOutput) QueryExecutionOptions() AnalysisQueryExecutionOptionsPtrOutput { + return o.ApplyT(func(v AnalysisDefinition) *AnalysisQueryExecutionOptions { return v.QueryExecutionOptions }).(AnalysisQueryExecutionOptionsPtrOutput) +} + // An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. func (o AnalysisDefinitionOutput) Sheets() AnalysisSheetDefinitionArrayOutput { return o.ApplyT(func(v AnalysisDefinition) []AnalysisSheetDefinition { return v.Sheets }).(AnalysisSheetDefinitionArrayOutput) @@ -22474,6 +22480,15 @@ func (o AnalysisDefinitionPtrOutput) ParameterDeclarations() AnalysisParameterDe }).(AnalysisParameterDeclarationArrayOutput) } +func (o AnalysisDefinitionPtrOutput) QueryExecutionOptions() AnalysisQueryExecutionOptionsPtrOutput { + return o.ApplyT(func(v *AnalysisDefinition) *AnalysisQueryExecutionOptions { + if v == nil { + return nil + } + return v.QueryExecutionOptions + }).(AnalysisQueryExecutionOptionsPtrOutput) +} + // An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. func (o AnalysisDefinitionPtrOutput) Sheets() AnalysisSheetDefinitionArrayOutput { return o.ApplyT(func(v *AnalysisDefinition) []AnalysisSheetDefinition { @@ -59666,6 +59681,139 @@ func (o AnalysisProgressBarOptionsPtrOutput) Visibility() AnalysisVisibilityPtrO }).(AnalysisVisibilityPtrOutput) } +type AnalysisQueryExecutionOptions struct { + QueryExecutionMode *AnalysisQueryExecutionMode `pulumi:"queryExecutionMode"` +} + +// AnalysisQueryExecutionOptionsInput is an input type that accepts AnalysisQueryExecutionOptionsArgs and AnalysisQueryExecutionOptionsOutput values. +// You can construct a concrete instance of `AnalysisQueryExecutionOptionsInput` via: +// +// AnalysisQueryExecutionOptionsArgs{...} +type AnalysisQueryExecutionOptionsInput interface { + pulumi.Input + + ToAnalysisQueryExecutionOptionsOutput() AnalysisQueryExecutionOptionsOutput + ToAnalysisQueryExecutionOptionsOutputWithContext(context.Context) AnalysisQueryExecutionOptionsOutput +} + +type AnalysisQueryExecutionOptionsArgs struct { + QueryExecutionMode AnalysisQueryExecutionModePtrInput `pulumi:"queryExecutionMode"` +} + +func (AnalysisQueryExecutionOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AnalysisQueryExecutionOptions)(nil)).Elem() +} + +func (i AnalysisQueryExecutionOptionsArgs) ToAnalysisQueryExecutionOptionsOutput() AnalysisQueryExecutionOptionsOutput { + return i.ToAnalysisQueryExecutionOptionsOutputWithContext(context.Background()) +} + +func (i AnalysisQueryExecutionOptionsArgs) ToAnalysisQueryExecutionOptionsOutputWithContext(ctx context.Context) AnalysisQueryExecutionOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AnalysisQueryExecutionOptionsOutput) +} + +func (i AnalysisQueryExecutionOptionsArgs) ToAnalysisQueryExecutionOptionsPtrOutput() AnalysisQueryExecutionOptionsPtrOutput { + return i.ToAnalysisQueryExecutionOptionsPtrOutputWithContext(context.Background()) +} + +func (i AnalysisQueryExecutionOptionsArgs) ToAnalysisQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AnalysisQueryExecutionOptionsOutput).ToAnalysisQueryExecutionOptionsPtrOutputWithContext(ctx) +} + +// AnalysisQueryExecutionOptionsPtrInput is an input type that accepts AnalysisQueryExecutionOptionsArgs, AnalysisQueryExecutionOptionsPtr and AnalysisQueryExecutionOptionsPtrOutput values. +// You can construct a concrete instance of `AnalysisQueryExecutionOptionsPtrInput` via: +// +// AnalysisQueryExecutionOptionsArgs{...} +// +// or: +// +// nil +type AnalysisQueryExecutionOptionsPtrInput interface { + pulumi.Input + + ToAnalysisQueryExecutionOptionsPtrOutput() AnalysisQueryExecutionOptionsPtrOutput + ToAnalysisQueryExecutionOptionsPtrOutputWithContext(context.Context) AnalysisQueryExecutionOptionsPtrOutput +} + +type analysisQueryExecutionOptionsPtrType AnalysisQueryExecutionOptionsArgs + +func AnalysisQueryExecutionOptionsPtr(v *AnalysisQueryExecutionOptionsArgs) AnalysisQueryExecutionOptionsPtrInput { + return (*analysisQueryExecutionOptionsPtrType)(v) +} + +func (*analysisQueryExecutionOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AnalysisQueryExecutionOptions)(nil)).Elem() +} + +func (i *analysisQueryExecutionOptionsPtrType) ToAnalysisQueryExecutionOptionsPtrOutput() AnalysisQueryExecutionOptionsPtrOutput { + return i.ToAnalysisQueryExecutionOptionsPtrOutputWithContext(context.Background()) +} + +func (i *analysisQueryExecutionOptionsPtrType) ToAnalysisQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AnalysisQueryExecutionOptionsPtrOutput) +} + +type AnalysisQueryExecutionOptionsOutput struct{ *pulumi.OutputState } + +func (AnalysisQueryExecutionOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AnalysisQueryExecutionOptions)(nil)).Elem() +} + +func (o AnalysisQueryExecutionOptionsOutput) ToAnalysisQueryExecutionOptionsOutput() AnalysisQueryExecutionOptionsOutput { + return o +} + +func (o AnalysisQueryExecutionOptionsOutput) ToAnalysisQueryExecutionOptionsOutputWithContext(ctx context.Context) AnalysisQueryExecutionOptionsOutput { + return o +} + +func (o AnalysisQueryExecutionOptionsOutput) ToAnalysisQueryExecutionOptionsPtrOutput() AnalysisQueryExecutionOptionsPtrOutput { + return o.ToAnalysisQueryExecutionOptionsPtrOutputWithContext(context.Background()) +} + +func (o AnalysisQueryExecutionOptionsOutput) ToAnalysisQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AnalysisQueryExecutionOptions) *AnalysisQueryExecutionOptions { + return &v + }).(AnalysisQueryExecutionOptionsPtrOutput) +} + +func (o AnalysisQueryExecutionOptionsOutput) QueryExecutionMode() AnalysisQueryExecutionModePtrOutput { + return o.ApplyT(func(v AnalysisQueryExecutionOptions) *AnalysisQueryExecutionMode { return v.QueryExecutionMode }).(AnalysisQueryExecutionModePtrOutput) +} + +type AnalysisQueryExecutionOptionsPtrOutput struct{ *pulumi.OutputState } + +func (AnalysisQueryExecutionOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AnalysisQueryExecutionOptions)(nil)).Elem() +} + +func (o AnalysisQueryExecutionOptionsPtrOutput) ToAnalysisQueryExecutionOptionsPtrOutput() AnalysisQueryExecutionOptionsPtrOutput { + return o +} + +func (o AnalysisQueryExecutionOptionsPtrOutput) ToAnalysisQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) AnalysisQueryExecutionOptionsPtrOutput { + return o +} + +func (o AnalysisQueryExecutionOptionsPtrOutput) Elem() AnalysisQueryExecutionOptionsOutput { + return o.ApplyT(func(v *AnalysisQueryExecutionOptions) AnalysisQueryExecutionOptions { + if v != nil { + return *v + } + var ret AnalysisQueryExecutionOptions + return ret + }).(AnalysisQueryExecutionOptionsOutput) +} + +func (o AnalysisQueryExecutionOptionsPtrOutput) QueryExecutionMode() AnalysisQueryExecutionModePtrOutput { + return o.ApplyT(func(v *AnalysisQueryExecutionOptions) *AnalysisQueryExecutionMode { + if v == nil { + return nil + } + return v.QueryExecutionMode + }).(AnalysisQueryExecutionModePtrOutput) +} + type AnalysisRadarChartAggregatedFieldWells struct { // The aggregated field well categories of a radar chart. Category []AnalysisDimensionField `pulumi:"category"` @@ -86507,143 +86655,6 @@ func (o DashboardArcConfigurationPtrOutput) ArcThickness() DashboardArcThickness }).(DashboardArcThicknessOptionsPtrOutput) } -type DashboardArcOptions struct { - // The arc thickness of a `GaugeChartVisual` . - ArcThickness *DashboardArcThickness `pulumi:"arcThickness"` -} - -// DashboardArcOptionsInput is an input type that accepts DashboardArcOptionsArgs and DashboardArcOptionsOutput values. -// You can construct a concrete instance of `DashboardArcOptionsInput` via: -// -// DashboardArcOptionsArgs{...} -type DashboardArcOptionsInput interface { - pulumi.Input - - ToDashboardArcOptionsOutput() DashboardArcOptionsOutput - ToDashboardArcOptionsOutputWithContext(context.Context) DashboardArcOptionsOutput -} - -type DashboardArcOptionsArgs struct { - // The arc thickness of a `GaugeChartVisual` . - ArcThickness DashboardArcThicknessPtrInput `pulumi:"arcThickness"` -} - -func (DashboardArcOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DashboardArcOptions)(nil)).Elem() -} - -func (i DashboardArcOptionsArgs) ToDashboardArcOptionsOutput() DashboardArcOptionsOutput { - return i.ToDashboardArcOptionsOutputWithContext(context.Background()) -} - -func (i DashboardArcOptionsArgs) ToDashboardArcOptionsOutputWithContext(ctx context.Context) DashboardArcOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardArcOptionsOutput) -} - -func (i DashboardArcOptionsArgs) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { - return i.ToDashboardArcOptionsPtrOutputWithContext(context.Background()) -} - -func (i DashboardArcOptionsArgs) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardArcOptionsOutput).ToDashboardArcOptionsPtrOutputWithContext(ctx) -} - -// DashboardArcOptionsPtrInput is an input type that accepts DashboardArcOptionsArgs, DashboardArcOptionsPtr and DashboardArcOptionsPtrOutput values. -// You can construct a concrete instance of `DashboardArcOptionsPtrInput` via: -// -// DashboardArcOptionsArgs{...} -// -// or: -// -// nil -type DashboardArcOptionsPtrInput interface { - pulumi.Input - - ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput - ToDashboardArcOptionsPtrOutputWithContext(context.Context) DashboardArcOptionsPtrOutput -} - -type dashboardArcOptionsPtrType DashboardArcOptionsArgs - -func DashboardArcOptionsPtr(v *DashboardArcOptionsArgs) DashboardArcOptionsPtrInput { - return (*dashboardArcOptionsPtrType)(v) -} - -func (*dashboardArcOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DashboardArcOptions)(nil)).Elem() -} - -func (i *dashboardArcOptionsPtrType) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { - return i.ToDashboardArcOptionsPtrOutputWithContext(context.Background()) -} - -func (i *dashboardArcOptionsPtrType) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardArcOptionsPtrOutput) -} - -type DashboardArcOptionsOutput struct{ *pulumi.OutputState } - -func (DashboardArcOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DashboardArcOptions)(nil)).Elem() -} - -func (o DashboardArcOptionsOutput) ToDashboardArcOptionsOutput() DashboardArcOptionsOutput { - return o -} - -func (o DashboardArcOptionsOutput) ToDashboardArcOptionsOutputWithContext(ctx context.Context) DashboardArcOptionsOutput { - return o -} - -func (o DashboardArcOptionsOutput) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { - return o.ToDashboardArcOptionsPtrOutputWithContext(context.Background()) -} - -func (o DashboardArcOptionsOutput) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DashboardArcOptions) *DashboardArcOptions { - return &v - }).(DashboardArcOptionsPtrOutput) -} - -// The arc thickness of a `GaugeChartVisual` . -func (o DashboardArcOptionsOutput) ArcThickness() DashboardArcThicknessPtrOutput { - return o.ApplyT(func(v DashboardArcOptions) *DashboardArcThickness { return v.ArcThickness }).(DashboardArcThicknessPtrOutput) -} - -type DashboardArcOptionsPtrOutput struct{ *pulumi.OutputState } - -func (DashboardArcOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DashboardArcOptions)(nil)).Elem() -} - -func (o DashboardArcOptionsPtrOutput) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { - return o -} - -func (o DashboardArcOptionsPtrOutput) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { - return o -} - -func (o DashboardArcOptionsPtrOutput) Elem() DashboardArcOptionsOutput { - return o.ApplyT(func(v *DashboardArcOptions) DashboardArcOptions { - if v != nil { - return *v - } - var ret DashboardArcOptions - return ret - }).(DashboardArcOptionsOutput) -} - -// The arc thickness of a `GaugeChartVisual` . -func (o DashboardArcOptionsPtrOutput) ArcThickness() DashboardArcThicknessPtrOutput { - return o.ApplyT(func(v *DashboardArcOptions) *DashboardArcThickness { - if v == nil { - return nil - } - return v.ArcThickness - }).(DashboardArcThicknessPtrOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalysisAggregationFunctionInput)(nil)).Elem(), AnalysisAggregationFunctionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisAggregationFunctionPtrInput)(nil)).Elem(), AnalysisAggregationFunctionArgs{}) @@ -87327,6 +87338,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalysisPredefinedHierarchyPtrInput)(nil)).Elem(), AnalysisPredefinedHierarchyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisProgressBarOptionsInput)(nil)).Elem(), AnalysisProgressBarOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisProgressBarOptionsPtrInput)(nil)).Elem(), AnalysisProgressBarOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AnalysisQueryExecutionOptionsInput)(nil)).Elem(), AnalysisQueryExecutionOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AnalysisQueryExecutionOptionsPtrInput)(nil)).Elem(), AnalysisQueryExecutionOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisRadarChartAggregatedFieldWellsInput)(nil)).Elem(), AnalysisRadarChartAggregatedFieldWellsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisRadarChartAggregatedFieldWellsPtrInput)(nil)).Elem(), AnalysisRadarChartAggregatedFieldWellsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisRadarChartAreaStyleSettingsInput)(nil)).Elem(), AnalysisRadarChartAreaStyleSettingsArgs{}) @@ -87635,8 +87648,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcAxisDisplayRangePtrInput)(nil)).Elem(), DashboardArcAxisDisplayRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcConfigurationInput)(nil)).Elem(), DashboardArcConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcConfigurationPtrInput)(nil)).Elem(), DashboardArcConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcOptionsInput)(nil)).Elem(), DashboardArcOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcOptionsPtrInput)(nil)).Elem(), DashboardArcOptionsArgs{}) pulumi.RegisterOutputType(AnalysisAggregationFunctionOutput{}) pulumi.RegisterOutputType(AnalysisAggregationFunctionPtrOutput{}) pulumi.RegisterOutputType(AnalysisAggregationSortConfigurationOutput{}) @@ -88319,6 +88330,8 @@ func init() { pulumi.RegisterOutputType(AnalysisPredefinedHierarchyPtrOutput{}) pulumi.RegisterOutputType(AnalysisProgressBarOptionsOutput{}) pulumi.RegisterOutputType(AnalysisProgressBarOptionsPtrOutput{}) + pulumi.RegisterOutputType(AnalysisQueryExecutionOptionsOutput{}) + pulumi.RegisterOutputType(AnalysisQueryExecutionOptionsPtrOutput{}) pulumi.RegisterOutputType(AnalysisRadarChartAggregatedFieldWellsOutput{}) pulumi.RegisterOutputType(AnalysisRadarChartAggregatedFieldWellsPtrOutput{}) pulumi.RegisterOutputType(AnalysisRadarChartAreaStyleSettingsOutput{}) @@ -88627,6 +88640,4 @@ func init() { pulumi.RegisterOutputType(DashboardArcAxisDisplayRangePtrOutput{}) pulumi.RegisterOutputType(DashboardArcConfigurationOutput{}) pulumi.RegisterOutputType(DashboardArcConfigurationPtrOutput{}) - pulumi.RegisterOutputType(DashboardArcOptionsOutput{}) - pulumi.RegisterOutputType(DashboardArcOptionsPtrOutput{}) } diff --git a/sdk/go/aws/quicksight/pulumiTypes1.go b/sdk/go/aws/quicksight/pulumiTypes1.go index 3f846b8aa1..423e2d19e0 100644 --- a/sdk/go/aws/quicksight/pulumiTypes1.go +++ b/sdk/go/aws/quicksight/pulumiTypes1.go @@ -13,6 +13,143 @@ import ( var _ = internal.GetEnvOrDefault +type DashboardArcOptions struct { + // The arc thickness of a `GaugeChartVisual` . + ArcThickness *DashboardArcThickness `pulumi:"arcThickness"` +} + +// DashboardArcOptionsInput is an input type that accepts DashboardArcOptionsArgs and DashboardArcOptionsOutput values. +// You can construct a concrete instance of `DashboardArcOptionsInput` via: +// +// DashboardArcOptionsArgs{...} +type DashboardArcOptionsInput interface { + pulumi.Input + + ToDashboardArcOptionsOutput() DashboardArcOptionsOutput + ToDashboardArcOptionsOutputWithContext(context.Context) DashboardArcOptionsOutput +} + +type DashboardArcOptionsArgs struct { + // The arc thickness of a `GaugeChartVisual` . + ArcThickness DashboardArcThicknessPtrInput `pulumi:"arcThickness"` +} + +func (DashboardArcOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DashboardArcOptions)(nil)).Elem() +} + +func (i DashboardArcOptionsArgs) ToDashboardArcOptionsOutput() DashboardArcOptionsOutput { + return i.ToDashboardArcOptionsOutputWithContext(context.Background()) +} + +func (i DashboardArcOptionsArgs) ToDashboardArcOptionsOutputWithContext(ctx context.Context) DashboardArcOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardArcOptionsOutput) +} + +func (i DashboardArcOptionsArgs) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { + return i.ToDashboardArcOptionsPtrOutputWithContext(context.Background()) +} + +func (i DashboardArcOptionsArgs) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardArcOptionsOutput).ToDashboardArcOptionsPtrOutputWithContext(ctx) +} + +// DashboardArcOptionsPtrInput is an input type that accepts DashboardArcOptionsArgs, DashboardArcOptionsPtr and DashboardArcOptionsPtrOutput values. +// You can construct a concrete instance of `DashboardArcOptionsPtrInput` via: +// +// DashboardArcOptionsArgs{...} +// +// or: +// +// nil +type DashboardArcOptionsPtrInput interface { + pulumi.Input + + ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput + ToDashboardArcOptionsPtrOutputWithContext(context.Context) DashboardArcOptionsPtrOutput +} + +type dashboardArcOptionsPtrType DashboardArcOptionsArgs + +func DashboardArcOptionsPtr(v *DashboardArcOptionsArgs) DashboardArcOptionsPtrInput { + return (*dashboardArcOptionsPtrType)(v) +} + +func (*dashboardArcOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DashboardArcOptions)(nil)).Elem() +} + +func (i *dashboardArcOptionsPtrType) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { + return i.ToDashboardArcOptionsPtrOutputWithContext(context.Background()) +} + +func (i *dashboardArcOptionsPtrType) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardArcOptionsPtrOutput) +} + +type DashboardArcOptionsOutput struct{ *pulumi.OutputState } + +func (DashboardArcOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DashboardArcOptions)(nil)).Elem() +} + +func (o DashboardArcOptionsOutput) ToDashboardArcOptionsOutput() DashboardArcOptionsOutput { + return o +} + +func (o DashboardArcOptionsOutput) ToDashboardArcOptionsOutputWithContext(ctx context.Context) DashboardArcOptionsOutput { + return o +} + +func (o DashboardArcOptionsOutput) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { + return o.ToDashboardArcOptionsPtrOutputWithContext(context.Background()) +} + +func (o DashboardArcOptionsOutput) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DashboardArcOptions) *DashboardArcOptions { + return &v + }).(DashboardArcOptionsPtrOutput) +} + +// The arc thickness of a `GaugeChartVisual` . +func (o DashboardArcOptionsOutput) ArcThickness() DashboardArcThicknessPtrOutput { + return o.ApplyT(func(v DashboardArcOptions) *DashboardArcThickness { return v.ArcThickness }).(DashboardArcThicknessPtrOutput) +} + +type DashboardArcOptionsPtrOutput struct{ *pulumi.OutputState } + +func (DashboardArcOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DashboardArcOptions)(nil)).Elem() +} + +func (o DashboardArcOptionsPtrOutput) ToDashboardArcOptionsPtrOutput() DashboardArcOptionsPtrOutput { + return o +} + +func (o DashboardArcOptionsPtrOutput) ToDashboardArcOptionsPtrOutputWithContext(ctx context.Context) DashboardArcOptionsPtrOutput { + return o +} + +func (o DashboardArcOptionsPtrOutput) Elem() DashboardArcOptionsOutput { + return o.ApplyT(func(v *DashboardArcOptions) DashboardArcOptions { + if v != nil { + return *v + } + var ret DashboardArcOptions + return ret + }).(DashboardArcOptionsOutput) +} + +// The arc thickness of a `GaugeChartVisual` . +func (o DashboardArcOptionsPtrOutput) ArcThickness() DashboardArcThicknessPtrOutput { + return o.ApplyT(func(v *DashboardArcOptions) *DashboardArcThickness { + if v == nil { + return nil + } + return v.ArcThickness + }).(DashboardArcThicknessPtrOutput) +} + type DashboardAssetOptions struct { // Determines the timezone for the analysis. Timezone *string `pulumi:"timezone"` @@ -86429,134 +86566,9 @@ func (o DataSetColumnGroupArrayOutput) Index(i pulumi.IntInput) DataSetColumnGro }).(DataSetColumnGroupOutput) } -//

A rule defined to grant access on one or more restricted columns. -// -// Each dataset can have multiple rules. -// To create a restricted column, you add it to one or more rules. -// Each rule must contain at least one column and at least one user or group. -// To be able to see a restricted column, a user or group needs to be added -// to a rule for that column.

-type DataSetColumnLevelPermissionRule struct { - //

An array of column names.

- ColumnNames []string `pulumi:"columnNames"` - //

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

- Principals []string `pulumi:"principals"` -} - -// DataSetColumnLevelPermissionRuleInput is an input type that accepts DataSetColumnLevelPermissionRuleArgs and DataSetColumnLevelPermissionRuleOutput values. -// You can construct a concrete instance of `DataSetColumnLevelPermissionRuleInput` via: -// -// DataSetColumnLevelPermissionRuleArgs{...} -type DataSetColumnLevelPermissionRuleInput interface { - pulumi.Input - - ToDataSetColumnLevelPermissionRuleOutput() DataSetColumnLevelPermissionRuleOutput - ToDataSetColumnLevelPermissionRuleOutputWithContext(context.Context) DataSetColumnLevelPermissionRuleOutput -} - -//

A rule defined to grant access on one or more restricted columns. -// -// Each dataset can have multiple rules. -// To create a restricted column, you add it to one or more rules. -// Each rule must contain at least one column and at least one user or group. -// To be able to see a restricted column, a user or group needs to be added -// to a rule for that column.

-type DataSetColumnLevelPermissionRuleArgs struct { - //

An array of column names.

- ColumnNames pulumi.StringArrayInput `pulumi:"columnNames"` - //

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

- Principals pulumi.StringArrayInput `pulumi:"principals"` -} - -func (DataSetColumnLevelPermissionRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DataSetColumnLevelPermissionRule)(nil)).Elem() -} - -func (i DataSetColumnLevelPermissionRuleArgs) ToDataSetColumnLevelPermissionRuleOutput() DataSetColumnLevelPermissionRuleOutput { - return i.ToDataSetColumnLevelPermissionRuleOutputWithContext(context.Background()) -} - -func (i DataSetColumnLevelPermissionRuleArgs) ToDataSetColumnLevelPermissionRuleOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(DataSetColumnLevelPermissionRuleOutput) -} - -// DataSetColumnLevelPermissionRuleArrayInput is an input type that accepts DataSetColumnLevelPermissionRuleArray and DataSetColumnLevelPermissionRuleArrayOutput values. -// You can construct a concrete instance of `DataSetColumnLevelPermissionRuleArrayInput` via: -// -// DataSetColumnLevelPermissionRuleArray{ DataSetColumnLevelPermissionRuleArgs{...} } -type DataSetColumnLevelPermissionRuleArrayInput interface { - pulumi.Input - - ToDataSetColumnLevelPermissionRuleArrayOutput() DataSetColumnLevelPermissionRuleArrayOutput - ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(context.Context) DataSetColumnLevelPermissionRuleArrayOutput -} - -type DataSetColumnLevelPermissionRuleArray []DataSetColumnLevelPermissionRuleInput - -func (DataSetColumnLevelPermissionRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]DataSetColumnLevelPermissionRule)(nil)).Elem() -} - -func (i DataSetColumnLevelPermissionRuleArray) ToDataSetColumnLevelPermissionRuleArrayOutput() DataSetColumnLevelPermissionRuleArrayOutput { - return i.ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(context.Background()) -} - -func (i DataSetColumnLevelPermissionRuleArray) ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(DataSetColumnLevelPermissionRuleArrayOutput) -} - -//

A rule defined to grant access on one or more restricted columns. -// -// Each dataset can have multiple rules. -// To create a restricted column, you add it to one or more rules. -// Each rule must contain at least one column and at least one user or group. -// To be able to see a restricted column, a user or group needs to be added -// to a rule for that column.

-type DataSetColumnLevelPermissionRuleOutput struct{ *pulumi.OutputState } - -func (DataSetColumnLevelPermissionRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DataSetColumnLevelPermissionRule)(nil)).Elem() -} - -func (o DataSetColumnLevelPermissionRuleOutput) ToDataSetColumnLevelPermissionRuleOutput() DataSetColumnLevelPermissionRuleOutput { - return o -} - -func (o DataSetColumnLevelPermissionRuleOutput) ToDataSetColumnLevelPermissionRuleOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleOutput { - return o -} - -//

An array of column names.

-func (o DataSetColumnLevelPermissionRuleOutput) ColumnNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v DataSetColumnLevelPermissionRule) []string { return v.ColumnNames }).(pulumi.StringArrayOutput) -} - -//

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

-func (o DataSetColumnLevelPermissionRuleOutput) Principals() pulumi.StringArrayOutput { - return o.ApplyT(func(v DataSetColumnLevelPermissionRule) []string { return v.Principals }).(pulumi.StringArrayOutput) -} - -type DataSetColumnLevelPermissionRuleArrayOutput struct{ *pulumi.OutputState } - -func (DataSetColumnLevelPermissionRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]DataSetColumnLevelPermissionRule)(nil)).Elem() -} - -func (o DataSetColumnLevelPermissionRuleArrayOutput) ToDataSetColumnLevelPermissionRuleArrayOutput() DataSetColumnLevelPermissionRuleArrayOutput { - return o -} - -func (o DataSetColumnLevelPermissionRuleArrayOutput) ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleArrayOutput { - return o -} - -func (o DataSetColumnLevelPermissionRuleArrayOutput) Index(i pulumi.IntInput) DataSetColumnLevelPermissionRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) DataSetColumnLevelPermissionRule { - return vs[0].([]DataSetColumnLevelPermissionRule)[vs[1].(int)] - }).(DataSetColumnLevelPermissionRuleOutput) -} - func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcOptionsInput)(nil)).Elem(), DashboardArcOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcOptionsPtrInput)(nil)).Elem(), DashboardArcOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAssetOptionsInput)(nil)).Elem(), DashboardAssetOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAssetOptionsPtrInput)(nil)).Elem(), DashboardAssetOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAttributeAggregationFunctionInput)(nil)).Elem(), DashboardAttributeAggregationFunctionArgs{}) @@ -87539,8 +87551,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnDescriptionPtrInput)(nil)).Elem(), DataSetColumnDescriptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnGroupInput)(nil)).Elem(), DataSetColumnGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnGroupArrayInput)(nil)).Elem(), DataSetColumnGroupArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnLevelPermissionRuleInput)(nil)).Elem(), DataSetColumnLevelPermissionRuleArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnLevelPermissionRuleArrayInput)(nil)).Elem(), DataSetColumnLevelPermissionRuleArray{}) + pulumi.RegisterOutputType(DashboardArcOptionsOutput{}) + pulumi.RegisterOutputType(DashboardArcOptionsPtrOutput{}) pulumi.RegisterOutputType(DashboardAssetOptionsOutput{}) pulumi.RegisterOutputType(DashboardAssetOptionsPtrOutput{}) pulumi.RegisterOutputType(DashboardAttributeAggregationFunctionOutput{}) @@ -88531,6 +88543,4 @@ func init() { pulumi.RegisterOutputType(DataSetColumnDescriptionPtrOutput{}) pulumi.RegisterOutputType(DataSetColumnGroupOutput{}) pulumi.RegisterOutputType(DataSetColumnGroupArrayOutput{}) - pulumi.RegisterOutputType(DataSetColumnLevelPermissionRuleOutput{}) - pulumi.RegisterOutputType(DataSetColumnLevelPermissionRuleArrayOutput{}) } diff --git a/sdk/go/aws/quicksight/pulumiTypes2.go b/sdk/go/aws/quicksight/pulumiTypes2.go index 28761f32f3..dd23c93619 100644 --- a/sdk/go/aws/quicksight/pulumiTypes2.go +++ b/sdk/go/aws/quicksight/pulumiTypes2.go @@ -13,6 +13,133 @@ import ( var _ = internal.GetEnvOrDefault +//

A rule defined to grant access on one or more restricted columns. +// +// Each dataset can have multiple rules. +// To create a restricted column, you add it to one or more rules. +// Each rule must contain at least one column and at least one user or group. +// To be able to see a restricted column, a user or group needs to be added +// to a rule for that column.

+type DataSetColumnLevelPermissionRule struct { + //

An array of column names.

+ ColumnNames []string `pulumi:"columnNames"` + //

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

+ Principals []string `pulumi:"principals"` +} + +// DataSetColumnLevelPermissionRuleInput is an input type that accepts DataSetColumnLevelPermissionRuleArgs and DataSetColumnLevelPermissionRuleOutput values. +// You can construct a concrete instance of `DataSetColumnLevelPermissionRuleInput` via: +// +// DataSetColumnLevelPermissionRuleArgs{...} +type DataSetColumnLevelPermissionRuleInput interface { + pulumi.Input + + ToDataSetColumnLevelPermissionRuleOutput() DataSetColumnLevelPermissionRuleOutput + ToDataSetColumnLevelPermissionRuleOutputWithContext(context.Context) DataSetColumnLevelPermissionRuleOutput +} + +//

A rule defined to grant access on one or more restricted columns. +// +// Each dataset can have multiple rules. +// To create a restricted column, you add it to one or more rules. +// Each rule must contain at least one column and at least one user or group. +// To be able to see a restricted column, a user or group needs to be added +// to a rule for that column.

+type DataSetColumnLevelPermissionRuleArgs struct { + //

An array of column names.

+ ColumnNames pulumi.StringArrayInput `pulumi:"columnNames"` + //

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

+ Principals pulumi.StringArrayInput `pulumi:"principals"` +} + +func (DataSetColumnLevelPermissionRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataSetColumnLevelPermissionRule)(nil)).Elem() +} + +func (i DataSetColumnLevelPermissionRuleArgs) ToDataSetColumnLevelPermissionRuleOutput() DataSetColumnLevelPermissionRuleOutput { + return i.ToDataSetColumnLevelPermissionRuleOutputWithContext(context.Background()) +} + +func (i DataSetColumnLevelPermissionRuleArgs) ToDataSetColumnLevelPermissionRuleOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSetColumnLevelPermissionRuleOutput) +} + +// DataSetColumnLevelPermissionRuleArrayInput is an input type that accepts DataSetColumnLevelPermissionRuleArray and DataSetColumnLevelPermissionRuleArrayOutput values. +// You can construct a concrete instance of `DataSetColumnLevelPermissionRuleArrayInput` via: +// +// DataSetColumnLevelPermissionRuleArray{ DataSetColumnLevelPermissionRuleArgs{...} } +type DataSetColumnLevelPermissionRuleArrayInput interface { + pulumi.Input + + ToDataSetColumnLevelPermissionRuleArrayOutput() DataSetColumnLevelPermissionRuleArrayOutput + ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(context.Context) DataSetColumnLevelPermissionRuleArrayOutput +} + +type DataSetColumnLevelPermissionRuleArray []DataSetColumnLevelPermissionRuleInput + +func (DataSetColumnLevelPermissionRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DataSetColumnLevelPermissionRule)(nil)).Elem() +} + +func (i DataSetColumnLevelPermissionRuleArray) ToDataSetColumnLevelPermissionRuleArrayOutput() DataSetColumnLevelPermissionRuleArrayOutput { + return i.ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(context.Background()) +} + +func (i DataSetColumnLevelPermissionRuleArray) ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataSetColumnLevelPermissionRuleArrayOutput) +} + +//

A rule defined to grant access on one or more restricted columns. +// +// Each dataset can have multiple rules. +// To create a restricted column, you add it to one or more rules. +// Each rule must contain at least one column and at least one user or group. +// To be able to see a restricted column, a user or group needs to be added +// to a rule for that column.

+type DataSetColumnLevelPermissionRuleOutput struct{ *pulumi.OutputState } + +func (DataSetColumnLevelPermissionRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataSetColumnLevelPermissionRule)(nil)).Elem() +} + +func (o DataSetColumnLevelPermissionRuleOutput) ToDataSetColumnLevelPermissionRuleOutput() DataSetColumnLevelPermissionRuleOutput { + return o +} + +func (o DataSetColumnLevelPermissionRuleOutput) ToDataSetColumnLevelPermissionRuleOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleOutput { + return o +} + +//

An array of column names.

+func (o DataSetColumnLevelPermissionRuleOutput) ColumnNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v DataSetColumnLevelPermissionRule) []string { return v.ColumnNames }).(pulumi.StringArrayOutput) +} + +//

An array of Amazon Resource Names (ARNs) for Amazon QuickSight users or groups.

+func (o DataSetColumnLevelPermissionRuleOutput) Principals() pulumi.StringArrayOutput { + return o.ApplyT(func(v DataSetColumnLevelPermissionRule) []string { return v.Principals }).(pulumi.StringArrayOutput) +} + +type DataSetColumnLevelPermissionRuleArrayOutput struct{ *pulumi.OutputState } + +func (DataSetColumnLevelPermissionRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DataSetColumnLevelPermissionRule)(nil)).Elem() +} + +func (o DataSetColumnLevelPermissionRuleArrayOutput) ToDataSetColumnLevelPermissionRuleArrayOutput() DataSetColumnLevelPermissionRuleArrayOutput { + return o +} + +func (o DataSetColumnLevelPermissionRuleArrayOutput) ToDataSetColumnLevelPermissionRuleArrayOutputWithContext(ctx context.Context) DataSetColumnLevelPermissionRuleArrayOutput { + return o +} + +func (o DataSetColumnLevelPermissionRuleArrayOutput) Index(i pulumi.IntInput) DataSetColumnLevelPermissionRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DataSetColumnLevelPermissionRule { + return vs[0].([]DataSetColumnLevelPermissionRule)[vs[1].(int)] + }).(DataSetColumnLevelPermissionRuleOutput) +} + //

A tag for a column in a // // @@ -72139,6 +72266,139 @@ func (o TemplateProgressBarOptionsPtrOutput) Visibility() TemplateVisibilityPtrO }).(TemplateVisibilityPtrOutput) } +type TemplateQueryExecutionOptions struct { + QueryExecutionMode *TemplateQueryExecutionMode `pulumi:"queryExecutionMode"` +} + +// TemplateQueryExecutionOptionsInput is an input type that accepts TemplateQueryExecutionOptionsArgs and TemplateQueryExecutionOptionsOutput values. +// You can construct a concrete instance of `TemplateQueryExecutionOptionsInput` via: +// +// TemplateQueryExecutionOptionsArgs{...} +type TemplateQueryExecutionOptionsInput interface { + pulumi.Input + + ToTemplateQueryExecutionOptionsOutput() TemplateQueryExecutionOptionsOutput + ToTemplateQueryExecutionOptionsOutputWithContext(context.Context) TemplateQueryExecutionOptionsOutput +} + +type TemplateQueryExecutionOptionsArgs struct { + QueryExecutionMode TemplateQueryExecutionModePtrInput `pulumi:"queryExecutionMode"` +} + +func (TemplateQueryExecutionOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateQueryExecutionOptions)(nil)).Elem() +} + +func (i TemplateQueryExecutionOptionsArgs) ToTemplateQueryExecutionOptionsOutput() TemplateQueryExecutionOptionsOutput { + return i.ToTemplateQueryExecutionOptionsOutputWithContext(context.Background()) +} + +func (i TemplateQueryExecutionOptionsArgs) ToTemplateQueryExecutionOptionsOutputWithContext(ctx context.Context) TemplateQueryExecutionOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateQueryExecutionOptionsOutput) +} + +func (i TemplateQueryExecutionOptionsArgs) ToTemplateQueryExecutionOptionsPtrOutput() TemplateQueryExecutionOptionsPtrOutput { + return i.ToTemplateQueryExecutionOptionsPtrOutputWithContext(context.Background()) +} + +func (i TemplateQueryExecutionOptionsArgs) ToTemplateQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) TemplateQueryExecutionOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateQueryExecutionOptionsOutput).ToTemplateQueryExecutionOptionsPtrOutputWithContext(ctx) +} + +// TemplateQueryExecutionOptionsPtrInput is an input type that accepts TemplateQueryExecutionOptionsArgs, TemplateQueryExecutionOptionsPtr and TemplateQueryExecutionOptionsPtrOutput values. +// You can construct a concrete instance of `TemplateQueryExecutionOptionsPtrInput` via: +// +// TemplateQueryExecutionOptionsArgs{...} +// +// or: +// +// nil +type TemplateQueryExecutionOptionsPtrInput interface { + pulumi.Input + + ToTemplateQueryExecutionOptionsPtrOutput() TemplateQueryExecutionOptionsPtrOutput + ToTemplateQueryExecutionOptionsPtrOutputWithContext(context.Context) TemplateQueryExecutionOptionsPtrOutput +} + +type templateQueryExecutionOptionsPtrType TemplateQueryExecutionOptionsArgs + +func TemplateQueryExecutionOptionsPtr(v *TemplateQueryExecutionOptionsArgs) TemplateQueryExecutionOptionsPtrInput { + return (*templateQueryExecutionOptionsPtrType)(v) +} + +func (*templateQueryExecutionOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateQueryExecutionOptions)(nil)).Elem() +} + +func (i *templateQueryExecutionOptionsPtrType) ToTemplateQueryExecutionOptionsPtrOutput() TemplateQueryExecutionOptionsPtrOutput { + return i.ToTemplateQueryExecutionOptionsPtrOutputWithContext(context.Background()) +} + +func (i *templateQueryExecutionOptionsPtrType) ToTemplateQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) TemplateQueryExecutionOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateQueryExecutionOptionsPtrOutput) +} + +type TemplateQueryExecutionOptionsOutput struct{ *pulumi.OutputState } + +func (TemplateQueryExecutionOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateQueryExecutionOptions)(nil)).Elem() +} + +func (o TemplateQueryExecutionOptionsOutput) ToTemplateQueryExecutionOptionsOutput() TemplateQueryExecutionOptionsOutput { + return o +} + +func (o TemplateQueryExecutionOptionsOutput) ToTemplateQueryExecutionOptionsOutputWithContext(ctx context.Context) TemplateQueryExecutionOptionsOutput { + return o +} + +func (o TemplateQueryExecutionOptionsOutput) ToTemplateQueryExecutionOptionsPtrOutput() TemplateQueryExecutionOptionsPtrOutput { + return o.ToTemplateQueryExecutionOptionsPtrOutputWithContext(context.Background()) +} + +func (o TemplateQueryExecutionOptionsOutput) ToTemplateQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) TemplateQueryExecutionOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateQueryExecutionOptions) *TemplateQueryExecutionOptions { + return &v + }).(TemplateQueryExecutionOptionsPtrOutput) +} + +func (o TemplateQueryExecutionOptionsOutput) QueryExecutionMode() TemplateQueryExecutionModePtrOutput { + return o.ApplyT(func(v TemplateQueryExecutionOptions) *TemplateQueryExecutionMode { return v.QueryExecutionMode }).(TemplateQueryExecutionModePtrOutput) +} + +type TemplateQueryExecutionOptionsPtrOutput struct{ *pulumi.OutputState } + +func (TemplateQueryExecutionOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateQueryExecutionOptions)(nil)).Elem() +} + +func (o TemplateQueryExecutionOptionsPtrOutput) ToTemplateQueryExecutionOptionsPtrOutput() TemplateQueryExecutionOptionsPtrOutput { + return o +} + +func (o TemplateQueryExecutionOptionsPtrOutput) ToTemplateQueryExecutionOptionsPtrOutputWithContext(ctx context.Context) TemplateQueryExecutionOptionsPtrOutput { + return o +} + +func (o TemplateQueryExecutionOptionsPtrOutput) Elem() TemplateQueryExecutionOptionsOutput { + return o.ApplyT(func(v *TemplateQueryExecutionOptions) TemplateQueryExecutionOptions { + if v != nil { + return *v + } + var ret TemplateQueryExecutionOptions + return ret + }).(TemplateQueryExecutionOptionsOutput) +} + +func (o TemplateQueryExecutionOptionsPtrOutput) QueryExecutionMode() TemplateQueryExecutionModePtrOutput { + return o.ApplyT(func(v *TemplateQueryExecutionOptions) *TemplateQueryExecutionMode { + if v == nil { + return nil + } + return v.QueryExecutionMode + }).(TemplateQueryExecutionModePtrOutput) +} + type TemplateRadarChartAggregatedFieldWells struct { // The aggregated field well categories of a radar chart. Category []TemplateDimensionField `pulumi:"category"` @@ -85526,325 +85786,9 @@ func (o TemplateTableFieldImageConfigurationPtrOutput) SizingOptions() TemplateT }).(TemplateTableCellImageSizingConfigurationPtrOutput) } -type TemplateTableFieldLinkConfiguration struct { - // The URL content (text, icon) for the table link configuration. - Content TemplateTableFieldLinkContentConfiguration `pulumi:"content"` - // The URL target (new tab, new window, same tab) for the table link configuration. - Target TemplateUrlTargetConfiguration `pulumi:"target"` -} - -// TemplateTableFieldLinkConfigurationInput is an input type that accepts TemplateTableFieldLinkConfigurationArgs and TemplateTableFieldLinkConfigurationOutput values. -// You can construct a concrete instance of `TemplateTableFieldLinkConfigurationInput` via: -// -// TemplateTableFieldLinkConfigurationArgs{...} -type TemplateTableFieldLinkConfigurationInput interface { - pulumi.Input - - ToTemplateTableFieldLinkConfigurationOutput() TemplateTableFieldLinkConfigurationOutput - ToTemplateTableFieldLinkConfigurationOutputWithContext(context.Context) TemplateTableFieldLinkConfigurationOutput -} - -type TemplateTableFieldLinkConfigurationArgs struct { - // The URL content (text, icon) for the table link configuration. - Content TemplateTableFieldLinkContentConfigurationInput `pulumi:"content"` - // The URL target (new tab, new window, same tab) for the table link configuration. - Target TemplateUrlTargetConfigurationInput `pulumi:"target"` -} - -func (TemplateTableFieldLinkConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateTableFieldLinkConfiguration)(nil)).Elem() -} - -func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationOutput() TemplateTableFieldLinkConfigurationOutput { - return i.ToTemplateTableFieldLinkConfigurationOutputWithContext(context.Background()) -} - -func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkConfigurationOutput) -} - -func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { - return i.ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Background()) -} - -func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkConfigurationOutput).ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx) -} - -// TemplateTableFieldLinkConfigurationPtrInput is an input type that accepts TemplateTableFieldLinkConfigurationArgs, TemplateTableFieldLinkConfigurationPtr and TemplateTableFieldLinkConfigurationPtrOutput values. -// You can construct a concrete instance of `TemplateTableFieldLinkConfigurationPtrInput` via: -// -// TemplateTableFieldLinkConfigurationArgs{...} -// -// or: -// -// nil -type TemplateTableFieldLinkConfigurationPtrInput interface { - pulumi.Input - - ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput - ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Context) TemplateTableFieldLinkConfigurationPtrOutput -} - -type templateTableFieldLinkConfigurationPtrType TemplateTableFieldLinkConfigurationArgs - -func TemplateTableFieldLinkConfigurationPtr(v *TemplateTableFieldLinkConfigurationArgs) TemplateTableFieldLinkConfigurationPtrInput { - return (*templateTableFieldLinkConfigurationPtrType)(v) -} - -func (*templateTableFieldLinkConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**TemplateTableFieldLinkConfiguration)(nil)).Elem() -} - -func (i *templateTableFieldLinkConfigurationPtrType) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { - return i.ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Background()) -} - -func (i *templateTableFieldLinkConfigurationPtrType) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkConfigurationPtrOutput) -} - -type TemplateTableFieldLinkConfigurationOutput struct{ *pulumi.OutputState } - -func (TemplateTableFieldLinkConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateTableFieldLinkConfiguration)(nil)).Elem() -} - -func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationOutput() TemplateTableFieldLinkConfigurationOutput { - return o -} - -func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationOutput { - return o -} - -func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { - return o.ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Background()) -} - -func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateTableFieldLinkConfiguration) *TemplateTableFieldLinkConfiguration { - return &v - }).(TemplateTableFieldLinkConfigurationPtrOutput) -} - -// The URL content (text, icon) for the table link configuration. -func (o TemplateTableFieldLinkConfigurationOutput) Content() TemplateTableFieldLinkContentConfigurationOutput { - return o.ApplyT(func(v TemplateTableFieldLinkConfiguration) TemplateTableFieldLinkContentConfiguration { - return v.Content - }).(TemplateTableFieldLinkContentConfigurationOutput) -} - -// The URL target (new tab, new window, same tab) for the table link configuration. -func (o TemplateTableFieldLinkConfigurationOutput) Target() TemplateUrlTargetConfigurationOutput { - return o.ApplyT(func(v TemplateTableFieldLinkConfiguration) TemplateUrlTargetConfiguration { return v.Target }).(TemplateUrlTargetConfigurationOutput) -} - -type TemplateTableFieldLinkConfigurationPtrOutput struct{ *pulumi.OutputState } - -func (TemplateTableFieldLinkConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**TemplateTableFieldLinkConfiguration)(nil)).Elem() -} - -func (o TemplateTableFieldLinkConfigurationPtrOutput) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { - return o -} - -func (o TemplateTableFieldLinkConfigurationPtrOutput) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { - return o -} - -func (o TemplateTableFieldLinkConfigurationPtrOutput) Elem() TemplateTableFieldLinkConfigurationOutput { - return o.ApplyT(func(v *TemplateTableFieldLinkConfiguration) TemplateTableFieldLinkConfiguration { - if v != nil { - return *v - } - var ret TemplateTableFieldLinkConfiguration - return ret - }).(TemplateTableFieldLinkConfigurationOutput) -} - -// The URL content (text, icon) for the table link configuration. -func (o TemplateTableFieldLinkConfigurationPtrOutput) Content() TemplateTableFieldLinkContentConfigurationPtrOutput { - return o.ApplyT(func(v *TemplateTableFieldLinkConfiguration) *TemplateTableFieldLinkContentConfiguration { - if v == nil { - return nil - } - return &v.Content - }).(TemplateTableFieldLinkContentConfigurationPtrOutput) -} - -// The URL target (new tab, new window, same tab) for the table link configuration. -func (o TemplateTableFieldLinkConfigurationPtrOutput) Target() TemplateUrlTargetConfigurationPtrOutput { - return o.ApplyT(func(v *TemplateTableFieldLinkConfiguration) *TemplateUrlTargetConfiguration { - if v == nil { - return nil - } - return &v.Target - }).(TemplateUrlTargetConfigurationPtrOutput) -} - -type TemplateTableFieldLinkContentConfiguration struct { - // The custom icon content for the table link content configuration. - CustomIconContent *TemplateTableFieldCustomIconContent `pulumi:"customIconContent"` - // The custom text content (value, font configuration) for the table link content configuration. - CustomTextContent *TemplateTableFieldCustomTextContent `pulumi:"customTextContent"` -} - -// TemplateTableFieldLinkContentConfigurationInput is an input type that accepts TemplateTableFieldLinkContentConfigurationArgs and TemplateTableFieldLinkContentConfigurationOutput values. -// You can construct a concrete instance of `TemplateTableFieldLinkContentConfigurationInput` via: -// -// TemplateTableFieldLinkContentConfigurationArgs{...} -type TemplateTableFieldLinkContentConfigurationInput interface { - pulumi.Input - - ToTemplateTableFieldLinkContentConfigurationOutput() TemplateTableFieldLinkContentConfigurationOutput - ToTemplateTableFieldLinkContentConfigurationOutputWithContext(context.Context) TemplateTableFieldLinkContentConfigurationOutput -} - -type TemplateTableFieldLinkContentConfigurationArgs struct { - // The custom icon content for the table link content configuration. - CustomIconContent TemplateTableFieldCustomIconContentPtrInput `pulumi:"customIconContent"` - // The custom text content (value, font configuration) for the table link content configuration. - CustomTextContent TemplateTableFieldCustomTextContentPtrInput `pulumi:"customTextContent"` -} - -func (TemplateTableFieldLinkContentConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateTableFieldLinkContentConfiguration)(nil)).Elem() -} - -func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationOutput() TemplateTableFieldLinkContentConfigurationOutput { - return i.ToTemplateTableFieldLinkContentConfigurationOutputWithContext(context.Background()) -} - -func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkContentConfigurationOutput) -} - -func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { - return i.ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Background()) -} - -func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkContentConfigurationOutput).ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx) -} - -// TemplateTableFieldLinkContentConfigurationPtrInput is an input type that accepts TemplateTableFieldLinkContentConfigurationArgs, TemplateTableFieldLinkContentConfigurationPtr and TemplateTableFieldLinkContentConfigurationPtrOutput values. -// You can construct a concrete instance of `TemplateTableFieldLinkContentConfigurationPtrInput` via: -// -// TemplateTableFieldLinkContentConfigurationArgs{...} -// -// or: -// -// nil -type TemplateTableFieldLinkContentConfigurationPtrInput interface { - pulumi.Input - - ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput - ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput -} - -type templateTableFieldLinkContentConfigurationPtrType TemplateTableFieldLinkContentConfigurationArgs - -func TemplateTableFieldLinkContentConfigurationPtr(v *TemplateTableFieldLinkContentConfigurationArgs) TemplateTableFieldLinkContentConfigurationPtrInput { - return (*templateTableFieldLinkContentConfigurationPtrType)(v) -} - -func (*templateTableFieldLinkContentConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**TemplateTableFieldLinkContentConfiguration)(nil)).Elem() -} - -func (i *templateTableFieldLinkContentConfigurationPtrType) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { - return i.ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Background()) -} - -func (i *templateTableFieldLinkContentConfigurationPtrType) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkContentConfigurationPtrOutput) -} - -type TemplateTableFieldLinkContentConfigurationOutput struct{ *pulumi.OutputState } - -func (TemplateTableFieldLinkContentConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateTableFieldLinkContentConfiguration)(nil)).Elem() -} - -func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationOutput() TemplateTableFieldLinkContentConfigurationOutput { - return o -} - -func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationOutput { - return o -} - -func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { - return o.ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Background()) -} - -func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldLinkContentConfiguration { - return &v - }).(TemplateTableFieldLinkContentConfigurationPtrOutput) -} - -// The custom icon content for the table link content configuration. -func (o TemplateTableFieldLinkContentConfigurationOutput) CustomIconContent() TemplateTableFieldCustomIconContentPtrOutput { - return o.ApplyT(func(v TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomIconContent { - return v.CustomIconContent - }).(TemplateTableFieldCustomIconContentPtrOutput) -} - -// The custom text content (value, font configuration) for the table link content configuration. -func (o TemplateTableFieldLinkContentConfigurationOutput) CustomTextContent() TemplateTableFieldCustomTextContentPtrOutput { - return o.ApplyT(func(v TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomTextContent { - return v.CustomTextContent - }).(TemplateTableFieldCustomTextContentPtrOutput) -} - -type TemplateTableFieldLinkContentConfigurationPtrOutput struct{ *pulumi.OutputState } - -func (TemplateTableFieldLinkContentConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**TemplateTableFieldLinkContentConfiguration)(nil)).Elem() -} - -func (o TemplateTableFieldLinkContentConfigurationPtrOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { - return o -} - -func (o TemplateTableFieldLinkContentConfigurationPtrOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { - return o -} - -func (o TemplateTableFieldLinkContentConfigurationPtrOutput) Elem() TemplateTableFieldLinkContentConfigurationOutput { - return o.ApplyT(func(v *TemplateTableFieldLinkContentConfiguration) TemplateTableFieldLinkContentConfiguration { - if v != nil { - return *v - } - var ret TemplateTableFieldLinkContentConfiguration - return ret - }).(TemplateTableFieldLinkContentConfigurationOutput) -} - -// The custom icon content for the table link content configuration. -func (o TemplateTableFieldLinkContentConfigurationPtrOutput) CustomIconContent() TemplateTableFieldCustomIconContentPtrOutput { - return o.ApplyT(func(v *TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomIconContent { - if v == nil { - return nil - } - return v.CustomIconContent - }).(TemplateTableFieldCustomIconContentPtrOutput) -} - -// The custom text content (value, font configuration) for the table link content configuration. -func (o TemplateTableFieldLinkContentConfigurationPtrOutput) CustomTextContent() TemplateTableFieldCustomTextContentPtrOutput { - return o.ApplyT(func(v *TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomTextContent { - if v == nil { - return nil - } - return v.CustomTextContent - }).(TemplateTableFieldCustomTextContentPtrOutput) -} - func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnLevelPermissionRuleInput)(nil)).Elem(), DataSetColumnLevelPermissionRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnLevelPermissionRuleArrayInput)(nil)).Elem(), DataSetColumnLevelPermissionRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnTagInput)(nil)).Elem(), DataSetColumnTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSetColumnTagArrayInput)(nil)).Elem(), DataSetColumnTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DataSetCreateColumnsOperationInput)(nil)).Elem(), DataSetCreateColumnsOperationArgs{}) @@ -86669,6 +86613,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TemplatePredefinedHierarchyPtrInput)(nil)).Elem(), TemplatePredefinedHierarchyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateProgressBarOptionsInput)(nil)).Elem(), TemplateProgressBarOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateProgressBarOptionsPtrInput)(nil)).Elem(), TemplateProgressBarOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateQueryExecutionOptionsInput)(nil)).Elem(), TemplateQueryExecutionOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateQueryExecutionOptionsPtrInput)(nil)).Elem(), TemplateQueryExecutionOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateRadarChartAggregatedFieldWellsInput)(nil)).Elem(), TemplateRadarChartAggregatedFieldWellsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateRadarChartAggregatedFieldWellsPtrInput)(nil)).Elem(), TemplateRadarChartAggregatedFieldWellsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateRadarChartAreaStyleSettingsInput)(nil)).Elem(), TemplateRadarChartAreaStyleSettingsArgs{}) @@ -86824,10 +86770,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldCustomTextContentPtrInput)(nil)).Elem(), TemplateTableFieldCustomTextContentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldImageConfigurationInput)(nil)).Elem(), TemplateTableFieldImageConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldImageConfigurationPtrInput)(nil)).Elem(), TemplateTableFieldImageConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkConfigurationInput)(nil)).Elem(), TemplateTableFieldLinkConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkConfigurationPtrInput)(nil)).Elem(), TemplateTableFieldLinkConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkContentConfigurationInput)(nil)).Elem(), TemplateTableFieldLinkContentConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkContentConfigurationPtrInput)(nil)).Elem(), TemplateTableFieldLinkContentConfigurationArgs{}) + pulumi.RegisterOutputType(DataSetColumnLevelPermissionRuleOutput{}) + pulumi.RegisterOutputType(DataSetColumnLevelPermissionRuleArrayOutput{}) pulumi.RegisterOutputType(DataSetColumnTagOutput{}) pulumi.RegisterOutputType(DataSetColumnTagArrayOutput{}) pulumi.RegisterOutputType(DataSetCreateColumnsOperationOutput{}) @@ -87658,6 +87602,8 @@ func init() { pulumi.RegisterOutputType(TemplatePredefinedHierarchyPtrOutput{}) pulumi.RegisterOutputType(TemplateProgressBarOptionsOutput{}) pulumi.RegisterOutputType(TemplateProgressBarOptionsPtrOutput{}) + pulumi.RegisterOutputType(TemplateQueryExecutionOptionsOutput{}) + pulumi.RegisterOutputType(TemplateQueryExecutionOptionsPtrOutput{}) pulumi.RegisterOutputType(TemplateRadarChartAggregatedFieldWellsOutput{}) pulumi.RegisterOutputType(TemplateRadarChartAggregatedFieldWellsPtrOutput{}) pulumi.RegisterOutputType(TemplateRadarChartAreaStyleSettingsOutput{}) @@ -87815,8 +87761,4 @@ func init() { pulumi.RegisterOutputType(TemplateTableFieldCustomTextContentPtrOutput{}) pulumi.RegisterOutputType(TemplateTableFieldImageConfigurationOutput{}) pulumi.RegisterOutputType(TemplateTableFieldImageConfigurationPtrOutput{}) - pulumi.RegisterOutputType(TemplateTableFieldLinkConfigurationOutput{}) - pulumi.RegisterOutputType(TemplateTableFieldLinkConfigurationPtrOutput{}) - pulumi.RegisterOutputType(TemplateTableFieldLinkContentConfigurationOutput{}) - pulumi.RegisterOutputType(TemplateTableFieldLinkContentConfigurationPtrOutput{}) } diff --git a/sdk/go/aws/quicksight/pulumiTypes3.go b/sdk/go/aws/quicksight/pulumiTypes3.go index 7e8268083c..885cfbc749 100644 --- a/sdk/go/aws/quicksight/pulumiTypes3.go +++ b/sdk/go/aws/quicksight/pulumiTypes3.go @@ -13,6 +13,324 @@ import ( var _ = internal.GetEnvOrDefault +type TemplateTableFieldLinkConfiguration struct { + // The URL content (text, icon) for the table link configuration. + Content TemplateTableFieldLinkContentConfiguration `pulumi:"content"` + // The URL target (new tab, new window, same tab) for the table link configuration. + Target TemplateUrlTargetConfiguration `pulumi:"target"` +} + +// TemplateTableFieldLinkConfigurationInput is an input type that accepts TemplateTableFieldLinkConfigurationArgs and TemplateTableFieldLinkConfigurationOutput values. +// You can construct a concrete instance of `TemplateTableFieldLinkConfigurationInput` via: +// +// TemplateTableFieldLinkConfigurationArgs{...} +type TemplateTableFieldLinkConfigurationInput interface { + pulumi.Input + + ToTemplateTableFieldLinkConfigurationOutput() TemplateTableFieldLinkConfigurationOutput + ToTemplateTableFieldLinkConfigurationOutputWithContext(context.Context) TemplateTableFieldLinkConfigurationOutput +} + +type TemplateTableFieldLinkConfigurationArgs struct { + // The URL content (text, icon) for the table link configuration. + Content TemplateTableFieldLinkContentConfigurationInput `pulumi:"content"` + // The URL target (new tab, new window, same tab) for the table link configuration. + Target TemplateUrlTargetConfigurationInput `pulumi:"target"` +} + +func (TemplateTableFieldLinkConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateTableFieldLinkConfiguration)(nil)).Elem() +} + +func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationOutput() TemplateTableFieldLinkConfigurationOutput { + return i.ToTemplateTableFieldLinkConfigurationOutputWithContext(context.Background()) +} + +func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkConfigurationOutput) +} + +func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { + return i.ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Background()) +} + +func (i TemplateTableFieldLinkConfigurationArgs) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkConfigurationOutput).ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx) +} + +// TemplateTableFieldLinkConfigurationPtrInput is an input type that accepts TemplateTableFieldLinkConfigurationArgs, TemplateTableFieldLinkConfigurationPtr and TemplateTableFieldLinkConfigurationPtrOutput values. +// You can construct a concrete instance of `TemplateTableFieldLinkConfigurationPtrInput` via: +// +// TemplateTableFieldLinkConfigurationArgs{...} +// +// or: +// +// nil +type TemplateTableFieldLinkConfigurationPtrInput interface { + pulumi.Input + + ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput + ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Context) TemplateTableFieldLinkConfigurationPtrOutput +} + +type templateTableFieldLinkConfigurationPtrType TemplateTableFieldLinkConfigurationArgs + +func TemplateTableFieldLinkConfigurationPtr(v *TemplateTableFieldLinkConfigurationArgs) TemplateTableFieldLinkConfigurationPtrInput { + return (*templateTableFieldLinkConfigurationPtrType)(v) +} + +func (*templateTableFieldLinkConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateTableFieldLinkConfiguration)(nil)).Elem() +} + +func (i *templateTableFieldLinkConfigurationPtrType) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { + return i.ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *templateTableFieldLinkConfigurationPtrType) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkConfigurationPtrOutput) +} + +type TemplateTableFieldLinkConfigurationOutput struct{ *pulumi.OutputState } + +func (TemplateTableFieldLinkConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateTableFieldLinkConfiguration)(nil)).Elem() +} + +func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationOutput() TemplateTableFieldLinkConfigurationOutput { + return o +} + +func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationOutput { + return o +} + +func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { + return o.ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(context.Background()) +} + +func (o TemplateTableFieldLinkConfigurationOutput) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateTableFieldLinkConfiguration) *TemplateTableFieldLinkConfiguration { + return &v + }).(TemplateTableFieldLinkConfigurationPtrOutput) +} + +// The URL content (text, icon) for the table link configuration. +func (o TemplateTableFieldLinkConfigurationOutput) Content() TemplateTableFieldLinkContentConfigurationOutput { + return o.ApplyT(func(v TemplateTableFieldLinkConfiguration) TemplateTableFieldLinkContentConfiguration { + return v.Content + }).(TemplateTableFieldLinkContentConfigurationOutput) +} + +// The URL target (new tab, new window, same tab) for the table link configuration. +func (o TemplateTableFieldLinkConfigurationOutput) Target() TemplateUrlTargetConfigurationOutput { + return o.ApplyT(func(v TemplateTableFieldLinkConfiguration) TemplateUrlTargetConfiguration { return v.Target }).(TemplateUrlTargetConfigurationOutput) +} + +type TemplateTableFieldLinkConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (TemplateTableFieldLinkConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateTableFieldLinkConfiguration)(nil)).Elem() +} + +func (o TemplateTableFieldLinkConfigurationPtrOutput) ToTemplateTableFieldLinkConfigurationPtrOutput() TemplateTableFieldLinkConfigurationPtrOutput { + return o +} + +func (o TemplateTableFieldLinkConfigurationPtrOutput) ToTemplateTableFieldLinkConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkConfigurationPtrOutput { + return o +} + +func (o TemplateTableFieldLinkConfigurationPtrOutput) Elem() TemplateTableFieldLinkConfigurationOutput { + return o.ApplyT(func(v *TemplateTableFieldLinkConfiguration) TemplateTableFieldLinkConfiguration { + if v != nil { + return *v + } + var ret TemplateTableFieldLinkConfiguration + return ret + }).(TemplateTableFieldLinkConfigurationOutput) +} + +// The URL content (text, icon) for the table link configuration. +func (o TemplateTableFieldLinkConfigurationPtrOutput) Content() TemplateTableFieldLinkContentConfigurationPtrOutput { + return o.ApplyT(func(v *TemplateTableFieldLinkConfiguration) *TemplateTableFieldLinkContentConfiguration { + if v == nil { + return nil + } + return &v.Content + }).(TemplateTableFieldLinkContentConfigurationPtrOutput) +} + +// The URL target (new tab, new window, same tab) for the table link configuration. +func (o TemplateTableFieldLinkConfigurationPtrOutput) Target() TemplateUrlTargetConfigurationPtrOutput { + return o.ApplyT(func(v *TemplateTableFieldLinkConfiguration) *TemplateUrlTargetConfiguration { + if v == nil { + return nil + } + return &v.Target + }).(TemplateUrlTargetConfigurationPtrOutput) +} + +type TemplateTableFieldLinkContentConfiguration struct { + // The custom icon content for the table link content configuration. + CustomIconContent *TemplateTableFieldCustomIconContent `pulumi:"customIconContent"` + // The custom text content (value, font configuration) for the table link content configuration. + CustomTextContent *TemplateTableFieldCustomTextContent `pulumi:"customTextContent"` +} + +// TemplateTableFieldLinkContentConfigurationInput is an input type that accepts TemplateTableFieldLinkContentConfigurationArgs and TemplateTableFieldLinkContentConfigurationOutput values. +// You can construct a concrete instance of `TemplateTableFieldLinkContentConfigurationInput` via: +// +// TemplateTableFieldLinkContentConfigurationArgs{...} +type TemplateTableFieldLinkContentConfigurationInput interface { + pulumi.Input + + ToTemplateTableFieldLinkContentConfigurationOutput() TemplateTableFieldLinkContentConfigurationOutput + ToTemplateTableFieldLinkContentConfigurationOutputWithContext(context.Context) TemplateTableFieldLinkContentConfigurationOutput +} + +type TemplateTableFieldLinkContentConfigurationArgs struct { + // The custom icon content for the table link content configuration. + CustomIconContent TemplateTableFieldCustomIconContentPtrInput `pulumi:"customIconContent"` + // The custom text content (value, font configuration) for the table link content configuration. + CustomTextContent TemplateTableFieldCustomTextContentPtrInput `pulumi:"customTextContent"` +} + +func (TemplateTableFieldLinkContentConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateTableFieldLinkContentConfiguration)(nil)).Elem() +} + +func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationOutput() TemplateTableFieldLinkContentConfigurationOutput { + return i.ToTemplateTableFieldLinkContentConfigurationOutputWithContext(context.Background()) +} + +func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkContentConfigurationOutput) +} + +func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { + return i.ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Background()) +} + +func (i TemplateTableFieldLinkContentConfigurationArgs) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkContentConfigurationOutput).ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx) +} + +// TemplateTableFieldLinkContentConfigurationPtrInput is an input type that accepts TemplateTableFieldLinkContentConfigurationArgs, TemplateTableFieldLinkContentConfigurationPtr and TemplateTableFieldLinkContentConfigurationPtrOutput values. +// You can construct a concrete instance of `TemplateTableFieldLinkContentConfigurationPtrInput` via: +// +// TemplateTableFieldLinkContentConfigurationArgs{...} +// +// or: +// +// nil +type TemplateTableFieldLinkContentConfigurationPtrInput interface { + pulumi.Input + + ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput + ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput +} + +type templateTableFieldLinkContentConfigurationPtrType TemplateTableFieldLinkContentConfigurationArgs + +func TemplateTableFieldLinkContentConfigurationPtr(v *TemplateTableFieldLinkContentConfigurationArgs) TemplateTableFieldLinkContentConfigurationPtrInput { + return (*templateTableFieldLinkContentConfigurationPtrType)(v) +} + +func (*templateTableFieldLinkContentConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateTableFieldLinkContentConfiguration)(nil)).Elem() +} + +func (i *templateTableFieldLinkContentConfigurationPtrType) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { + return i.ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *templateTableFieldLinkContentConfigurationPtrType) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateTableFieldLinkContentConfigurationPtrOutput) +} + +type TemplateTableFieldLinkContentConfigurationOutput struct{ *pulumi.OutputState } + +func (TemplateTableFieldLinkContentConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateTableFieldLinkContentConfiguration)(nil)).Elem() +} + +func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationOutput() TemplateTableFieldLinkContentConfigurationOutput { + return o +} + +func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationOutput { + return o +} + +func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { + return o.ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(context.Background()) +} + +func (o TemplateTableFieldLinkContentConfigurationOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldLinkContentConfiguration { + return &v + }).(TemplateTableFieldLinkContentConfigurationPtrOutput) +} + +// The custom icon content for the table link content configuration. +func (o TemplateTableFieldLinkContentConfigurationOutput) CustomIconContent() TemplateTableFieldCustomIconContentPtrOutput { + return o.ApplyT(func(v TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomIconContent { + return v.CustomIconContent + }).(TemplateTableFieldCustomIconContentPtrOutput) +} + +// The custom text content (value, font configuration) for the table link content configuration. +func (o TemplateTableFieldLinkContentConfigurationOutput) CustomTextContent() TemplateTableFieldCustomTextContentPtrOutput { + return o.ApplyT(func(v TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomTextContent { + return v.CustomTextContent + }).(TemplateTableFieldCustomTextContentPtrOutput) +} + +type TemplateTableFieldLinkContentConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (TemplateTableFieldLinkContentConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateTableFieldLinkContentConfiguration)(nil)).Elem() +} + +func (o TemplateTableFieldLinkContentConfigurationPtrOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutput() TemplateTableFieldLinkContentConfigurationPtrOutput { + return o +} + +func (o TemplateTableFieldLinkContentConfigurationPtrOutput) ToTemplateTableFieldLinkContentConfigurationPtrOutputWithContext(ctx context.Context) TemplateTableFieldLinkContentConfigurationPtrOutput { + return o +} + +func (o TemplateTableFieldLinkContentConfigurationPtrOutput) Elem() TemplateTableFieldLinkContentConfigurationOutput { + return o.ApplyT(func(v *TemplateTableFieldLinkContentConfiguration) TemplateTableFieldLinkContentConfiguration { + if v != nil { + return *v + } + var ret TemplateTableFieldLinkContentConfiguration + return ret + }).(TemplateTableFieldLinkContentConfigurationOutput) +} + +// The custom icon content for the table link content configuration. +func (o TemplateTableFieldLinkContentConfigurationPtrOutput) CustomIconContent() TemplateTableFieldCustomIconContentPtrOutput { + return o.ApplyT(func(v *TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomIconContent { + if v == nil { + return nil + } + return v.CustomIconContent + }).(TemplateTableFieldCustomIconContentPtrOutput) +} + +// The custom text content (value, font configuration) for the table link content configuration. +func (o TemplateTableFieldLinkContentConfigurationPtrOutput) CustomTextContent() TemplateTableFieldCustomTextContentPtrOutput { + return o.ApplyT(func(v *TemplateTableFieldLinkContentConfiguration) *TemplateTableFieldCustomTextContent { + if v == nil { + return nil + } + return v.CustomTextContent + }).(TemplateTableFieldCustomTextContentPtrOutput) +} + type TemplateTableFieldOption struct { // The custom label for a table field. CustomLabel *string `pulumi:"customLabel"` @@ -7749,6 +8067,7 @@ type TemplateVersionDefinition struct { // // For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . ParameterDeclarations []TemplateParameterDeclaration `pulumi:"parameterDeclarations"` + QueryExecutionOptions *TemplateQueryExecutionOptions `pulumi:"queryExecutionOptions"` // An array of sheet definitions for a template. Sheets []TemplateSheetDefinition `pulumi:"sheets"` } @@ -7784,6 +8103,7 @@ type TemplateVersionDefinitionArgs struct { // // For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . ParameterDeclarations TemplateParameterDeclarationArrayInput `pulumi:"parameterDeclarations"` + QueryExecutionOptions TemplateQueryExecutionOptionsPtrInput `pulumi:"queryExecutionOptions"` // An array of sheet definitions for a template. Sheets TemplateSheetDefinitionArrayInput `pulumi:"sheets"` } @@ -7905,6 +8225,10 @@ func (o TemplateVersionDefinitionOutput) ParameterDeclarations() TemplateParamet return o.ApplyT(func(v TemplateVersionDefinition) []TemplateParameterDeclaration { return v.ParameterDeclarations }).(TemplateParameterDeclarationArrayOutput) } +func (o TemplateVersionDefinitionOutput) QueryExecutionOptions() TemplateQueryExecutionOptionsPtrOutput { + return o.ApplyT(func(v TemplateVersionDefinition) *TemplateQueryExecutionOptions { return v.QueryExecutionOptions }).(TemplateQueryExecutionOptionsPtrOutput) +} + // An array of sheet definitions for a template. func (o TemplateVersionDefinitionOutput) Sheets() TemplateSheetDefinitionArrayOutput { return o.ApplyT(func(v TemplateVersionDefinition) []TemplateSheetDefinition { return v.Sheets }).(TemplateSheetDefinitionArrayOutput) @@ -8009,6 +8333,15 @@ func (o TemplateVersionDefinitionPtrOutput) ParameterDeclarations() TemplatePara }).(TemplateParameterDeclarationArrayOutput) } +func (o TemplateVersionDefinitionPtrOutput) QueryExecutionOptions() TemplateQueryExecutionOptionsPtrOutput { + return o.ApplyT(func(v *TemplateVersionDefinition) *TemplateQueryExecutionOptions { + if v == nil { + return nil + } + return v.QueryExecutionOptions + }).(TemplateQueryExecutionOptionsPtrOutput) +} + // An array of sheet definitions for a template. func (o TemplateVersionDefinitionPtrOutput) Sheets() TemplateSheetDefinitionArrayOutput { return o.ApplyT(func(v *TemplateVersionDefinition) []TemplateSheetDefinition { @@ -19130,6 +19463,10 @@ type VpcConnectionTag struct { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkConfigurationInput)(nil)).Elem(), TemplateTableFieldLinkConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkConfigurationPtrInput)(nil)).Elem(), TemplateTableFieldLinkConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkContentConfigurationInput)(nil)).Elem(), TemplateTableFieldLinkContentConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldLinkContentConfigurationPtrInput)(nil)).Elem(), TemplateTableFieldLinkContentConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldOptionInput)(nil)).Elem(), TemplateTableFieldOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldOptionArrayInput)(nil)).Elem(), TemplateTableFieldOptionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateTableFieldOptionsInput)(nil)).Elem(), TemplateTableFieldOptionsArgs{}) @@ -19334,6 +19671,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TopicSemanticTypePtrInput)(nil)).Elem(), TopicSemanticTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicSingularFilterConstantInput)(nil)).Elem(), TopicSingularFilterConstantArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicSingularFilterConstantPtrInput)(nil)).Elem(), TopicSingularFilterConstantArgs{}) + pulumi.RegisterOutputType(TemplateTableFieldLinkConfigurationOutput{}) + pulumi.RegisterOutputType(TemplateTableFieldLinkConfigurationPtrOutput{}) + pulumi.RegisterOutputType(TemplateTableFieldLinkContentConfigurationOutput{}) + pulumi.RegisterOutputType(TemplateTableFieldLinkContentConfigurationPtrOutput{}) pulumi.RegisterOutputType(TemplateTableFieldOptionOutput{}) pulumi.RegisterOutputType(TemplateTableFieldOptionArrayOutput{}) pulumi.RegisterOutputType(TemplateTableFieldOptionsOutput{}) diff --git a/sdk/go/aws/sagemaker/cluster.go b/sdk/go/aws/sagemaker/cluster.go new file mode 100644 index 0000000000..accb6717f4 --- /dev/null +++ b/sdk/go/aws/sagemaker/cluster.go @@ -0,0 +1,207 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sagemaker + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::SageMaker::Cluster +type Cluster struct { + pulumi.CustomResourceState + + // The Amazon Resource Name (ARN) of the HyperPod Cluster. + ClusterArn pulumi.StringOutput `pulumi:"clusterArn"` + // The name of the HyperPod Cluster. + ClusterName pulumi.StringPtrOutput `pulumi:"clusterName"` + // The status of the HyperPod Cluster. + ClusterStatus ClusterStatusOutput `pulumi:"clusterStatus"` + // The time at which the HyperPod cluster was created. + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // The failure message of the HyperPod Cluster. + FailureMessage pulumi.StringOutput `pulumi:"failureMessage"` + InstanceGroups ClusterInstanceGroupArrayOutput `pulumi:"instanceGroups"` + // If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + NodeRecovery ClusterNodeRecoveryPtrOutput `pulumi:"nodeRecovery"` + Orchestrator ClusterOrchestratorPtrOutput `pulumi:"orchestrator"` + // Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + Tags aws.TagArrayOutput `pulumi:"tags"` + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + VpcConfig ClusterVpcConfigPtrOutput `pulumi:"vpcConfig"` +} + +// NewCluster registers a new resource with the given unique name, arguments, and options. +func NewCluster(ctx *pulumi.Context, + name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InstanceGroups == nil { + return nil, errors.New("invalid value for required argument 'InstanceGroups'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "clusterName", + "instanceGroups[*].executionRole", + "instanceGroups[*].instanceGroupName", + "instanceGroups[*].instanceType", + "instanceGroups[*].threadsPerCore", + "orchestrator", + "vpcConfig", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Cluster + err := ctx.RegisterResource("aws-native:sagemaker:Cluster", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCluster gets an existing Cluster 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 GetCluster(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error) { + var resource Cluster + err := ctx.ReadResource("aws-native:sagemaker:Cluster", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Cluster resources. +type clusterState struct { +} + +type ClusterState struct { +} + +func (ClusterState) ElementType() reflect.Type { + return reflect.TypeOf((*clusterState)(nil)).Elem() +} + +type clusterArgs struct { + // The name of the HyperPod Cluster. + ClusterName *string `pulumi:"clusterName"` + InstanceGroups []ClusterInstanceGroup `pulumi:"instanceGroups"` + // If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + NodeRecovery *ClusterNodeRecovery `pulumi:"nodeRecovery"` + Orchestrator *ClusterOrchestrator `pulumi:"orchestrator"` + // Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + Tags []aws.Tag `pulumi:"tags"` + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + VpcConfig *ClusterVpcConfig `pulumi:"vpcConfig"` +} + +// The set of arguments for constructing a Cluster resource. +type ClusterArgs struct { + // The name of the HyperPod Cluster. + ClusterName pulumi.StringPtrInput + InstanceGroups ClusterInstanceGroupArrayInput + // If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + NodeRecovery ClusterNodeRecoveryPtrInput + Orchestrator ClusterOrchestratorPtrInput + // Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + Tags aws.TagArrayInput + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + VpcConfig ClusterVpcConfigPtrInput +} + +func (ClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*clusterArgs)(nil)).Elem() +} + +type ClusterInput interface { + pulumi.Input + + ToClusterOutput() ClusterOutput + ToClusterOutputWithContext(ctx context.Context) ClusterOutput +} + +func (*Cluster) ElementType() reflect.Type { + return reflect.TypeOf((**Cluster)(nil)).Elem() +} + +func (i *Cluster) ToClusterOutput() ClusterOutput { + return i.ToClusterOutputWithContext(context.Background()) +} + +func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOutput) +} + +type ClusterOutput struct{ *pulumi.OutputState } + +func (ClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Cluster)(nil)).Elem() +} + +func (o ClusterOutput) ToClusterOutput() ClusterOutput { + return o +} + +func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { + return o +} + +// The Amazon Resource Name (ARN) of the HyperPod Cluster. +func (o ClusterOutput) ClusterArn() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.ClusterArn }).(pulumi.StringOutput) +} + +// The name of the HyperPod Cluster. +func (o ClusterOutput) ClusterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.ClusterName }).(pulumi.StringPtrOutput) +} + +// The status of the HyperPod Cluster. +func (o ClusterOutput) ClusterStatus() ClusterStatusOutput { + return o.ApplyT(func(v *Cluster) ClusterStatusOutput { return v.ClusterStatus }).(ClusterStatusOutput) +} + +// The time at which the HyperPod cluster was created. +func (o ClusterOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// The failure message of the HyperPod Cluster. +func (o ClusterOutput) FailureMessage() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.FailureMessage }).(pulumi.StringOutput) +} + +func (o ClusterOutput) InstanceGroups() ClusterInstanceGroupArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterInstanceGroupArrayOutput { return v.InstanceGroups }).(ClusterInstanceGroupArrayOutput) +} + +// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. +func (o ClusterOutput) NodeRecovery() ClusterNodeRecoveryPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterNodeRecoveryPtrOutput { return v.NodeRecovery }).(ClusterNodeRecoveryPtrOutput) +} + +func (o ClusterOutput) Orchestrator() ClusterOrchestratorPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterOrchestratorPtrOutput { return v.Orchestrator }).(ClusterOrchestratorPtrOutput) +} + +// Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. +func (o ClusterOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *Cluster) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . +func (o ClusterOutput) VpcConfig() ClusterVpcConfigPtrOutput { + return o.ApplyT(func(v *Cluster) ClusterVpcConfigPtrOutput { return v.VpcConfig }).(ClusterVpcConfigPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInput)(nil)).Elem(), &Cluster{}) + pulumi.RegisterOutputType(ClusterOutput{}) +} diff --git a/sdk/go/aws/sagemaker/getCluster.go b/sdk/go/aws/sagemaker/getCluster.go new file mode 100644 index 0000000000..d3f26b00a7 --- /dev/null +++ b/sdk/go/aws/sagemaker/getCluster.go @@ -0,0 +1,119 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sagemaker + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::SageMaker::Cluster +func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupClusterResult + err := ctx.Invoke("aws-native:sagemaker:getCluster", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupClusterArgs struct { + // The Amazon Resource Name (ARN) of the HyperPod Cluster. + ClusterArn string `pulumi:"clusterArn"` +} + +type LookupClusterResult struct { + // The Amazon Resource Name (ARN) of the HyperPod Cluster. + ClusterArn *string `pulumi:"clusterArn"` + // The status of the HyperPod Cluster. + ClusterStatus *ClusterStatus `pulumi:"clusterStatus"` + // The time at which the HyperPod cluster was created. + CreationTime *string `pulumi:"creationTime"` + // The failure message of the HyperPod Cluster. + FailureMessage *string `pulumi:"failureMessage"` + InstanceGroups []ClusterInstanceGroup `pulumi:"instanceGroups"` + // If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + NodeRecovery *ClusterNodeRecovery `pulumi:"nodeRecovery"` + // Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupClusterResult, error) { + args := v.(LookupClusterArgs) + r, err := LookupCluster(ctx, &args, opts...) + var s LookupClusterResult + if r != nil { + s = *r + } + return s, err + }).(LookupClusterResultOutput) +} + +type LookupClusterOutputArgs struct { + // The Amazon Resource Name (ARN) of the HyperPod Cluster. + ClusterArn pulumi.StringInput `pulumi:"clusterArn"` +} + +func (LookupClusterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupClusterArgs)(nil)).Elem() +} + +type LookupClusterResultOutput struct{ *pulumi.OutputState } + +func (LookupClusterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupClusterResult)(nil)).Elem() +} + +func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput { + return o +} + +func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput { + return o +} + +// The Amazon Resource Name (ARN) of the HyperPod Cluster. +func (o LookupClusterResultOutput) ClusterArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.ClusterArn }).(pulumi.StringPtrOutput) +} + +// The status of the HyperPod Cluster. +func (o LookupClusterResultOutput) ClusterStatus() ClusterStatusPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *ClusterStatus { return v.ClusterStatus }).(ClusterStatusPtrOutput) +} + +// The time at which the HyperPod cluster was created. +func (o LookupClusterResultOutput) CreationTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.CreationTime }).(pulumi.StringPtrOutput) +} + +// The failure message of the HyperPod Cluster. +func (o LookupClusterResultOutput) FailureMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.FailureMessage }).(pulumi.StringPtrOutput) +} + +func (o LookupClusterResultOutput) InstanceGroups() ClusterInstanceGroupArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []ClusterInstanceGroup { return v.InstanceGroups }).(ClusterInstanceGroupArrayOutput) +} + +// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. +func (o LookupClusterResultOutput) NodeRecovery() ClusterNodeRecoveryPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *ClusterNodeRecovery { return v.NodeRecovery }).(ClusterNodeRecoveryPtrOutput) +} + +// Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. +func (o LookupClusterResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupClusterResultOutput{}) +} diff --git a/sdk/go/aws/sagemaker/init.go b/sdk/go/aws/sagemaker/init.go index 1faf610d23..40434549a3 100644 --- a/sdk/go/aws/sagemaker/init.go +++ b/sdk/go/aws/sagemaker/init.go @@ -25,6 +25,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &App{} case "aws-native:sagemaker:AppImageConfig": r = &AppImageConfig{} + case "aws-native:sagemaker:Cluster": + r = &Cluster{} case "aws-native:sagemaker:DataQualityJobDefinition": r = &DataQualityJobDefinition{} case "aws-native:sagemaker:Device": diff --git a/sdk/go/aws/sagemaker/pulumiEnums.go b/sdk/go/aws/sagemaker/pulumiEnums.go index a01f8f8509..24988a6a9c 100644 --- a/sdk/go/aws/sagemaker/pulumiEnums.go +++ b/sdk/go/aws/sagemaker/pulumiEnums.go @@ -470,6 +470,479 @@ func (in *appTypePtr) ToAppTypePtrOutputWithContext(ctx context.Context) AppType return pulumi.ToOutputWithContext(ctx, in).(AppTypePtrOutput) } +// The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group. +type ClusterDeepHealthCheckType string + +const ( + ClusterDeepHealthCheckTypeInstanceStress = ClusterDeepHealthCheckType("InstanceStress") + ClusterDeepHealthCheckTypeInstanceConnectivity = ClusterDeepHealthCheckType("InstanceConnectivity") +) + +func (ClusterDeepHealthCheckType) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterDeepHealthCheckType)(nil)).Elem() +} + +func (e ClusterDeepHealthCheckType) ToClusterDeepHealthCheckTypeOutput() ClusterDeepHealthCheckTypeOutput { + return pulumi.ToOutput(e).(ClusterDeepHealthCheckTypeOutput) +} + +func (e ClusterDeepHealthCheckType) ToClusterDeepHealthCheckTypeOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ClusterDeepHealthCheckTypeOutput) +} + +func (e ClusterDeepHealthCheckType) ToClusterDeepHealthCheckTypePtrOutput() ClusterDeepHealthCheckTypePtrOutput { + return e.ToClusterDeepHealthCheckTypePtrOutputWithContext(context.Background()) +} + +func (e ClusterDeepHealthCheckType) ToClusterDeepHealthCheckTypePtrOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypePtrOutput { + return ClusterDeepHealthCheckType(e).ToClusterDeepHealthCheckTypeOutputWithContext(ctx).ToClusterDeepHealthCheckTypePtrOutputWithContext(ctx) +} + +func (e ClusterDeepHealthCheckType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterDeepHealthCheckType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterDeepHealthCheckType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ClusterDeepHealthCheckType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ClusterDeepHealthCheckTypeOutput struct{ *pulumi.OutputState } + +func (ClusterDeepHealthCheckTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterDeepHealthCheckType)(nil)).Elem() +} + +func (o ClusterDeepHealthCheckTypeOutput) ToClusterDeepHealthCheckTypeOutput() ClusterDeepHealthCheckTypeOutput { + return o +} + +func (o ClusterDeepHealthCheckTypeOutput) ToClusterDeepHealthCheckTypeOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypeOutput { + return o +} + +func (o ClusterDeepHealthCheckTypeOutput) ToClusterDeepHealthCheckTypePtrOutput() ClusterDeepHealthCheckTypePtrOutput { + return o.ToClusterDeepHealthCheckTypePtrOutputWithContext(context.Background()) +} + +func (o ClusterDeepHealthCheckTypeOutput) ToClusterDeepHealthCheckTypePtrOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterDeepHealthCheckType) *ClusterDeepHealthCheckType { + return &v + }).(ClusterDeepHealthCheckTypePtrOutput) +} + +func (o ClusterDeepHealthCheckTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterDeepHealthCheckTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterDeepHealthCheckType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterDeepHealthCheckTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterDeepHealthCheckTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterDeepHealthCheckType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterDeepHealthCheckTypePtrOutput struct{ *pulumi.OutputState } + +func (ClusterDeepHealthCheckTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterDeepHealthCheckType)(nil)).Elem() +} + +func (o ClusterDeepHealthCheckTypePtrOutput) ToClusterDeepHealthCheckTypePtrOutput() ClusterDeepHealthCheckTypePtrOutput { + return o +} + +func (o ClusterDeepHealthCheckTypePtrOutput) ToClusterDeepHealthCheckTypePtrOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypePtrOutput { + return o +} + +func (o ClusterDeepHealthCheckTypePtrOutput) Elem() ClusterDeepHealthCheckTypeOutput { + return o.ApplyT(func(v *ClusterDeepHealthCheckType) ClusterDeepHealthCheckType { + if v != nil { + return *v + } + var ret ClusterDeepHealthCheckType + return ret + }).(ClusterDeepHealthCheckTypeOutput) +} + +func (o ClusterDeepHealthCheckTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterDeepHealthCheckTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterDeepHealthCheckType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ClusterDeepHealthCheckTypeInput is an input type that accepts values of the ClusterDeepHealthCheckType enum +// A concrete instance of `ClusterDeepHealthCheckTypeInput` can be one of the following: +// +// ClusterDeepHealthCheckTypeInstanceStress +// ClusterDeepHealthCheckTypeInstanceConnectivity +type ClusterDeepHealthCheckTypeInput interface { + pulumi.Input + + ToClusterDeepHealthCheckTypeOutput() ClusterDeepHealthCheckTypeOutput + ToClusterDeepHealthCheckTypeOutputWithContext(context.Context) ClusterDeepHealthCheckTypeOutput +} + +var clusterDeepHealthCheckTypePtrType = reflect.TypeOf((**ClusterDeepHealthCheckType)(nil)).Elem() + +type ClusterDeepHealthCheckTypePtrInput interface { + pulumi.Input + + ToClusterDeepHealthCheckTypePtrOutput() ClusterDeepHealthCheckTypePtrOutput + ToClusterDeepHealthCheckTypePtrOutputWithContext(context.Context) ClusterDeepHealthCheckTypePtrOutput +} + +type clusterDeepHealthCheckTypePtr string + +func ClusterDeepHealthCheckTypePtr(v string) ClusterDeepHealthCheckTypePtrInput { + return (*clusterDeepHealthCheckTypePtr)(&v) +} + +func (*clusterDeepHealthCheckTypePtr) ElementType() reflect.Type { + return clusterDeepHealthCheckTypePtrType +} + +func (in *clusterDeepHealthCheckTypePtr) ToClusterDeepHealthCheckTypePtrOutput() ClusterDeepHealthCheckTypePtrOutput { + return pulumi.ToOutput(in).(ClusterDeepHealthCheckTypePtrOutput) +} + +func (in *clusterDeepHealthCheckTypePtr) ToClusterDeepHealthCheckTypePtrOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ClusterDeepHealthCheckTypePtrOutput) +} + +// ClusterDeepHealthCheckTypeArrayInput is an input type that accepts ClusterDeepHealthCheckTypeArray and ClusterDeepHealthCheckTypeArrayOutput values. +// You can construct a concrete instance of `ClusterDeepHealthCheckTypeArrayInput` via: +// +// ClusterDeepHealthCheckTypeArray{ ClusterDeepHealthCheckTypeArgs{...} } +type ClusterDeepHealthCheckTypeArrayInput interface { + pulumi.Input + + ToClusterDeepHealthCheckTypeArrayOutput() ClusterDeepHealthCheckTypeArrayOutput + ToClusterDeepHealthCheckTypeArrayOutputWithContext(context.Context) ClusterDeepHealthCheckTypeArrayOutput +} + +type ClusterDeepHealthCheckTypeArray []ClusterDeepHealthCheckType + +func (ClusterDeepHealthCheckTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterDeepHealthCheckType)(nil)).Elem() +} + +func (i ClusterDeepHealthCheckTypeArray) ToClusterDeepHealthCheckTypeArrayOutput() ClusterDeepHealthCheckTypeArrayOutput { + return i.ToClusterDeepHealthCheckTypeArrayOutputWithContext(context.Background()) +} + +func (i ClusterDeepHealthCheckTypeArray) ToClusterDeepHealthCheckTypeArrayOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterDeepHealthCheckTypeArrayOutput) +} + +type ClusterDeepHealthCheckTypeArrayOutput struct{ *pulumi.OutputState } + +func (ClusterDeepHealthCheckTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterDeepHealthCheckType)(nil)).Elem() +} + +func (o ClusterDeepHealthCheckTypeArrayOutput) ToClusterDeepHealthCheckTypeArrayOutput() ClusterDeepHealthCheckTypeArrayOutput { + return o +} + +func (o ClusterDeepHealthCheckTypeArrayOutput) ToClusterDeepHealthCheckTypeArrayOutputWithContext(ctx context.Context) ClusterDeepHealthCheckTypeArrayOutput { + return o +} + +func (o ClusterDeepHealthCheckTypeArrayOutput) Index(i pulumi.IntInput) ClusterDeepHealthCheckTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterDeepHealthCheckType { + return vs[0].([]ClusterDeepHealthCheckType)[vs[1].(int)] + }).(ClusterDeepHealthCheckTypeOutput) +} + +// If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. +type ClusterNodeRecovery string + +const ( + ClusterNodeRecoveryAutomatic = ClusterNodeRecovery("Automatic") + ClusterNodeRecoveryNone = ClusterNodeRecovery("None") +) + +func (ClusterNodeRecovery) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterNodeRecovery)(nil)).Elem() +} + +func (e ClusterNodeRecovery) ToClusterNodeRecoveryOutput() ClusterNodeRecoveryOutput { + return pulumi.ToOutput(e).(ClusterNodeRecoveryOutput) +} + +func (e ClusterNodeRecovery) ToClusterNodeRecoveryOutputWithContext(ctx context.Context) ClusterNodeRecoveryOutput { + return pulumi.ToOutputWithContext(ctx, e).(ClusterNodeRecoveryOutput) +} + +func (e ClusterNodeRecovery) ToClusterNodeRecoveryPtrOutput() ClusterNodeRecoveryPtrOutput { + return e.ToClusterNodeRecoveryPtrOutputWithContext(context.Background()) +} + +func (e ClusterNodeRecovery) ToClusterNodeRecoveryPtrOutputWithContext(ctx context.Context) ClusterNodeRecoveryPtrOutput { + return ClusterNodeRecovery(e).ToClusterNodeRecoveryOutputWithContext(ctx).ToClusterNodeRecoveryPtrOutputWithContext(ctx) +} + +func (e ClusterNodeRecovery) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterNodeRecovery) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterNodeRecovery) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ClusterNodeRecovery) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ClusterNodeRecoveryOutput struct{ *pulumi.OutputState } + +func (ClusterNodeRecoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterNodeRecovery)(nil)).Elem() +} + +func (o ClusterNodeRecoveryOutput) ToClusterNodeRecoveryOutput() ClusterNodeRecoveryOutput { + return o +} + +func (o ClusterNodeRecoveryOutput) ToClusterNodeRecoveryOutputWithContext(ctx context.Context) ClusterNodeRecoveryOutput { + return o +} + +func (o ClusterNodeRecoveryOutput) ToClusterNodeRecoveryPtrOutput() ClusterNodeRecoveryPtrOutput { + return o.ToClusterNodeRecoveryPtrOutputWithContext(context.Background()) +} + +func (o ClusterNodeRecoveryOutput) ToClusterNodeRecoveryPtrOutputWithContext(ctx context.Context) ClusterNodeRecoveryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterNodeRecovery) *ClusterNodeRecovery { + return &v + }).(ClusterNodeRecoveryPtrOutput) +} + +func (o ClusterNodeRecoveryOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterNodeRecoveryOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterNodeRecovery) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterNodeRecoveryOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterNodeRecoveryOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterNodeRecovery) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterNodeRecoveryPtrOutput struct{ *pulumi.OutputState } + +func (ClusterNodeRecoveryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterNodeRecovery)(nil)).Elem() +} + +func (o ClusterNodeRecoveryPtrOutput) ToClusterNodeRecoveryPtrOutput() ClusterNodeRecoveryPtrOutput { + return o +} + +func (o ClusterNodeRecoveryPtrOutput) ToClusterNodeRecoveryPtrOutputWithContext(ctx context.Context) ClusterNodeRecoveryPtrOutput { + return o +} + +func (o ClusterNodeRecoveryPtrOutput) Elem() ClusterNodeRecoveryOutput { + return o.ApplyT(func(v *ClusterNodeRecovery) ClusterNodeRecovery { + if v != nil { + return *v + } + var ret ClusterNodeRecovery + return ret + }).(ClusterNodeRecoveryOutput) +} + +func (o ClusterNodeRecoveryPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterNodeRecoveryPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterNodeRecovery) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ClusterNodeRecoveryInput is an input type that accepts values of the ClusterNodeRecovery enum +// A concrete instance of `ClusterNodeRecoveryInput` can be one of the following: +// +// ClusterNodeRecoveryAutomatic +// ClusterNodeRecoveryNone +type ClusterNodeRecoveryInput interface { + pulumi.Input + + ToClusterNodeRecoveryOutput() ClusterNodeRecoveryOutput + ToClusterNodeRecoveryOutputWithContext(context.Context) ClusterNodeRecoveryOutput +} + +var clusterNodeRecoveryPtrType = reflect.TypeOf((**ClusterNodeRecovery)(nil)).Elem() + +type ClusterNodeRecoveryPtrInput interface { + pulumi.Input + + ToClusterNodeRecoveryPtrOutput() ClusterNodeRecoveryPtrOutput + ToClusterNodeRecoveryPtrOutputWithContext(context.Context) ClusterNodeRecoveryPtrOutput +} + +type clusterNodeRecoveryPtr string + +func ClusterNodeRecoveryPtr(v string) ClusterNodeRecoveryPtrInput { + return (*clusterNodeRecoveryPtr)(&v) +} + +func (*clusterNodeRecoveryPtr) ElementType() reflect.Type { + return clusterNodeRecoveryPtrType +} + +func (in *clusterNodeRecoveryPtr) ToClusterNodeRecoveryPtrOutput() ClusterNodeRecoveryPtrOutput { + return pulumi.ToOutput(in).(ClusterNodeRecoveryPtrOutput) +} + +func (in *clusterNodeRecoveryPtr) ToClusterNodeRecoveryPtrOutputWithContext(ctx context.Context) ClusterNodeRecoveryPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ClusterNodeRecoveryPtrOutput) +} + +// The status of the HyperPod Cluster. +type ClusterStatus string + +const ( + ClusterStatusCreating = ClusterStatus("Creating") + ClusterStatusDeleting = ClusterStatus("Deleting") + ClusterStatusFailed = ClusterStatus("Failed") + ClusterStatusInService = ClusterStatus("InService") + ClusterStatusRollingBack = ClusterStatus("RollingBack") + ClusterStatusSystemUpdating = ClusterStatus("SystemUpdating") + ClusterStatusUpdating = ClusterStatus("Updating") +) + +type ClusterStatusOutput struct{ *pulumi.OutputState } + +func (ClusterStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStatus)(nil)).Elem() +} + +func (o ClusterStatusOutput) ToClusterStatusOutput() ClusterStatusOutput { + return o +} + +func (o ClusterStatusOutput) ToClusterStatusOutputWithContext(ctx context.Context) ClusterStatusOutput { + return o +} + +func (o ClusterStatusOutput) ToClusterStatusPtrOutput() ClusterStatusPtrOutput { + return o.ToClusterStatusPtrOutputWithContext(context.Background()) +} + +func (o ClusterStatusOutput) ToClusterStatusPtrOutputWithContext(ctx context.Context) ClusterStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterStatus) *ClusterStatus { + return &v + }).(ClusterStatusPtrOutput) +} + +func (o ClusterStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterStatusPtrOutput struct{ *pulumi.OutputState } + +func (ClusterStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStatus)(nil)).Elem() +} + +func (o ClusterStatusPtrOutput) ToClusterStatusPtrOutput() ClusterStatusPtrOutput { + return o +} + +func (o ClusterStatusPtrOutput) ToClusterStatusPtrOutputWithContext(ctx context.Context) ClusterStatusPtrOutput { + return o +} + +func (o ClusterStatusPtrOutput) Elem() ClusterStatusOutput { + return o.ApplyT(func(v *ClusterStatus) ClusterStatus { + if v != nil { + return *v + } + var ret ClusterStatus + return ret + }).(ClusterStatusOutput) +} + +func (o ClusterStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + // Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defauts to FullyReplicated type DataQualityJobDefinitionBatchTransformInputS3DataDistributionType string @@ -2184,22 +2657,189 @@ func (in *domainDockerSettingsEnableDockerAccessPtr) ToDomainDockerSettingsEnabl return pulumi.ToOutputWithContext(ctx, in).(DomainDockerSettingsEnableDockerAccessPtrOutput) } +// A flag to enable/disable AppLifecycleManagement settings +type DomainLifecycleManagement string + +const ( + DomainLifecycleManagementEnabled = DomainLifecycleManagement("ENABLED") + DomainLifecycleManagementDisabled = DomainLifecycleManagement("DISABLED") +) + +func (DomainLifecycleManagement) ElementType() reflect.Type { + return reflect.TypeOf((*DomainLifecycleManagement)(nil)).Elem() +} + +func (e DomainLifecycleManagement) ToDomainLifecycleManagementOutput() DomainLifecycleManagementOutput { + return pulumi.ToOutput(e).(DomainLifecycleManagementOutput) +} + +func (e DomainLifecycleManagement) ToDomainLifecycleManagementOutputWithContext(ctx context.Context) DomainLifecycleManagementOutput { + return pulumi.ToOutputWithContext(ctx, e).(DomainLifecycleManagementOutput) +} + +func (e DomainLifecycleManagement) ToDomainLifecycleManagementPtrOutput() DomainLifecycleManagementPtrOutput { + return e.ToDomainLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (e DomainLifecycleManagement) ToDomainLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainLifecycleManagementPtrOutput { + return DomainLifecycleManagement(e).ToDomainLifecycleManagementOutputWithContext(ctx).ToDomainLifecycleManagementPtrOutputWithContext(ctx) +} + +func (e DomainLifecycleManagement) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DomainLifecycleManagement) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DomainLifecycleManagement) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DomainLifecycleManagement) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DomainLifecycleManagementOutput struct{ *pulumi.OutputState } + +func (DomainLifecycleManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainLifecycleManagement)(nil)).Elem() +} + +func (o DomainLifecycleManagementOutput) ToDomainLifecycleManagementOutput() DomainLifecycleManagementOutput { + return o +} + +func (o DomainLifecycleManagementOutput) ToDomainLifecycleManagementOutputWithContext(ctx context.Context) DomainLifecycleManagementOutput { + return o +} + +func (o DomainLifecycleManagementOutput) ToDomainLifecycleManagementPtrOutput() DomainLifecycleManagementPtrOutput { + return o.ToDomainLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (o DomainLifecycleManagementOutput) ToDomainLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainLifecycleManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainLifecycleManagement) *DomainLifecycleManagement { + return &v + }).(DomainLifecycleManagementPtrOutput) +} + +func (o DomainLifecycleManagementOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DomainLifecycleManagementOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DomainLifecycleManagement) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DomainLifecycleManagementOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DomainLifecycleManagementOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DomainLifecycleManagement) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DomainLifecycleManagementPtrOutput struct{ *pulumi.OutputState } + +func (DomainLifecycleManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainLifecycleManagement)(nil)).Elem() +} + +func (o DomainLifecycleManagementPtrOutput) ToDomainLifecycleManagementPtrOutput() DomainLifecycleManagementPtrOutput { + return o +} + +func (o DomainLifecycleManagementPtrOutput) ToDomainLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainLifecycleManagementPtrOutput { + return o +} + +func (o DomainLifecycleManagementPtrOutput) Elem() DomainLifecycleManagementOutput { + return o.ApplyT(func(v *DomainLifecycleManagement) DomainLifecycleManagement { + if v != nil { + return *v + } + var ret DomainLifecycleManagement + return ret + }).(DomainLifecycleManagementOutput) +} + +func (o DomainLifecycleManagementPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DomainLifecycleManagementPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DomainLifecycleManagement) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DomainLifecycleManagementInput is an input type that accepts values of the DomainLifecycleManagement enum +// A concrete instance of `DomainLifecycleManagementInput` can be one of the following: +// +// DomainLifecycleManagementEnabled +// DomainLifecycleManagementDisabled +type DomainLifecycleManagementInput interface { + pulumi.Input + + ToDomainLifecycleManagementOutput() DomainLifecycleManagementOutput + ToDomainLifecycleManagementOutputWithContext(context.Context) DomainLifecycleManagementOutput +} + +var domainLifecycleManagementPtrType = reflect.TypeOf((**DomainLifecycleManagement)(nil)).Elem() + +type DomainLifecycleManagementPtrInput interface { + pulumi.Input + + ToDomainLifecycleManagementPtrOutput() DomainLifecycleManagementPtrOutput + ToDomainLifecycleManagementPtrOutputWithContext(context.Context) DomainLifecycleManagementPtrOutput +} + +type domainLifecycleManagementPtr string + +func DomainLifecycleManagementPtr(v string) DomainLifecycleManagementPtrInput { + return (*domainLifecycleManagementPtr)(&v) +} + +func (*domainLifecycleManagementPtr) ElementType() reflect.Type { + return domainLifecycleManagementPtrType +} + +func (in *domainLifecycleManagementPtr) ToDomainLifecycleManagementPtrOutput() DomainLifecycleManagementPtrOutput { + return pulumi.ToOutput(in).(DomainLifecycleManagementPtrOutput) +} + +func (in *domainLifecycleManagementPtr) ToDomainLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DomainLifecycleManagementPtrOutput) +} + type DomainMlTools string const ( - DomainMlToolsDataWrangler = DomainMlTools("DataWrangler") - DomainMlToolsFeatureStore = DomainMlTools("FeatureStore") - DomainMlToolsEmrClusters = DomainMlTools("EmrClusters") - DomainMlToolsAutoMl = DomainMlTools("AutoMl") - DomainMlToolsExperiments = DomainMlTools("Experiments") - DomainMlToolsTraining = DomainMlTools("Training") - DomainMlToolsModelEvaluation = DomainMlTools("ModelEvaluation") - DomainMlToolsPipelines = DomainMlTools("Pipelines") - DomainMlToolsModels = DomainMlTools("Models") - DomainMlToolsJumpStart = DomainMlTools("JumpStart") - DomainMlToolsInferenceRecommender = DomainMlTools("InferenceRecommender") - DomainMlToolsEndpoints = DomainMlTools("Endpoints") - DomainMlToolsProjects = DomainMlTools("Projects") + DomainMlToolsDataWrangler = DomainMlTools("DataWrangler") + DomainMlToolsFeatureStore = DomainMlTools("FeatureStore") + DomainMlToolsEmrClusters = DomainMlTools("EmrClusters") + DomainMlToolsAutoMl = DomainMlTools("AutoMl") + DomainMlToolsExperiments = DomainMlTools("Experiments") + DomainMlToolsTraining = DomainMlTools("Training") + DomainMlToolsModelEvaluation = DomainMlTools("ModelEvaluation") + DomainMlToolsPipelines = DomainMlTools("Pipelines") + DomainMlToolsModels = DomainMlTools("Models") + DomainMlToolsJumpStart = DomainMlTools("JumpStart") + DomainMlToolsInferenceRecommender = DomainMlTools("InferenceRecommender") + DomainMlToolsEndpoints = DomainMlTools("Endpoints") + DomainMlToolsProjects = DomainMlTools("Projects") + DomainMlToolsInferenceOptimization = DomainMlTools("InferenceOptimization") ) func (DomainMlTools) ElementType() reflect.Type { @@ -2337,6 +2977,7 @@ func (o DomainMlToolsPtrOutput) ToStringPtrOutputWithContext(ctx context.Context // DomainMlToolsInferenceRecommender // DomainMlToolsEndpoints // DomainMlToolsProjects +// DomainMlToolsInferenceOptimization type DomainMlToolsInput interface { pulumi.Input @@ -14407,22 +15048,189 @@ func (o UserProfileAppTypeArrayOutput) Index(i pulumi.IntInput) UserProfileAppTy }).(UserProfileAppTypeOutput) } +// A flag to enable/disable AppLifecycleManagement settings +type UserProfileLifecycleManagement string + +const ( + UserProfileLifecycleManagementEnabled = UserProfileLifecycleManagement("ENABLED") + UserProfileLifecycleManagementDisabled = UserProfileLifecycleManagement("DISABLED") +) + +func (UserProfileLifecycleManagement) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileLifecycleManagement)(nil)).Elem() +} + +func (e UserProfileLifecycleManagement) ToUserProfileLifecycleManagementOutput() UserProfileLifecycleManagementOutput { + return pulumi.ToOutput(e).(UserProfileLifecycleManagementOutput) +} + +func (e UserProfileLifecycleManagement) ToUserProfileLifecycleManagementOutputWithContext(ctx context.Context) UserProfileLifecycleManagementOutput { + return pulumi.ToOutputWithContext(ctx, e).(UserProfileLifecycleManagementOutput) +} + +func (e UserProfileLifecycleManagement) ToUserProfileLifecycleManagementPtrOutput() UserProfileLifecycleManagementPtrOutput { + return e.ToUserProfileLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (e UserProfileLifecycleManagement) ToUserProfileLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileLifecycleManagementPtrOutput { + return UserProfileLifecycleManagement(e).ToUserProfileLifecycleManagementOutputWithContext(ctx).ToUserProfileLifecycleManagementPtrOutputWithContext(ctx) +} + +func (e UserProfileLifecycleManagement) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserProfileLifecycleManagement) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserProfileLifecycleManagement) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UserProfileLifecycleManagement) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UserProfileLifecycleManagementOutput struct{ *pulumi.OutputState } + +func (UserProfileLifecycleManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileLifecycleManagement)(nil)).Elem() +} + +func (o UserProfileLifecycleManagementOutput) ToUserProfileLifecycleManagementOutput() UserProfileLifecycleManagementOutput { + return o +} + +func (o UserProfileLifecycleManagementOutput) ToUserProfileLifecycleManagementOutputWithContext(ctx context.Context) UserProfileLifecycleManagementOutput { + return o +} + +func (o UserProfileLifecycleManagementOutput) ToUserProfileLifecycleManagementPtrOutput() UserProfileLifecycleManagementPtrOutput { + return o.ToUserProfileLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (o UserProfileLifecycleManagementOutput) ToUserProfileLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileLifecycleManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileLifecycleManagement) *UserProfileLifecycleManagement { + return &v + }).(UserProfileLifecycleManagementPtrOutput) +} + +func (o UserProfileLifecycleManagementOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UserProfileLifecycleManagementOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserProfileLifecycleManagement) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UserProfileLifecycleManagementOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserProfileLifecycleManagementOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserProfileLifecycleManagement) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UserProfileLifecycleManagementPtrOutput struct{ *pulumi.OutputState } + +func (UserProfileLifecycleManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileLifecycleManagement)(nil)).Elem() +} + +func (o UserProfileLifecycleManagementPtrOutput) ToUserProfileLifecycleManagementPtrOutput() UserProfileLifecycleManagementPtrOutput { + return o +} + +func (o UserProfileLifecycleManagementPtrOutput) ToUserProfileLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileLifecycleManagementPtrOutput { + return o +} + +func (o UserProfileLifecycleManagementPtrOutput) Elem() UserProfileLifecycleManagementOutput { + return o.ApplyT(func(v *UserProfileLifecycleManagement) UserProfileLifecycleManagement { + if v != nil { + return *v + } + var ret UserProfileLifecycleManagement + return ret + }).(UserProfileLifecycleManagementOutput) +} + +func (o UserProfileLifecycleManagementPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserProfileLifecycleManagementPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UserProfileLifecycleManagement) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UserProfileLifecycleManagementInput is an input type that accepts values of the UserProfileLifecycleManagement enum +// A concrete instance of `UserProfileLifecycleManagementInput` can be one of the following: +// +// UserProfileLifecycleManagementEnabled +// UserProfileLifecycleManagementDisabled +type UserProfileLifecycleManagementInput interface { + pulumi.Input + + ToUserProfileLifecycleManagementOutput() UserProfileLifecycleManagementOutput + ToUserProfileLifecycleManagementOutputWithContext(context.Context) UserProfileLifecycleManagementOutput +} + +var userProfileLifecycleManagementPtrType = reflect.TypeOf((**UserProfileLifecycleManagement)(nil)).Elem() + +type UserProfileLifecycleManagementPtrInput interface { + pulumi.Input + + ToUserProfileLifecycleManagementPtrOutput() UserProfileLifecycleManagementPtrOutput + ToUserProfileLifecycleManagementPtrOutputWithContext(context.Context) UserProfileLifecycleManagementPtrOutput +} + +type userProfileLifecycleManagementPtr string + +func UserProfileLifecycleManagementPtr(v string) UserProfileLifecycleManagementPtrInput { + return (*userProfileLifecycleManagementPtr)(&v) +} + +func (*userProfileLifecycleManagementPtr) ElementType() reflect.Type { + return userProfileLifecycleManagementPtrType +} + +func (in *userProfileLifecycleManagementPtr) ToUserProfileLifecycleManagementPtrOutput() UserProfileLifecycleManagementPtrOutput { + return pulumi.ToOutput(in).(UserProfileLifecycleManagementPtrOutput) +} + +func (in *userProfileLifecycleManagementPtr) ToUserProfileLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UserProfileLifecycleManagementPtrOutput) +} + type UserProfileMlTools string const ( - UserProfileMlToolsDataWrangler = UserProfileMlTools("DataWrangler") - UserProfileMlToolsFeatureStore = UserProfileMlTools("FeatureStore") - UserProfileMlToolsEmrClusters = UserProfileMlTools("EmrClusters") - UserProfileMlToolsAutoMl = UserProfileMlTools("AutoMl") - UserProfileMlToolsExperiments = UserProfileMlTools("Experiments") - UserProfileMlToolsTraining = UserProfileMlTools("Training") - UserProfileMlToolsModelEvaluation = UserProfileMlTools("ModelEvaluation") - UserProfileMlToolsPipelines = UserProfileMlTools("Pipelines") - UserProfileMlToolsModels = UserProfileMlTools("Models") - UserProfileMlToolsJumpStart = UserProfileMlTools("JumpStart") - UserProfileMlToolsInferenceRecommender = UserProfileMlTools("InferenceRecommender") - UserProfileMlToolsEndpoints = UserProfileMlTools("Endpoints") - UserProfileMlToolsProjects = UserProfileMlTools("Projects") + UserProfileMlToolsDataWrangler = UserProfileMlTools("DataWrangler") + UserProfileMlToolsFeatureStore = UserProfileMlTools("FeatureStore") + UserProfileMlToolsEmrClusters = UserProfileMlTools("EmrClusters") + UserProfileMlToolsAutoMl = UserProfileMlTools("AutoMl") + UserProfileMlToolsExperiments = UserProfileMlTools("Experiments") + UserProfileMlToolsTraining = UserProfileMlTools("Training") + UserProfileMlToolsModelEvaluation = UserProfileMlTools("ModelEvaluation") + UserProfileMlToolsPipelines = UserProfileMlTools("Pipelines") + UserProfileMlToolsModels = UserProfileMlTools("Models") + UserProfileMlToolsJumpStart = UserProfileMlTools("JumpStart") + UserProfileMlToolsInferenceRecommender = UserProfileMlTools("InferenceRecommender") + UserProfileMlToolsEndpoints = UserProfileMlTools("Endpoints") + UserProfileMlToolsProjects = UserProfileMlTools("Projects") + UserProfileMlToolsInferenceOptimization = UserProfileMlTools("InferenceOptimization") ) func (UserProfileMlTools) ElementType() reflect.Type { @@ -14560,6 +15368,7 @@ func (o UserProfileMlToolsPtrOutput) ToStringPtrOutputWithContext(ctx context.Co // UserProfileMlToolsInferenceRecommender // UserProfileMlToolsEndpoints // UserProfileMlToolsProjects +// UserProfileMlToolsInferenceOptimization type UserProfileMlToolsInput interface { pulumi.Input @@ -15596,6 +16405,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppResourceSpecInstanceTypePtrInput)(nil)).Elem(), AppResourceSpecInstanceType("system")) pulumi.RegisterInputType(reflect.TypeOf((*AppTypeInput)(nil)).Elem(), AppType("JupyterServer")) pulumi.RegisterInputType(reflect.TypeOf((*AppTypePtrInput)(nil)).Elem(), AppType("JupyterServer")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterDeepHealthCheckTypeInput)(nil)).Elem(), ClusterDeepHealthCheckType("InstanceStress")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterDeepHealthCheckTypePtrInput)(nil)).Elem(), ClusterDeepHealthCheckType("InstanceStress")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterDeepHealthCheckTypeArrayInput)(nil)).Elem(), ClusterDeepHealthCheckTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterNodeRecoveryInput)(nil)).Elem(), ClusterNodeRecovery("Automatic")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterNodeRecoveryPtrInput)(nil)).Elem(), ClusterNodeRecovery("Automatic")) pulumi.RegisterInputType(reflect.TypeOf((*DataQualityJobDefinitionBatchTransformInputS3DataDistributionTypeInput)(nil)).Elem(), DataQualityJobDefinitionBatchTransformInputS3DataDistributionType("FullyReplicated")) pulumi.RegisterInputType(reflect.TypeOf((*DataQualityJobDefinitionBatchTransformInputS3DataDistributionTypePtrInput)(nil)).Elem(), DataQualityJobDefinitionBatchTransformInputS3DataDistributionType("FullyReplicated")) pulumi.RegisterInputType(reflect.TypeOf((*DataQualityJobDefinitionBatchTransformInputS3InputModeInput)(nil)).Elem(), DataQualityJobDefinitionBatchTransformInputS3InputMode("Pipe")) @@ -15617,6 +16431,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainAuthModePtrInput)(nil)).Elem(), DomainAuthMode("SSO")) pulumi.RegisterInputType(reflect.TypeOf((*DomainDockerSettingsEnableDockerAccessInput)(nil)).Elem(), DomainDockerSettingsEnableDockerAccess("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*DomainDockerSettingsEnableDockerAccessPtrInput)(nil)).Elem(), DomainDockerSettingsEnableDockerAccess("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*DomainLifecycleManagementInput)(nil)).Elem(), DomainLifecycleManagement("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*DomainLifecycleManagementPtrInput)(nil)).Elem(), DomainLifecycleManagement("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*DomainMlToolsInput)(nil)).Elem(), DomainMlTools("DataWrangler")) pulumi.RegisterInputType(reflect.TypeOf((*DomainMlToolsPtrInput)(nil)).Elem(), DomainMlTools("DataWrangler")) pulumi.RegisterInputType(reflect.TypeOf((*DomainMlToolsArrayInput)(nil)).Elem(), DomainMlToolsArray{}) @@ -15753,6 +16569,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*UserProfileAppTypeInput)(nil)).Elem(), UserProfileAppType("JupyterServer")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileAppTypePtrInput)(nil)).Elem(), UserProfileAppType("JupyterServer")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileAppTypeArrayInput)(nil)).Elem(), UserProfileAppTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileLifecycleManagementInput)(nil)).Elem(), UserProfileLifecycleManagement("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileLifecycleManagementPtrInput)(nil)).Elem(), UserProfileLifecycleManagement("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileMlToolsInput)(nil)).Elem(), UserProfileMlTools("DataWrangler")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileMlToolsPtrInput)(nil)).Elem(), UserProfileMlTools("DataWrangler")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileMlToolsArrayInput)(nil)).Elem(), UserProfileMlToolsArray{}) @@ -15770,6 +16588,13 @@ func init() { pulumi.RegisterOutputType(AppResourceSpecInstanceTypePtrOutput{}) pulumi.RegisterOutputType(AppTypeOutput{}) pulumi.RegisterOutputType(AppTypePtrOutput{}) + pulumi.RegisterOutputType(ClusterDeepHealthCheckTypeOutput{}) + pulumi.RegisterOutputType(ClusterDeepHealthCheckTypePtrOutput{}) + pulumi.RegisterOutputType(ClusterDeepHealthCheckTypeArrayOutput{}) + pulumi.RegisterOutputType(ClusterNodeRecoveryOutput{}) + pulumi.RegisterOutputType(ClusterNodeRecoveryPtrOutput{}) + pulumi.RegisterOutputType(ClusterStatusOutput{}) + pulumi.RegisterOutputType(ClusterStatusPtrOutput{}) pulumi.RegisterOutputType(DataQualityJobDefinitionBatchTransformInputS3DataDistributionTypeOutput{}) pulumi.RegisterOutputType(DataQualityJobDefinitionBatchTransformInputS3DataDistributionTypePtrOutput{}) pulumi.RegisterOutputType(DataQualityJobDefinitionBatchTransformInputS3InputModeOutput{}) @@ -15791,6 +16616,8 @@ func init() { pulumi.RegisterOutputType(DomainAuthModePtrOutput{}) pulumi.RegisterOutputType(DomainDockerSettingsEnableDockerAccessOutput{}) pulumi.RegisterOutputType(DomainDockerSettingsEnableDockerAccessPtrOutput{}) + pulumi.RegisterOutputType(DomainLifecycleManagementOutput{}) + pulumi.RegisterOutputType(DomainLifecycleManagementPtrOutput{}) pulumi.RegisterOutputType(DomainMlToolsOutput{}) pulumi.RegisterOutputType(DomainMlToolsPtrOutput{}) pulumi.RegisterOutputType(DomainMlToolsArrayOutput{}) @@ -15941,6 +16768,8 @@ func init() { pulumi.RegisterOutputType(UserProfileAppTypeOutput{}) pulumi.RegisterOutputType(UserProfileAppTypePtrOutput{}) pulumi.RegisterOutputType(UserProfileAppTypeArrayOutput{}) + pulumi.RegisterOutputType(UserProfileLifecycleManagementOutput{}) + pulumi.RegisterOutputType(UserProfileLifecycleManagementPtrOutput{}) pulumi.RegisterOutputType(UserProfileMlToolsOutput{}) pulumi.RegisterOutputType(UserProfileMlToolsPtrOutput{}) pulumi.RegisterOutputType(UserProfileMlToolsArrayOutput{}) diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index a94aa9c3cf..3d83d9d2c5 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -1236,6 +1236,758 @@ type AppTag struct { Value string `pulumi:"value"` } +// Details of an instance group in a SageMaker HyperPod cluster. +type ClusterInstanceGroup struct { + // The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + CurrentCount *int `pulumi:"currentCount"` + ExecutionRole string `pulumi:"executionRole"` + // The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + InstanceCount int `pulumi:"instanceCount"` + InstanceGroupName string `pulumi:"instanceGroupName"` + InstanceStorageConfigs []ClusterInstanceStorageConfig `pulumi:"instanceStorageConfigs"` + InstanceType string `pulumi:"instanceType"` + LifeCycleConfig ClusterLifeCycleConfig `pulumi:"lifeCycleConfig"` + OnStartDeepHealthChecks []ClusterDeepHealthCheckType `pulumi:"onStartDeepHealthChecks"` + // The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + ThreadsPerCore *int `pulumi:"threadsPerCore"` +} + +// ClusterInstanceGroupInput is an input type that accepts ClusterInstanceGroupArgs and ClusterInstanceGroupOutput values. +// You can construct a concrete instance of `ClusterInstanceGroupInput` via: +// +// ClusterInstanceGroupArgs{...} +type ClusterInstanceGroupInput interface { + pulumi.Input + + ToClusterInstanceGroupOutput() ClusterInstanceGroupOutput + ToClusterInstanceGroupOutputWithContext(context.Context) ClusterInstanceGroupOutput +} + +// Details of an instance group in a SageMaker HyperPod cluster. +type ClusterInstanceGroupArgs struct { + // The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + CurrentCount pulumi.IntPtrInput `pulumi:"currentCount"` + ExecutionRole pulumi.StringInput `pulumi:"executionRole"` + // The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + InstanceCount pulumi.IntInput `pulumi:"instanceCount"` + InstanceGroupName pulumi.StringInput `pulumi:"instanceGroupName"` + InstanceStorageConfigs ClusterInstanceStorageConfigArrayInput `pulumi:"instanceStorageConfigs"` + InstanceType pulumi.StringInput `pulumi:"instanceType"` + LifeCycleConfig ClusterLifeCycleConfigInput `pulumi:"lifeCycleConfig"` + OnStartDeepHealthChecks ClusterDeepHealthCheckTypeArrayInput `pulumi:"onStartDeepHealthChecks"` + // The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` +} + +func (ClusterInstanceGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterInstanceGroup)(nil)).Elem() +} + +func (i ClusterInstanceGroupArgs) ToClusterInstanceGroupOutput() ClusterInstanceGroupOutput { + return i.ToClusterInstanceGroupOutputWithContext(context.Background()) +} + +func (i ClusterInstanceGroupArgs) ToClusterInstanceGroupOutputWithContext(ctx context.Context) ClusterInstanceGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceGroupOutput) +} + +// ClusterInstanceGroupArrayInput is an input type that accepts ClusterInstanceGroupArray and ClusterInstanceGroupArrayOutput values. +// You can construct a concrete instance of `ClusterInstanceGroupArrayInput` via: +// +// ClusterInstanceGroupArray{ ClusterInstanceGroupArgs{...} } +type ClusterInstanceGroupArrayInput interface { + pulumi.Input + + ToClusterInstanceGroupArrayOutput() ClusterInstanceGroupArrayOutput + ToClusterInstanceGroupArrayOutputWithContext(context.Context) ClusterInstanceGroupArrayOutput +} + +type ClusterInstanceGroupArray []ClusterInstanceGroupInput + +func (ClusterInstanceGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterInstanceGroup)(nil)).Elem() +} + +func (i ClusterInstanceGroupArray) ToClusterInstanceGroupArrayOutput() ClusterInstanceGroupArrayOutput { + return i.ToClusterInstanceGroupArrayOutputWithContext(context.Background()) +} + +func (i ClusterInstanceGroupArray) ToClusterInstanceGroupArrayOutputWithContext(ctx context.Context) ClusterInstanceGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceGroupArrayOutput) +} + +// Details of an instance group in a SageMaker HyperPod cluster. +type ClusterInstanceGroupOutput struct{ *pulumi.OutputState } + +func (ClusterInstanceGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterInstanceGroup)(nil)).Elem() +} + +func (o ClusterInstanceGroupOutput) ToClusterInstanceGroupOutput() ClusterInstanceGroupOutput { + return o +} + +func (o ClusterInstanceGroupOutput) ToClusterInstanceGroupOutputWithContext(ctx context.Context) ClusterInstanceGroupOutput { + return o +} + +// The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. +func (o ClusterInstanceGroupOutput) CurrentCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterInstanceGroup) *int { return v.CurrentCount }).(pulumi.IntPtrOutput) +} + +func (o ClusterInstanceGroupOutput) ExecutionRole() pulumi.StringOutput { + return o.ApplyT(func(v ClusterInstanceGroup) string { return v.ExecutionRole }).(pulumi.StringOutput) +} + +// The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. +func (o ClusterInstanceGroupOutput) InstanceCount() pulumi.IntOutput { + return o.ApplyT(func(v ClusterInstanceGroup) int { return v.InstanceCount }).(pulumi.IntOutput) +} + +func (o ClusterInstanceGroupOutput) InstanceGroupName() pulumi.StringOutput { + return o.ApplyT(func(v ClusterInstanceGroup) string { return v.InstanceGroupName }).(pulumi.StringOutput) +} + +func (o ClusterInstanceGroupOutput) InstanceStorageConfigs() ClusterInstanceStorageConfigArrayOutput { + return o.ApplyT(func(v ClusterInstanceGroup) []ClusterInstanceStorageConfig { return v.InstanceStorageConfigs }).(ClusterInstanceStorageConfigArrayOutput) +} + +func (o ClusterInstanceGroupOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v ClusterInstanceGroup) string { return v.InstanceType }).(pulumi.StringOutput) +} + +func (o ClusterInstanceGroupOutput) LifeCycleConfig() ClusterLifeCycleConfigOutput { + return o.ApplyT(func(v ClusterInstanceGroup) ClusterLifeCycleConfig { return v.LifeCycleConfig }).(ClusterLifeCycleConfigOutput) +} + +func (o ClusterInstanceGroupOutput) OnStartDeepHealthChecks() ClusterDeepHealthCheckTypeArrayOutput { + return o.ApplyT(func(v ClusterInstanceGroup) []ClusterDeepHealthCheckType { return v.OnStartDeepHealthChecks }).(ClusterDeepHealthCheckTypeArrayOutput) +} + +// The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. +func (o ClusterInstanceGroupOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterInstanceGroup) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +} + +type ClusterInstanceGroupArrayOutput struct{ *pulumi.OutputState } + +func (ClusterInstanceGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterInstanceGroup)(nil)).Elem() +} + +func (o ClusterInstanceGroupArrayOutput) ToClusterInstanceGroupArrayOutput() ClusterInstanceGroupArrayOutput { + return o +} + +func (o ClusterInstanceGroupArrayOutput) ToClusterInstanceGroupArrayOutputWithContext(ctx context.Context) ClusterInstanceGroupArrayOutput { + return o +} + +func (o ClusterInstanceGroupArrayOutput) Index(i pulumi.IntInput) ClusterInstanceGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterInstanceGroup { + return vs[0].([]ClusterInstanceGroup)[vs[1].(int)] + }).(ClusterInstanceGroupOutput) +} + +// Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. +type ClusterInstanceStorageConfig struct { +} + +// ClusterInstanceStorageConfigInput is an input type that accepts ClusterInstanceStorageConfigArgs and ClusterInstanceStorageConfigOutput values. +// You can construct a concrete instance of `ClusterInstanceStorageConfigInput` via: +// +// ClusterInstanceStorageConfigArgs{...} +type ClusterInstanceStorageConfigInput interface { + pulumi.Input + + ToClusterInstanceStorageConfigOutput() ClusterInstanceStorageConfigOutput + ToClusterInstanceStorageConfigOutputWithContext(context.Context) ClusterInstanceStorageConfigOutput +} + +// Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. +type ClusterInstanceStorageConfigArgs struct { +} + +func (ClusterInstanceStorageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterInstanceStorageConfig)(nil)).Elem() +} + +func (i ClusterInstanceStorageConfigArgs) ToClusterInstanceStorageConfigOutput() ClusterInstanceStorageConfigOutput { + return i.ToClusterInstanceStorageConfigOutputWithContext(context.Background()) +} + +func (i ClusterInstanceStorageConfigArgs) ToClusterInstanceStorageConfigOutputWithContext(ctx context.Context) ClusterInstanceStorageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceStorageConfigOutput) +} + +// ClusterInstanceStorageConfigArrayInput is an input type that accepts ClusterInstanceStorageConfigArray and ClusterInstanceStorageConfigArrayOutput values. +// You can construct a concrete instance of `ClusterInstanceStorageConfigArrayInput` via: +// +// ClusterInstanceStorageConfigArray{ ClusterInstanceStorageConfigArgs{...} } +type ClusterInstanceStorageConfigArrayInput interface { + pulumi.Input + + ToClusterInstanceStorageConfigArrayOutput() ClusterInstanceStorageConfigArrayOutput + ToClusterInstanceStorageConfigArrayOutputWithContext(context.Context) ClusterInstanceStorageConfigArrayOutput +} + +type ClusterInstanceStorageConfigArray []ClusterInstanceStorageConfigInput + +func (ClusterInstanceStorageConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterInstanceStorageConfig)(nil)).Elem() +} + +func (i ClusterInstanceStorageConfigArray) ToClusterInstanceStorageConfigArrayOutput() ClusterInstanceStorageConfigArrayOutput { + return i.ToClusterInstanceStorageConfigArrayOutputWithContext(context.Background()) +} + +func (i ClusterInstanceStorageConfigArray) ToClusterInstanceStorageConfigArrayOutputWithContext(ctx context.Context) ClusterInstanceStorageConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterInstanceStorageConfigArrayOutput) +} + +// Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. +type ClusterInstanceStorageConfigOutput struct{ *pulumi.OutputState } + +func (ClusterInstanceStorageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterInstanceStorageConfig)(nil)).Elem() +} + +func (o ClusterInstanceStorageConfigOutput) ToClusterInstanceStorageConfigOutput() ClusterInstanceStorageConfigOutput { + return o +} + +func (o ClusterInstanceStorageConfigOutput) ToClusterInstanceStorageConfigOutputWithContext(ctx context.Context) ClusterInstanceStorageConfigOutput { + return o +} + +type ClusterInstanceStorageConfigArrayOutput struct{ *pulumi.OutputState } + +func (ClusterInstanceStorageConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterInstanceStorageConfig)(nil)).Elem() +} + +func (o ClusterInstanceStorageConfigArrayOutput) ToClusterInstanceStorageConfigArrayOutput() ClusterInstanceStorageConfigArrayOutput { + return o +} + +func (o ClusterInstanceStorageConfigArrayOutput) ToClusterInstanceStorageConfigArrayOutputWithContext(ctx context.Context) ClusterInstanceStorageConfigArrayOutput { + return o +} + +func (o ClusterInstanceStorageConfigArrayOutput) Index(i pulumi.IntInput) ClusterInstanceStorageConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterInstanceStorageConfig { + return vs[0].([]ClusterInstanceStorageConfig)[vs[1].(int)] + }).(ClusterInstanceStorageConfigOutput) +} + +// The lifecycle configuration for a SageMaker HyperPod cluster. +type ClusterLifeCycleConfig struct { + // The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + OnCreate string `pulumi:"onCreate"` + // An Amazon S3 bucket path where your lifecycle scripts are stored. + SourceS3Uri string `pulumi:"sourceS3Uri"` +} + +// ClusterLifeCycleConfigInput is an input type that accepts ClusterLifeCycleConfigArgs and ClusterLifeCycleConfigOutput values. +// You can construct a concrete instance of `ClusterLifeCycleConfigInput` via: +// +// ClusterLifeCycleConfigArgs{...} +type ClusterLifeCycleConfigInput interface { + pulumi.Input + + ToClusterLifeCycleConfigOutput() ClusterLifeCycleConfigOutput + ToClusterLifeCycleConfigOutputWithContext(context.Context) ClusterLifeCycleConfigOutput +} + +// The lifecycle configuration for a SageMaker HyperPod cluster. +type ClusterLifeCycleConfigArgs struct { + // The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + OnCreate pulumi.StringInput `pulumi:"onCreate"` + // An Amazon S3 bucket path where your lifecycle scripts are stored. + SourceS3Uri pulumi.StringInput `pulumi:"sourceS3Uri"` +} + +func (ClusterLifeCycleConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterLifeCycleConfig)(nil)).Elem() +} + +func (i ClusterLifeCycleConfigArgs) ToClusterLifeCycleConfigOutput() ClusterLifeCycleConfigOutput { + return i.ToClusterLifeCycleConfigOutputWithContext(context.Background()) +} + +func (i ClusterLifeCycleConfigArgs) ToClusterLifeCycleConfigOutputWithContext(ctx context.Context) ClusterLifeCycleConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterLifeCycleConfigOutput) +} + +// The lifecycle configuration for a SageMaker HyperPod cluster. +type ClusterLifeCycleConfigOutput struct{ *pulumi.OutputState } + +func (ClusterLifeCycleConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterLifeCycleConfig)(nil)).Elem() +} + +func (o ClusterLifeCycleConfigOutput) ToClusterLifeCycleConfigOutput() ClusterLifeCycleConfigOutput { + return o +} + +func (o ClusterLifeCycleConfigOutput) ToClusterLifeCycleConfigOutputWithContext(ctx context.Context) ClusterLifeCycleConfigOutput { + return o +} + +// The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. +func (o ClusterLifeCycleConfigOutput) OnCreate() pulumi.StringOutput { + return o.ApplyT(func(v ClusterLifeCycleConfig) string { return v.OnCreate }).(pulumi.StringOutput) +} + +// An Amazon S3 bucket path where your lifecycle scripts are stored. +func (o ClusterLifeCycleConfigOutput) SourceS3Uri() pulumi.StringOutput { + return o.ApplyT(func(v ClusterLifeCycleConfig) string { return v.SourceS3Uri }).(pulumi.StringOutput) +} + +// Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. +type ClusterOrchestrator struct { + Eks ClusterOrchestratorEksConfig `pulumi:"eks"` +} + +// ClusterOrchestratorInput is an input type that accepts ClusterOrchestratorArgs and ClusterOrchestratorOutput values. +// You can construct a concrete instance of `ClusterOrchestratorInput` via: +// +// ClusterOrchestratorArgs{...} +type ClusterOrchestratorInput interface { + pulumi.Input + + ToClusterOrchestratorOutput() ClusterOrchestratorOutput + ToClusterOrchestratorOutputWithContext(context.Context) ClusterOrchestratorOutput +} + +// Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. +type ClusterOrchestratorArgs struct { + Eks ClusterOrchestratorEksConfigInput `pulumi:"eks"` +} + +func (ClusterOrchestratorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterOrchestrator)(nil)).Elem() +} + +func (i ClusterOrchestratorArgs) ToClusterOrchestratorOutput() ClusterOrchestratorOutput { + return i.ToClusterOrchestratorOutputWithContext(context.Background()) +} + +func (i ClusterOrchestratorArgs) ToClusterOrchestratorOutputWithContext(ctx context.Context) ClusterOrchestratorOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOrchestratorOutput) +} + +func (i ClusterOrchestratorArgs) ToClusterOrchestratorPtrOutput() ClusterOrchestratorPtrOutput { + return i.ToClusterOrchestratorPtrOutputWithContext(context.Background()) +} + +func (i ClusterOrchestratorArgs) ToClusterOrchestratorPtrOutputWithContext(ctx context.Context) ClusterOrchestratorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOrchestratorOutput).ToClusterOrchestratorPtrOutputWithContext(ctx) +} + +// ClusterOrchestratorPtrInput is an input type that accepts ClusterOrchestratorArgs, ClusterOrchestratorPtr and ClusterOrchestratorPtrOutput values. +// You can construct a concrete instance of `ClusterOrchestratorPtrInput` via: +// +// ClusterOrchestratorArgs{...} +// +// or: +// +// nil +type ClusterOrchestratorPtrInput interface { + pulumi.Input + + ToClusterOrchestratorPtrOutput() ClusterOrchestratorPtrOutput + ToClusterOrchestratorPtrOutputWithContext(context.Context) ClusterOrchestratorPtrOutput +} + +type clusterOrchestratorPtrType ClusterOrchestratorArgs + +func ClusterOrchestratorPtr(v *ClusterOrchestratorArgs) ClusterOrchestratorPtrInput { + return (*clusterOrchestratorPtrType)(v) +} + +func (*clusterOrchestratorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterOrchestrator)(nil)).Elem() +} + +func (i *clusterOrchestratorPtrType) ToClusterOrchestratorPtrOutput() ClusterOrchestratorPtrOutput { + return i.ToClusterOrchestratorPtrOutputWithContext(context.Background()) +} + +func (i *clusterOrchestratorPtrType) ToClusterOrchestratorPtrOutputWithContext(ctx context.Context) ClusterOrchestratorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOrchestratorPtrOutput) +} + +// Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. +type ClusterOrchestratorOutput struct{ *pulumi.OutputState } + +func (ClusterOrchestratorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterOrchestrator)(nil)).Elem() +} + +func (o ClusterOrchestratorOutput) ToClusterOrchestratorOutput() ClusterOrchestratorOutput { + return o +} + +func (o ClusterOrchestratorOutput) ToClusterOrchestratorOutputWithContext(ctx context.Context) ClusterOrchestratorOutput { + return o +} + +func (o ClusterOrchestratorOutput) ToClusterOrchestratorPtrOutput() ClusterOrchestratorPtrOutput { + return o.ToClusterOrchestratorPtrOutputWithContext(context.Background()) +} + +func (o ClusterOrchestratorOutput) ToClusterOrchestratorPtrOutputWithContext(ctx context.Context) ClusterOrchestratorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterOrchestrator) *ClusterOrchestrator { + return &v + }).(ClusterOrchestratorPtrOutput) +} + +func (o ClusterOrchestratorOutput) Eks() ClusterOrchestratorEksConfigOutput { + return o.ApplyT(func(v ClusterOrchestrator) ClusterOrchestratorEksConfig { return v.Eks }).(ClusterOrchestratorEksConfigOutput) +} + +type ClusterOrchestratorPtrOutput struct{ *pulumi.OutputState } + +func (ClusterOrchestratorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterOrchestrator)(nil)).Elem() +} + +func (o ClusterOrchestratorPtrOutput) ToClusterOrchestratorPtrOutput() ClusterOrchestratorPtrOutput { + return o +} + +func (o ClusterOrchestratorPtrOutput) ToClusterOrchestratorPtrOutputWithContext(ctx context.Context) ClusterOrchestratorPtrOutput { + return o +} + +func (o ClusterOrchestratorPtrOutput) Elem() ClusterOrchestratorOutput { + return o.ApplyT(func(v *ClusterOrchestrator) ClusterOrchestrator { + if v != nil { + return *v + } + var ret ClusterOrchestrator + return ret + }).(ClusterOrchestratorOutput) +} + +func (o ClusterOrchestratorPtrOutput) Eks() ClusterOrchestratorEksConfigPtrOutput { + return o.ApplyT(func(v *ClusterOrchestrator) *ClusterOrchestratorEksConfig { + if v == nil { + return nil + } + return &v.Eks + }).(ClusterOrchestratorEksConfigPtrOutput) +} + +// Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, +type ClusterOrchestratorEksConfig struct { + // The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + ClusterArn string `pulumi:"clusterArn"` +} + +// ClusterOrchestratorEksConfigInput is an input type that accepts ClusterOrchestratorEksConfigArgs and ClusterOrchestratorEksConfigOutput values. +// You can construct a concrete instance of `ClusterOrchestratorEksConfigInput` via: +// +// ClusterOrchestratorEksConfigArgs{...} +type ClusterOrchestratorEksConfigInput interface { + pulumi.Input + + ToClusterOrchestratorEksConfigOutput() ClusterOrchestratorEksConfigOutput + ToClusterOrchestratorEksConfigOutputWithContext(context.Context) ClusterOrchestratorEksConfigOutput +} + +// Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, +type ClusterOrchestratorEksConfigArgs struct { + // The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + ClusterArn pulumi.StringInput `pulumi:"clusterArn"` +} + +func (ClusterOrchestratorEksConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterOrchestratorEksConfig)(nil)).Elem() +} + +func (i ClusterOrchestratorEksConfigArgs) ToClusterOrchestratorEksConfigOutput() ClusterOrchestratorEksConfigOutput { + return i.ToClusterOrchestratorEksConfigOutputWithContext(context.Background()) +} + +func (i ClusterOrchestratorEksConfigArgs) ToClusterOrchestratorEksConfigOutputWithContext(ctx context.Context) ClusterOrchestratorEksConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOrchestratorEksConfigOutput) +} + +func (i ClusterOrchestratorEksConfigArgs) ToClusterOrchestratorEksConfigPtrOutput() ClusterOrchestratorEksConfigPtrOutput { + return i.ToClusterOrchestratorEksConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterOrchestratorEksConfigArgs) ToClusterOrchestratorEksConfigPtrOutputWithContext(ctx context.Context) ClusterOrchestratorEksConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOrchestratorEksConfigOutput).ToClusterOrchestratorEksConfigPtrOutputWithContext(ctx) +} + +// ClusterOrchestratorEksConfigPtrInput is an input type that accepts ClusterOrchestratorEksConfigArgs, ClusterOrchestratorEksConfigPtr and ClusterOrchestratorEksConfigPtrOutput values. +// You can construct a concrete instance of `ClusterOrchestratorEksConfigPtrInput` via: +// +// ClusterOrchestratorEksConfigArgs{...} +// +// or: +// +// nil +type ClusterOrchestratorEksConfigPtrInput interface { + pulumi.Input + + ToClusterOrchestratorEksConfigPtrOutput() ClusterOrchestratorEksConfigPtrOutput + ToClusterOrchestratorEksConfigPtrOutputWithContext(context.Context) ClusterOrchestratorEksConfigPtrOutput +} + +type clusterOrchestratorEksConfigPtrType ClusterOrchestratorEksConfigArgs + +func ClusterOrchestratorEksConfigPtr(v *ClusterOrchestratorEksConfigArgs) ClusterOrchestratorEksConfigPtrInput { + return (*clusterOrchestratorEksConfigPtrType)(v) +} + +func (*clusterOrchestratorEksConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterOrchestratorEksConfig)(nil)).Elem() +} + +func (i *clusterOrchestratorEksConfigPtrType) ToClusterOrchestratorEksConfigPtrOutput() ClusterOrchestratorEksConfigPtrOutput { + return i.ToClusterOrchestratorEksConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterOrchestratorEksConfigPtrType) ToClusterOrchestratorEksConfigPtrOutputWithContext(ctx context.Context) ClusterOrchestratorEksConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOrchestratorEksConfigPtrOutput) +} + +// Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, +type ClusterOrchestratorEksConfigOutput struct{ *pulumi.OutputState } + +func (ClusterOrchestratorEksConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterOrchestratorEksConfig)(nil)).Elem() +} + +func (o ClusterOrchestratorEksConfigOutput) ToClusterOrchestratorEksConfigOutput() ClusterOrchestratorEksConfigOutput { + return o +} + +func (o ClusterOrchestratorEksConfigOutput) ToClusterOrchestratorEksConfigOutputWithContext(ctx context.Context) ClusterOrchestratorEksConfigOutput { + return o +} + +func (o ClusterOrchestratorEksConfigOutput) ToClusterOrchestratorEksConfigPtrOutput() ClusterOrchestratorEksConfigPtrOutput { + return o.ToClusterOrchestratorEksConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterOrchestratorEksConfigOutput) ToClusterOrchestratorEksConfigPtrOutputWithContext(ctx context.Context) ClusterOrchestratorEksConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterOrchestratorEksConfig) *ClusterOrchestratorEksConfig { + return &v + }).(ClusterOrchestratorEksConfigPtrOutput) +} + +// The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster +func (o ClusterOrchestratorEksConfigOutput) ClusterArn() pulumi.StringOutput { + return o.ApplyT(func(v ClusterOrchestratorEksConfig) string { return v.ClusterArn }).(pulumi.StringOutput) +} + +type ClusterOrchestratorEksConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterOrchestratorEksConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterOrchestratorEksConfig)(nil)).Elem() +} + +func (o ClusterOrchestratorEksConfigPtrOutput) ToClusterOrchestratorEksConfigPtrOutput() ClusterOrchestratorEksConfigPtrOutput { + return o +} + +func (o ClusterOrchestratorEksConfigPtrOutput) ToClusterOrchestratorEksConfigPtrOutputWithContext(ctx context.Context) ClusterOrchestratorEksConfigPtrOutput { + return o +} + +func (o ClusterOrchestratorEksConfigPtrOutput) Elem() ClusterOrchestratorEksConfigOutput { + return o.ApplyT(func(v *ClusterOrchestratorEksConfig) ClusterOrchestratorEksConfig { + if v != nil { + return *v + } + var ret ClusterOrchestratorEksConfig + return ret + }).(ClusterOrchestratorEksConfigOutput) +} + +// The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster +func (o ClusterOrchestratorEksConfigPtrOutput) ClusterArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterOrchestratorEksConfig) *string { + if v == nil { + return nil + } + return &v.ClusterArn + }).(pulumi.StringPtrOutput) +} + +// A key-value pair to associate with a resource. +type ClusterTag struct { + // The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. + Key string `pulumi:"key"` + // The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. + Value string `pulumi:"value"` +} + +// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. +type ClusterVpcConfig struct { + // The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // The ID of the subnets in the VPC to which you want to connect your training job or model. + Subnets []string `pulumi:"subnets"` +} + +// ClusterVpcConfigInput is an input type that accepts ClusterVpcConfigArgs and ClusterVpcConfigOutput values. +// You can construct a concrete instance of `ClusterVpcConfigInput` via: +// +// ClusterVpcConfigArgs{...} +type ClusterVpcConfigInput interface { + pulumi.Input + + ToClusterVpcConfigOutput() ClusterVpcConfigOutput + ToClusterVpcConfigOutputWithContext(context.Context) ClusterVpcConfigOutput +} + +// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. +type ClusterVpcConfigArgs struct { + // The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // The ID of the subnets in the VPC to which you want to connect your training job or model. + Subnets pulumi.StringArrayInput `pulumi:"subnets"` +} + +func (ClusterVpcConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterVpcConfig)(nil)).Elem() +} + +func (i ClusterVpcConfigArgs) ToClusterVpcConfigOutput() ClusterVpcConfigOutput { + return i.ToClusterVpcConfigOutputWithContext(context.Background()) +} + +func (i ClusterVpcConfigArgs) ToClusterVpcConfigOutputWithContext(ctx context.Context) ClusterVpcConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigOutput) +} + +func (i ClusterVpcConfigArgs) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return i.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterVpcConfigArgs) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigOutput).ToClusterVpcConfigPtrOutputWithContext(ctx) +} + +// ClusterVpcConfigPtrInput is an input type that accepts ClusterVpcConfigArgs, ClusterVpcConfigPtr and ClusterVpcConfigPtrOutput values. +// You can construct a concrete instance of `ClusterVpcConfigPtrInput` via: +// +// ClusterVpcConfigArgs{...} +// +// or: +// +// nil +type ClusterVpcConfigPtrInput interface { + pulumi.Input + + ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput + ToClusterVpcConfigPtrOutputWithContext(context.Context) ClusterVpcConfigPtrOutput +} + +type clusterVpcConfigPtrType ClusterVpcConfigArgs + +func ClusterVpcConfigPtr(v *ClusterVpcConfigArgs) ClusterVpcConfigPtrInput { + return (*clusterVpcConfigPtrType)(v) +} + +func (*clusterVpcConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterVpcConfig)(nil)).Elem() +} + +func (i *clusterVpcConfigPtrType) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return i.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterVpcConfigPtrType) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterVpcConfigPtrOutput) +} + +// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. +type ClusterVpcConfigOutput struct{ *pulumi.OutputState } + +func (ClusterVpcConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterVpcConfig)(nil)).Elem() +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigOutput() ClusterVpcConfigOutput { + return o +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigOutputWithContext(ctx context.Context) ClusterVpcConfigOutput { + return o +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return o.ToClusterVpcConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterVpcConfigOutput) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterVpcConfig) *ClusterVpcConfig { + return &v + }).(ClusterVpcConfigPtrOutput) +} + +// The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. +func (o ClusterVpcConfigOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterVpcConfig) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// The ID of the subnets in the VPC to which you want to connect your training job or model. +func (o ClusterVpcConfigOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterVpcConfig) []string { return v.Subnets }).(pulumi.StringArrayOutput) +} + +type ClusterVpcConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterVpcConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterVpcConfig)(nil)).Elem() +} + +func (o ClusterVpcConfigPtrOutput) ToClusterVpcConfigPtrOutput() ClusterVpcConfigPtrOutput { + return o +} + +func (o ClusterVpcConfigPtrOutput) ToClusterVpcConfigPtrOutputWithContext(ctx context.Context) ClusterVpcConfigPtrOutput { + return o +} + +func (o ClusterVpcConfigPtrOutput) Elem() ClusterVpcConfigOutput { + return o.ApplyT(func(v *ClusterVpcConfig) ClusterVpcConfig { + if v != nil { + return *v + } + var ret ClusterVpcConfig + return ret + }).(ClusterVpcConfigOutput) +} + +// The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. +func (o ClusterVpcConfigPtrOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterVpcConfig) []string { + if v == nil { + return nil + } + return v.SecurityGroupIds + }).(pulumi.StringArrayOutput) +} + +// The ID of the subnets in the VPC to which you want to connect your training job or model. +func (o ClusterVpcConfigPtrOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterVpcConfig) []string { + if v == nil { + return nil + } + return v.Subnets + }).(pulumi.StringArrayOutput) +} + // The batch transform input for a monitoring job. type DataQualityJobDefinitionBatchTransformInput struct { // A URI that identifies the Amazon S3 storage location where Batch Transform Job captures data. @@ -3940,8 +4692,142 @@ type DeviceTag struct { Value string `pulumi:"value"` } +type DomainAppLifecycleManagement struct { + IdleSettings *DomainIdleSettings `pulumi:"idleSettings"` +} + +// DomainAppLifecycleManagementInput is an input type that accepts DomainAppLifecycleManagementArgs and DomainAppLifecycleManagementOutput values. +// You can construct a concrete instance of `DomainAppLifecycleManagementInput` via: +// +// DomainAppLifecycleManagementArgs{...} +type DomainAppLifecycleManagementInput interface { + pulumi.Input + + ToDomainAppLifecycleManagementOutput() DomainAppLifecycleManagementOutput + ToDomainAppLifecycleManagementOutputWithContext(context.Context) DomainAppLifecycleManagementOutput +} + +type DomainAppLifecycleManagementArgs struct { + IdleSettings DomainIdleSettingsPtrInput `pulumi:"idleSettings"` +} + +func (DomainAppLifecycleManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainAppLifecycleManagement)(nil)).Elem() +} + +func (i DomainAppLifecycleManagementArgs) ToDomainAppLifecycleManagementOutput() DomainAppLifecycleManagementOutput { + return i.ToDomainAppLifecycleManagementOutputWithContext(context.Background()) +} + +func (i DomainAppLifecycleManagementArgs) ToDomainAppLifecycleManagementOutputWithContext(ctx context.Context) DomainAppLifecycleManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainAppLifecycleManagementOutput) +} + +func (i DomainAppLifecycleManagementArgs) ToDomainAppLifecycleManagementPtrOutput() DomainAppLifecycleManagementPtrOutput { + return i.ToDomainAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (i DomainAppLifecycleManagementArgs) ToDomainAppLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainAppLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainAppLifecycleManagementOutput).ToDomainAppLifecycleManagementPtrOutputWithContext(ctx) +} + +// DomainAppLifecycleManagementPtrInput is an input type that accepts DomainAppLifecycleManagementArgs, DomainAppLifecycleManagementPtr and DomainAppLifecycleManagementPtrOutput values. +// You can construct a concrete instance of `DomainAppLifecycleManagementPtrInput` via: +// +// DomainAppLifecycleManagementArgs{...} +// +// or: +// +// nil +type DomainAppLifecycleManagementPtrInput interface { + pulumi.Input + + ToDomainAppLifecycleManagementPtrOutput() DomainAppLifecycleManagementPtrOutput + ToDomainAppLifecycleManagementPtrOutputWithContext(context.Context) DomainAppLifecycleManagementPtrOutput +} + +type domainAppLifecycleManagementPtrType DomainAppLifecycleManagementArgs + +func DomainAppLifecycleManagementPtr(v *DomainAppLifecycleManagementArgs) DomainAppLifecycleManagementPtrInput { + return (*domainAppLifecycleManagementPtrType)(v) +} + +func (*domainAppLifecycleManagementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainAppLifecycleManagement)(nil)).Elem() +} + +func (i *domainAppLifecycleManagementPtrType) ToDomainAppLifecycleManagementPtrOutput() DomainAppLifecycleManagementPtrOutput { + return i.ToDomainAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (i *domainAppLifecycleManagementPtrType) ToDomainAppLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainAppLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainAppLifecycleManagementPtrOutput) +} + +type DomainAppLifecycleManagementOutput struct{ *pulumi.OutputState } + +func (DomainAppLifecycleManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainAppLifecycleManagement)(nil)).Elem() +} + +func (o DomainAppLifecycleManagementOutput) ToDomainAppLifecycleManagementOutput() DomainAppLifecycleManagementOutput { + return o +} + +func (o DomainAppLifecycleManagementOutput) ToDomainAppLifecycleManagementOutputWithContext(ctx context.Context) DomainAppLifecycleManagementOutput { + return o +} + +func (o DomainAppLifecycleManagementOutput) ToDomainAppLifecycleManagementPtrOutput() DomainAppLifecycleManagementPtrOutput { + return o.ToDomainAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (o DomainAppLifecycleManagementOutput) ToDomainAppLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainAppLifecycleManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainAppLifecycleManagement) *DomainAppLifecycleManagement { + return &v + }).(DomainAppLifecycleManagementPtrOutput) +} + +func (o DomainAppLifecycleManagementOutput) IdleSettings() DomainIdleSettingsPtrOutput { + return o.ApplyT(func(v DomainAppLifecycleManagement) *DomainIdleSettings { return v.IdleSettings }).(DomainIdleSettingsPtrOutput) +} + +type DomainAppLifecycleManagementPtrOutput struct{ *pulumi.OutputState } + +func (DomainAppLifecycleManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainAppLifecycleManagement)(nil)).Elem() +} + +func (o DomainAppLifecycleManagementPtrOutput) ToDomainAppLifecycleManagementPtrOutput() DomainAppLifecycleManagementPtrOutput { + return o +} + +func (o DomainAppLifecycleManagementPtrOutput) ToDomainAppLifecycleManagementPtrOutputWithContext(ctx context.Context) DomainAppLifecycleManagementPtrOutput { + return o +} + +func (o DomainAppLifecycleManagementPtrOutput) Elem() DomainAppLifecycleManagementOutput { + return o.ApplyT(func(v *DomainAppLifecycleManagement) DomainAppLifecycleManagement { + if v != nil { + return *v + } + var ret DomainAppLifecycleManagement + return ret + }).(DomainAppLifecycleManagementOutput) +} + +func (o DomainAppLifecycleManagementPtrOutput) IdleSettings() DomainIdleSettingsPtrOutput { + return o.ApplyT(func(v *DomainAppLifecycleManagement) *DomainIdleSettings { + if v == nil { + return nil + } + return v.IdleSettings + }).(DomainIdleSettingsPtrOutput) +} + // The CodeEditor app settings. type DomainCodeEditorAppSettings struct { + AppLifecycleManagement *DomainAppLifecycleManagement `pulumi:"appLifecycleManagement"` // A list of custom images for use for CodeEditor apps. CustomImages []DomainCustomImage `pulumi:"customImages"` // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. @@ -3963,6 +4849,7 @@ type DomainCodeEditorAppSettingsInput interface { // The CodeEditor app settings. type DomainCodeEditorAppSettingsArgs struct { + AppLifecycleManagement DomainAppLifecycleManagementPtrInput `pulumi:"appLifecycleManagement"` // A list of custom images for use for CodeEditor apps. CustomImages DomainCustomImageArrayInput `pulumi:"customImages"` // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. @@ -4049,6 +4936,10 @@ func (o DomainCodeEditorAppSettingsOutput) ToDomainCodeEditorAppSettingsPtrOutpu }).(DomainCodeEditorAppSettingsPtrOutput) } +func (o DomainCodeEditorAppSettingsOutput) AppLifecycleManagement() DomainAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v DomainCodeEditorAppSettings) *DomainAppLifecycleManagement { return v.AppLifecycleManagement }).(DomainAppLifecycleManagementPtrOutput) +} + // A list of custom images for use for CodeEditor apps. func (o DomainCodeEditorAppSettingsOutput) CustomImages() DomainCustomImageArrayOutput { return o.ApplyT(func(v DomainCodeEditorAppSettings) []DomainCustomImage { return v.CustomImages }).(DomainCustomImageArrayOutput) @@ -4088,6 +4979,15 @@ func (o DomainCodeEditorAppSettingsPtrOutput) Elem() DomainCodeEditorAppSettings }).(DomainCodeEditorAppSettingsOutput) } +func (o DomainCodeEditorAppSettingsPtrOutput) AppLifecycleManagement() DomainAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v *DomainCodeEditorAppSettings) *DomainAppLifecycleManagement { + if v == nil { + return nil + } + return v.AppLifecycleManagement + }).(DomainAppLifecycleManagementPtrOutput) +} + // A list of custom images for use for CodeEditor apps. func (o DomainCodeEditorAppSettingsPtrOutput) CustomImages() DomainCustomImageArrayOutput { return o.ApplyT(func(v *DomainCodeEditorAppSettings) []DomainCustomImage { @@ -5475,8 +6375,187 @@ func (o DomainEfsFileSystemConfigPtrOutput) FileSystemPath() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } +type DomainIdleSettings struct { + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + LifecycleManagement *DomainLifecycleManagement `pulumi:"lifecycleManagement"` + MaxIdleTimeoutInMinutes *int `pulumi:"maxIdleTimeoutInMinutes"` + MinIdleTimeoutInMinutes *int `pulumi:"minIdleTimeoutInMinutes"` +} + +// DomainIdleSettingsInput is an input type that accepts DomainIdleSettingsArgs and DomainIdleSettingsOutput values. +// You can construct a concrete instance of `DomainIdleSettingsInput` via: +// +// DomainIdleSettingsArgs{...} +type DomainIdleSettingsInput interface { + pulumi.Input + + ToDomainIdleSettingsOutput() DomainIdleSettingsOutput + ToDomainIdleSettingsOutputWithContext(context.Context) DomainIdleSettingsOutput +} + +type DomainIdleSettingsArgs struct { + IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` + LifecycleManagement DomainLifecycleManagementPtrInput `pulumi:"lifecycleManagement"` + MaxIdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"maxIdleTimeoutInMinutes"` + MinIdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"minIdleTimeoutInMinutes"` +} + +func (DomainIdleSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainIdleSettings)(nil)).Elem() +} + +func (i DomainIdleSettingsArgs) ToDomainIdleSettingsOutput() DomainIdleSettingsOutput { + return i.ToDomainIdleSettingsOutputWithContext(context.Background()) +} + +func (i DomainIdleSettingsArgs) ToDomainIdleSettingsOutputWithContext(ctx context.Context) DomainIdleSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainIdleSettingsOutput) +} + +func (i DomainIdleSettingsArgs) ToDomainIdleSettingsPtrOutput() DomainIdleSettingsPtrOutput { + return i.ToDomainIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (i DomainIdleSettingsArgs) ToDomainIdleSettingsPtrOutputWithContext(ctx context.Context) DomainIdleSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainIdleSettingsOutput).ToDomainIdleSettingsPtrOutputWithContext(ctx) +} + +// DomainIdleSettingsPtrInput is an input type that accepts DomainIdleSettingsArgs, DomainIdleSettingsPtr and DomainIdleSettingsPtrOutput values. +// You can construct a concrete instance of `DomainIdleSettingsPtrInput` via: +// +// DomainIdleSettingsArgs{...} +// +// or: +// +// nil +type DomainIdleSettingsPtrInput interface { + pulumi.Input + + ToDomainIdleSettingsPtrOutput() DomainIdleSettingsPtrOutput + ToDomainIdleSettingsPtrOutputWithContext(context.Context) DomainIdleSettingsPtrOutput +} + +type domainIdleSettingsPtrType DomainIdleSettingsArgs + +func DomainIdleSettingsPtr(v *DomainIdleSettingsArgs) DomainIdleSettingsPtrInput { + return (*domainIdleSettingsPtrType)(v) +} + +func (*domainIdleSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainIdleSettings)(nil)).Elem() +} + +func (i *domainIdleSettingsPtrType) ToDomainIdleSettingsPtrOutput() DomainIdleSettingsPtrOutput { + return i.ToDomainIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (i *domainIdleSettingsPtrType) ToDomainIdleSettingsPtrOutputWithContext(ctx context.Context) DomainIdleSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainIdleSettingsPtrOutput) +} + +type DomainIdleSettingsOutput struct{ *pulumi.OutputState } + +func (DomainIdleSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainIdleSettings)(nil)).Elem() +} + +func (o DomainIdleSettingsOutput) ToDomainIdleSettingsOutput() DomainIdleSettingsOutput { + return o +} + +func (o DomainIdleSettingsOutput) ToDomainIdleSettingsOutputWithContext(ctx context.Context) DomainIdleSettingsOutput { + return o +} + +func (o DomainIdleSettingsOutput) ToDomainIdleSettingsPtrOutput() DomainIdleSettingsPtrOutput { + return o.ToDomainIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (o DomainIdleSettingsOutput) ToDomainIdleSettingsPtrOutputWithContext(ctx context.Context) DomainIdleSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainIdleSettings) *DomainIdleSettings { + return &v + }).(DomainIdleSettingsPtrOutput) +} + +func (o DomainIdleSettingsOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v DomainIdleSettings) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +func (o DomainIdleSettingsOutput) LifecycleManagement() DomainLifecycleManagementPtrOutput { + return o.ApplyT(func(v DomainIdleSettings) *DomainLifecycleManagement { return v.LifecycleManagement }).(DomainLifecycleManagementPtrOutput) +} + +func (o DomainIdleSettingsOutput) MaxIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v DomainIdleSettings) *int { return v.MaxIdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +func (o DomainIdleSettingsOutput) MinIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v DomainIdleSettings) *int { return v.MinIdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +type DomainIdleSettingsPtrOutput struct{ *pulumi.OutputState } + +func (DomainIdleSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainIdleSettings)(nil)).Elem() +} + +func (o DomainIdleSettingsPtrOutput) ToDomainIdleSettingsPtrOutput() DomainIdleSettingsPtrOutput { + return o +} + +func (o DomainIdleSettingsPtrOutput) ToDomainIdleSettingsPtrOutputWithContext(ctx context.Context) DomainIdleSettingsPtrOutput { + return o +} + +func (o DomainIdleSettingsPtrOutput) Elem() DomainIdleSettingsOutput { + return o.ApplyT(func(v *DomainIdleSettings) DomainIdleSettings { + if v != nil { + return *v + } + var ret DomainIdleSettings + return ret + }).(DomainIdleSettingsOutput) +} + +func (o DomainIdleSettingsPtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainIdleSettings) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + +func (o DomainIdleSettingsPtrOutput) LifecycleManagement() DomainLifecycleManagementPtrOutput { + return o.ApplyT(func(v *DomainIdleSettings) *DomainLifecycleManagement { + if v == nil { + return nil + } + return v.LifecycleManagement + }).(DomainLifecycleManagementPtrOutput) +} + +func (o DomainIdleSettingsPtrOutput) MaxIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainIdleSettings) *int { + if v == nil { + return nil + } + return v.MaxIdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + +func (o DomainIdleSettingsPtrOutput) MinIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainIdleSettings) *int { + if v == nil { + return nil + } + return v.MinIdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + // The JupyterLab app settings. type DomainJupyterLabAppSettings struct { + AppLifecycleManagement *DomainAppLifecycleManagement `pulumi:"appLifecycleManagement"` // A list of CodeRepositories available for use with JupyterLab apps. CodeRepositories []DomainCodeRepository `pulumi:"codeRepositories"` // A list of custom images for use for JupyterLab apps. @@ -5500,6 +6579,7 @@ type DomainJupyterLabAppSettingsInput interface { // The JupyterLab app settings. type DomainJupyterLabAppSettingsArgs struct { + AppLifecycleManagement DomainAppLifecycleManagementPtrInput `pulumi:"appLifecycleManagement"` // A list of CodeRepositories available for use with JupyterLab apps. CodeRepositories DomainCodeRepositoryArrayInput `pulumi:"codeRepositories"` // A list of custom images for use for JupyterLab apps. @@ -5588,6 +6668,10 @@ func (o DomainJupyterLabAppSettingsOutput) ToDomainJupyterLabAppSettingsPtrOutpu }).(DomainJupyterLabAppSettingsPtrOutput) } +func (o DomainJupyterLabAppSettingsOutput) AppLifecycleManagement() DomainAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v DomainJupyterLabAppSettings) *DomainAppLifecycleManagement { return v.AppLifecycleManagement }).(DomainAppLifecycleManagementPtrOutput) +} + // A list of CodeRepositories available for use with JupyterLab apps. func (o DomainJupyterLabAppSettingsOutput) CodeRepositories() DomainCodeRepositoryArrayOutput { return o.ApplyT(func(v DomainJupyterLabAppSettings) []DomainCodeRepository { return v.CodeRepositories }).(DomainCodeRepositoryArrayOutput) @@ -5632,6 +6716,15 @@ func (o DomainJupyterLabAppSettingsPtrOutput) Elem() DomainJupyterLabAppSettings }).(DomainJupyterLabAppSettingsOutput) } +func (o DomainJupyterLabAppSettingsPtrOutput) AppLifecycleManagement() DomainAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v *DomainJupyterLabAppSettings) *DomainAppLifecycleManagement { + if v == nil { + return nil + } + return v.AppLifecycleManagement + }).(DomainAppLifecycleManagementPtrOutput) +} + // A list of CodeRepositories available for use with JupyterLab apps. func (o DomainJupyterLabAppSettingsPtrOutput) CodeRepositories() DomainCodeRepositoryArrayOutput { return o.ApplyT(func(v *DomainJupyterLabAppSettings) []DomainCodeRepository { @@ -32274,8 +33367,142 @@ func (o ServiceCatalogProvisioningDetailsPropertiesOutput) ProvisioningParameter }).(ProjectProvisioningParameterArrayOutput) } +type SpaceAppLifecycleManagement struct { + IdleSettings *SpaceIdleSettings `pulumi:"idleSettings"` +} + +// SpaceAppLifecycleManagementInput is an input type that accepts SpaceAppLifecycleManagementArgs and SpaceAppLifecycleManagementOutput values. +// You can construct a concrete instance of `SpaceAppLifecycleManagementInput` via: +// +// SpaceAppLifecycleManagementArgs{...} +type SpaceAppLifecycleManagementInput interface { + pulumi.Input + + ToSpaceAppLifecycleManagementOutput() SpaceAppLifecycleManagementOutput + ToSpaceAppLifecycleManagementOutputWithContext(context.Context) SpaceAppLifecycleManagementOutput +} + +type SpaceAppLifecycleManagementArgs struct { + IdleSettings SpaceIdleSettingsPtrInput `pulumi:"idleSettings"` +} + +func (SpaceAppLifecycleManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceAppLifecycleManagement)(nil)).Elem() +} + +func (i SpaceAppLifecycleManagementArgs) ToSpaceAppLifecycleManagementOutput() SpaceAppLifecycleManagementOutput { + return i.ToSpaceAppLifecycleManagementOutputWithContext(context.Background()) +} + +func (i SpaceAppLifecycleManagementArgs) ToSpaceAppLifecycleManagementOutputWithContext(ctx context.Context) SpaceAppLifecycleManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceAppLifecycleManagementOutput) +} + +func (i SpaceAppLifecycleManagementArgs) ToSpaceAppLifecycleManagementPtrOutput() SpaceAppLifecycleManagementPtrOutput { + return i.ToSpaceAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (i SpaceAppLifecycleManagementArgs) ToSpaceAppLifecycleManagementPtrOutputWithContext(ctx context.Context) SpaceAppLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceAppLifecycleManagementOutput).ToSpaceAppLifecycleManagementPtrOutputWithContext(ctx) +} + +// SpaceAppLifecycleManagementPtrInput is an input type that accepts SpaceAppLifecycleManagementArgs, SpaceAppLifecycleManagementPtr and SpaceAppLifecycleManagementPtrOutput values. +// You can construct a concrete instance of `SpaceAppLifecycleManagementPtrInput` via: +// +// SpaceAppLifecycleManagementArgs{...} +// +// or: +// +// nil +type SpaceAppLifecycleManagementPtrInput interface { + pulumi.Input + + ToSpaceAppLifecycleManagementPtrOutput() SpaceAppLifecycleManagementPtrOutput + ToSpaceAppLifecycleManagementPtrOutputWithContext(context.Context) SpaceAppLifecycleManagementPtrOutput +} + +type spaceAppLifecycleManagementPtrType SpaceAppLifecycleManagementArgs + +func SpaceAppLifecycleManagementPtr(v *SpaceAppLifecycleManagementArgs) SpaceAppLifecycleManagementPtrInput { + return (*spaceAppLifecycleManagementPtrType)(v) +} + +func (*spaceAppLifecycleManagementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceAppLifecycleManagement)(nil)).Elem() +} + +func (i *spaceAppLifecycleManagementPtrType) ToSpaceAppLifecycleManagementPtrOutput() SpaceAppLifecycleManagementPtrOutput { + return i.ToSpaceAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (i *spaceAppLifecycleManagementPtrType) ToSpaceAppLifecycleManagementPtrOutputWithContext(ctx context.Context) SpaceAppLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceAppLifecycleManagementPtrOutput) +} + +type SpaceAppLifecycleManagementOutput struct{ *pulumi.OutputState } + +func (SpaceAppLifecycleManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceAppLifecycleManagement)(nil)).Elem() +} + +func (o SpaceAppLifecycleManagementOutput) ToSpaceAppLifecycleManagementOutput() SpaceAppLifecycleManagementOutput { + return o +} + +func (o SpaceAppLifecycleManagementOutput) ToSpaceAppLifecycleManagementOutputWithContext(ctx context.Context) SpaceAppLifecycleManagementOutput { + return o +} + +func (o SpaceAppLifecycleManagementOutput) ToSpaceAppLifecycleManagementPtrOutput() SpaceAppLifecycleManagementPtrOutput { + return o.ToSpaceAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (o SpaceAppLifecycleManagementOutput) ToSpaceAppLifecycleManagementPtrOutputWithContext(ctx context.Context) SpaceAppLifecycleManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceAppLifecycleManagement) *SpaceAppLifecycleManagement { + return &v + }).(SpaceAppLifecycleManagementPtrOutput) +} + +func (o SpaceAppLifecycleManagementOutput) IdleSettings() SpaceIdleSettingsPtrOutput { + return o.ApplyT(func(v SpaceAppLifecycleManagement) *SpaceIdleSettings { return v.IdleSettings }).(SpaceIdleSettingsPtrOutput) +} + +type SpaceAppLifecycleManagementPtrOutput struct{ *pulumi.OutputState } + +func (SpaceAppLifecycleManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceAppLifecycleManagement)(nil)).Elem() +} + +func (o SpaceAppLifecycleManagementPtrOutput) ToSpaceAppLifecycleManagementPtrOutput() SpaceAppLifecycleManagementPtrOutput { + return o +} + +func (o SpaceAppLifecycleManagementPtrOutput) ToSpaceAppLifecycleManagementPtrOutputWithContext(ctx context.Context) SpaceAppLifecycleManagementPtrOutput { + return o +} + +func (o SpaceAppLifecycleManagementPtrOutput) Elem() SpaceAppLifecycleManagementOutput { + return o.ApplyT(func(v *SpaceAppLifecycleManagement) SpaceAppLifecycleManagement { + if v != nil { + return *v + } + var ret SpaceAppLifecycleManagement + return ret + }).(SpaceAppLifecycleManagementOutput) +} + +func (o SpaceAppLifecycleManagementPtrOutput) IdleSettings() SpaceIdleSettingsPtrOutput { + return o.ApplyT(func(v *SpaceAppLifecycleManagement) *SpaceIdleSettings { + if v == nil { + return nil + } + return v.IdleSettings + }).(SpaceIdleSettingsPtrOutput) +} + // The CodeEditor app settings. type SpaceCodeEditorAppSettings struct { + AppLifecycleManagement *SpaceAppLifecycleManagement `pulumi:"appLifecycleManagement"` // Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. DefaultResourceSpec *SpaceResourceSpec `pulumi:"defaultResourceSpec"` } @@ -32293,6 +33520,7 @@ type SpaceCodeEditorAppSettingsInput interface { // The CodeEditor app settings. type SpaceCodeEditorAppSettingsArgs struct { + AppLifecycleManagement SpaceAppLifecycleManagementPtrInput `pulumi:"appLifecycleManagement"` // Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. DefaultResourceSpec SpaceResourceSpecPtrInput `pulumi:"defaultResourceSpec"` } @@ -32375,6 +33603,10 @@ func (o SpaceCodeEditorAppSettingsOutput) ToSpaceCodeEditorAppSettingsPtrOutputW }).(SpaceCodeEditorAppSettingsPtrOutput) } +func (o SpaceCodeEditorAppSettingsOutput) AppLifecycleManagement() SpaceAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v SpaceCodeEditorAppSettings) *SpaceAppLifecycleManagement { return v.AppLifecycleManagement }).(SpaceAppLifecycleManagementPtrOutput) +} + // Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. func (o SpaceCodeEditorAppSettingsOutput) DefaultResourceSpec() SpaceResourceSpecPtrOutput { return o.ApplyT(func(v SpaceCodeEditorAppSettings) *SpaceResourceSpec { return v.DefaultResourceSpec }).(SpaceResourceSpecPtrOutput) @@ -32404,6 +33636,15 @@ func (o SpaceCodeEditorAppSettingsPtrOutput) Elem() SpaceCodeEditorAppSettingsOu }).(SpaceCodeEditorAppSettingsOutput) } +func (o SpaceCodeEditorAppSettingsPtrOutput) AppLifecycleManagement() SpaceAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v *SpaceCodeEditorAppSettings) *SpaceAppLifecycleManagement { + if v == nil { + return nil + } + return v.AppLifecycleManagement + }).(SpaceAppLifecycleManagementPtrOutput) +} + // Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. func (o SpaceCodeEditorAppSettingsPtrOutput) DefaultResourceSpec() SpaceResourceSpecPtrOutput { return o.ApplyT(func(v *SpaceCodeEditorAppSettings) *SpaceResourceSpec { @@ -32996,8 +34237,146 @@ func (o SpaceEfsFileSystemPtrOutput) FileSystemId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type SpaceIdleSettings struct { + // The space idle timeout value set in minutes + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` +} + +// SpaceIdleSettingsInput is an input type that accepts SpaceIdleSettingsArgs and SpaceIdleSettingsOutput values. +// You can construct a concrete instance of `SpaceIdleSettingsInput` via: +// +// SpaceIdleSettingsArgs{...} +type SpaceIdleSettingsInput interface { + pulumi.Input + + ToSpaceIdleSettingsOutput() SpaceIdleSettingsOutput + ToSpaceIdleSettingsOutputWithContext(context.Context) SpaceIdleSettingsOutput +} + +type SpaceIdleSettingsArgs struct { + // The space idle timeout value set in minutes + IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` +} + +func (SpaceIdleSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceIdleSettings)(nil)).Elem() +} + +func (i SpaceIdleSettingsArgs) ToSpaceIdleSettingsOutput() SpaceIdleSettingsOutput { + return i.ToSpaceIdleSettingsOutputWithContext(context.Background()) +} + +func (i SpaceIdleSettingsArgs) ToSpaceIdleSettingsOutputWithContext(ctx context.Context) SpaceIdleSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceIdleSettingsOutput) +} + +func (i SpaceIdleSettingsArgs) ToSpaceIdleSettingsPtrOutput() SpaceIdleSettingsPtrOutput { + return i.ToSpaceIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (i SpaceIdleSettingsArgs) ToSpaceIdleSettingsPtrOutputWithContext(ctx context.Context) SpaceIdleSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceIdleSettingsOutput).ToSpaceIdleSettingsPtrOutputWithContext(ctx) +} + +// SpaceIdleSettingsPtrInput is an input type that accepts SpaceIdleSettingsArgs, SpaceIdleSettingsPtr and SpaceIdleSettingsPtrOutput values. +// You can construct a concrete instance of `SpaceIdleSettingsPtrInput` via: +// +// SpaceIdleSettingsArgs{...} +// +// or: +// +// nil +type SpaceIdleSettingsPtrInput interface { + pulumi.Input + + ToSpaceIdleSettingsPtrOutput() SpaceIdleSettingsPtrOutput + ToSpaceIdleSettingsPtrOutputWithContext(context.Context) SpaceIdleSettingsPtrOutput +} + +type spaceIdleSettingsPtrType SpaceIdleSettingsArgs + +func SpaceIdleSettingsPtr(v *SpaceIdleSettingsArgs) SpaceIdleSettingsPtrInput { + return (*spaceIdleSettingsPtrType)(v) +} + +func (*spaceIdleSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceIdleSettings)(nil)).Elem() +} + +func (i *spaceIdleSettingsPtrType) ToSpaceIdleSettingsPtrOutput() SpaceIdleSettingsPtrOutput { + return i.ToSpaceIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (i *spaceIdleSettingsPtrType) ToSpaceIdleSettingsPtrOutputWithContext(ctx context.Context) SpaceIdleSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceIdleSettingsPtrOutput) +} + +type SpaceIdleSettingsOutput struct{ *pulumi.OutputState } + +func (SpaceIdleSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceIdleSettings)(nil)).Elem() +} + +func (o SpaceIdleSettingsOutput) ToSpaceIdleSettingsOutput() SpaceIdleSettingsOutput { + return o +} + +func (o SpaceIdleSettingsOutput) ToSpaceIdleSettingsOutputWithContext(ctx context.Context) SpaceIdleSettingsOutput { + return o +} + +func (o SpaceIdleSettingsOutput) ToSpaceIdleSettingsPtrOutput() SpaceIdleSettingsPtrOutput { + return o.ToSpaceIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (o SpaceIdleSettingsOutput) ToSpaceIdleSettingsPtrOutputWithContext(ctx context.Context) SpaceIdleSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceIdleSettings) *SpaceIdleSettings { + return &v + }).(SpaceIdleSettingsPtrOutput) +} + +// The space idle timeout value set in minutes +func (o SpaceIdleSettingsOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpaceIdleSettings) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +type SpaceIdleSettingsPtrOutput struct{ *pulumi.OutputState } + +func (SpaceIdleSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceIdleSettings)(nil)).Elem() +} + +func (o SpaceIdleSettingsPtrOutput) ToSpaceIdleSettingsPtrOutput() SpaceIdleSettingsPtrOutput { + return o +} + +func (o SpaceIdleSettingsPtrOutput) ToSpaceIdleSettingsPtrOutputWithContext(ctx context.Context) SpaceIdleSettingsPtrOutput { + return o +} + +func (o SpaceIdleSettingsPtrOutput) Elem() SpaceIdleSettingsOutput { + return o.ApplyT(func(v *SpaceIdleSettings) SpaceIdleSettings { + if v != nil { + return *v + } + var ret SpaceIdleSettings + return ret + }).(SpaceIdleSettingsOutput) +} + +// The space idle timeout value set in minutes +func (o SpaceIdleSettingsPtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpaceIdleSettings) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + // The JupyterServer app settings. type SpaceJupyterLabAppSettings struct { + AppLifecycleManagement *SpaceAppLifecycleManagement `pulumi:"appLifecycleManagement"` // A list of CodeRepositories available for use with JupyterLab apps. CodeRepositories []SpaceCodeRepository `pulumi:"codeRepositories"` // Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. @@ -33017,6 +34396,7 @@ type SpaceJupyterLabAppSettingsInput interface { // The JupyterServer app settings. type SpaceJupyterLabAppSettingsArgs struct { + AppLifecycleManagement SpaceAppLifecycleManagementPtrInput `pulumi:"appLifecycleManagement"` // A list of CodeRepositories available for use with JupyterLab apps. CodeRepositories SpaceCodeRepositoryArrayInput `pulumi:"codeRepositories"` // Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. @@ -33101,6 +34481,10 @@ func (o SpaceJupyterLabAppSettingsOutput) ToSpaceJupyterLabAppSettingsPtrOutputW }).(SpaceJupyterLabAppSettingsPtrOutput) } +func (o SpaceJupyterLabAppSettingsOutput) AppLifecycleManagement() SpaceAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v SpaceJupyterLabAppSettings) *SpaceAppLifecycleManagement { return v.AppLifecycleManagement }).(SpaceAppLifecycleManagementPtrOutput) +} + // A list of CodeRepositories available for use with JupyterLab apps. func (o SpaceJupyterLabAppSettingsOutput) CodeRepositories() SpaceCodeRepositoryArrayOutput { return o.ApplyT(func(v SpaceJupyterLabAppSettings) []SpaceCodeRepository { return v.CodeRepositories }).(SpaceCodeRepositoryArrayOutput) @@ -33135,6 +34519,15 @@ func (o SpaceJupyterLabAppSettingsPtrOutput) Elem() SpaceJupyterLabAppSettingsOu }).(SpaceJupyterLabAppSettingsOutput) } +func (o SpaceJupyterLabAppSettingsPtrOutput) AppLifecycleManagement() SpaceAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v *SpaceJupyterLabAppSettings) *SpaceAppLifecycleManagement { + if v == nil { + return nil + } + return v.AppLifecycleManagement + }).(SpaceAppLifecycleManagementPtrOutput) +} + // A list of CodeRepositories available for use with JupyterLab apps. func (o SpaceJupyterLabAppSettingsPtrOutput) CodeRepositories() SpaceCodeRepositoryArrayOutput { return o.ApplyT(func(v *SpaceJupyterLabAppSettings) []SpaceCodeRepository { @@ -34365,8 +35758,142 @@ type StudioLifecycleConfigTag struct { Value string `pulumi:"value"` } +type UserProfileAppLifecycleManagement struct { + IdleSettings *UserProfileIdleSettings `pulumi:"idleSettings"` +} + +// UserProfileAppLifecycleManagementInput is an input type that accepts UserProfileAppLifecycleManagementArgs and UserProfileAppLifecycleManagementOutput values. +// You can construct a concrete instance of `UserProfileAppLifecycleManagementInput` via: +// +// UserProfileAppLifecycleManagementArgs{...} +type UserProfileAppLifecycleManagementInput interface { + pulumi.Input + + ToUserProfileAppLifecycleManagementOutput() UserProfileAppLifecycleManagementOutput + ToUserProfileAppLifecycleManagementOutputWithContext(context.Context) UserProfileAppLifecycleManagementOutput +} + +type UserProfileAppLifecycleManagementArgs struct { + IdleSettings UserProfileIdleSettingsPtrInput `pulumi:"idleSettings"` +} + +func (UserProfileAppLifecycleManagementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileAppLifecycleManagement)(nil)).Elem() +} + +func (i UserProfileAppLifecycleManagementArgs) ToUserProfileAppLifecycleManagementOutput() UserProfileAppLifecycleManagementOutput { + return i.ToUserProfileAppLifecycleManagementOutputWithContext(context.Background()) +} + +func (i UserProfileAppLifecycleManagementArgs) ToUserProfileAppLifecycleManagementOutputWithContext(ctx context.Context) UserProfileAppLifecycleManagementOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileAppLifecycleManagementOutput) +} + +func (i UserProfileAppLifecycleManagementArgs) ToUserProfileAppLifecycleManagementPtrOutput() UserProfileAppLifecycleManagementPtrOutput { + return i.ToUserProfileAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (i UserProfileAppLifecycleManagementArgs) ToUserProfileAppLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileAppLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileAppLifecycleManagementOutput).ToUserProfileAppLifecycleManagementPtrOutputWithContext(ctx) +} + +// UserProfileAppLifecycleManagementPtrInput is an input type that accepts UserProfileAppLifecycleManagementArgs, UserProfileAppLifecycleManagementPtr and UserProfileAppLifecycleManagementPtrOutput values. +// You can construct a concrete instance of `UserProfileAppLifecycleManagementPtrInput` via: +// +// UserProfileAppLifecycleManagementArgs{...} +// +// or: +// +// nil +type UserProfileAppLifecycleManagementPtrInput interface { + pulumi.Input + + ToUserProfileAppLifecycleManagementPtrOutput() UserProfileAppLifecycleManagementPtrOutput + ToUserProfileAppLifecycleManagementPtrOutputWithContext(context.Context) UserProfileAppLifecycleManagementPtrOutput +} + +type userProfileAppLifecycleManagementPtrType UserProfileAppLifecycleManagementArgs + +func UserProfileAppLifecycleManagementPtr(v *UserProfileAppLifecycleManagementArgs) UserProfileAppLifecycleManagementPtrInput { + return (*userProfileAppLifecycleManagementPtrType)(v) +} + +func (*userProfileAppLifecycleManagementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileAppLifecycleManagement)(nil)).Elem() +} + +func (i *userProfileAppLifecycleManagementPtrType) ToUserProfileAppLifecycleManagementPtrOutput() UserProfileAppLifecycleManagementPtrOutput { + return i.ToUserProfileAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (i *userProfileAppLifecycleManagementPtrType) ToUserProfileAppLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileAppLifecycleManagementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileAppLifecycleManagementPtrOutput) +} + +type UserProfileAppLifecycleManagementOutput struct{ *pulumi.OutputState } + +func (UserProfileAppLifecycleManagementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileAppLifecycleManagement)(nil)).Elem() +} + +func (o UserProfileAppLifecycleManagementOutput) ToUserProfileAppLifecycleManagementOutput() UserProfileAppLifecycleManagementOutput { + return o +} + +func (o UserProfileAppLifecycleManagementOutput) ToUserProfileAppLifecycleManagementOutputWithContext(ctx context.Context) UserProfileAppLifecycleManagementOutput { + return o +} + +func (o UserProfileAppLifecycleManagementOutput) ToUserProfileAppLifecycleManagementPtrOutput() UserProfileAppLifecycleManagementPtrOutput { + return o.ToUserProfileAppLifecycleManagementPtrOutputWithContext(context.Background()) +} + +func (o UserProfileAppLifecycleManagementOutput) ToUserProfileAppLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileAppLifecycleManagementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileAppLifecycleManagement) *UserProfileAppLifecycleManagement { + return &v + }).(UserProfileAppLifecycleManagementPtrOutput) +} + +func (o UserProfileAppLifecycleManagementOutput) IdleSettings() UserProfileIdleSettingsPtrOutput { + return o.ApplyT(func(v UserProfileAppLifecycleManagement) *UserProfileIdleSettings { return v.IdleSettings }).(UserProfileIdleSettingsPtrOutput) +} + +type UserProfileAppLifecycleManagementPtrOutput struct{ *pulumi.OutputState } + +func (UserProfileAppLifecycleManagementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileAppLifecycleManagement)(nil)).Elem() +} + +func (o UserProfileAppLifecycleManagementPtrOutput) ToUserProfileAppLifecycleManagementPtrOutput() UserProfileAppLifecycleManagementPtrOutput { + return o +} + +func (o UserProfileAppLifecycleManagementPtrOutput) ToUserProfileAppLifecycleManagementPtrOutputWithContext(ctx context.Context) UserProfileAppLifecycleManagementPtrOutput { + return o +} + +func (o UserProfileAppLifecycleManagementPtrOutput) Elem() UserProfileAppLifecycleManagementOutput { + return o.ApplyT(func(v *UserProfileAppLifecycleManagement) UserProfileAppLifecycleManagement { + if v != nil { + return *v + } + var ret UserProfileAppLifecycleManagement + return ret + }).(UserProfileAppLifecycleManagementOutput) +} + +func (o UserProfileAppLifecycleManagementPtrOutput) IdleSettings() UserProfileIdleSettingsPtrOutput { + return o.ApplyT(func(v *UserProfileAppLifecycleManagement) *UserProfileIdleSettings { + if v == nil { + return nil + } + return v.IdleSettings + }).(UserProfileIdleSettingsPtrOutput) +} + // The CodeEditor app settings. type UserProfileCodeEditorAppSettings struct { + AppLifecycleManagement *UserProfileAppLifecycleManagement `pulumi:"appLifecycleManagement"` // A list of custom images for use for CodeEditor apps. CustomImages []UserProfileCustomImage `pulumi:"customImages"` // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. @@ -34388,6 +35915,7 @@ type UserProfileCodeEditorAppSettingsInput interface { // The CodeEditor app settings. type UserProfileCodeEditorAppSettingsArgs struct { + AppLifecycleManagement UserProfileAppLifecycleManagementPtrInput `pulumi:"appLifecycleManagement"` // A list of custom images for use for CodeEditor apps. CustomImages UserProfileCustomImageArrayInput `pulumi:"customImages"` // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. @@ -34474,6 +36002,12 @@ func (o UserProfileCodeEditorAppSettingsOutput) ToUserProfileCodeEditorAppSettin }).(UserProfileCodeEditorAppSettingsPtrOutput) } +func (o UserProfileCodeEditorAppSettingsOutput) AppLifecycleManagement() UserProfileAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v UserProfileCodeEditorAppSettings) *UserProfileAppLifecycleManagement { + return v.AppLifecycleManagement + }).(UserProfileAppLifecycleManagementPtrOutput) +} + // A list of custom images for use for CodeEditor apps. func (o UserProfileCodeEditorAppSettingsOutput) CustomImages() UserProfileCustomImageArrayOutput { return o.ApplyT(func(v UserProfileCodeEditorAppSettings) []UserProfileCustomImage { return v.CustomImages }).(UserProfileCustomImageArrayOutput) @@ -34513,6 +36047,15 @@ func (o UserProfileCodeEditorAppSettingsPtrOutput) Elem() UserProfileCodeEditorA }).(UserProfileCodeEditorAppSettingsOutput) } +func (o UserProfileCodeEditorAppSettingsPtrOutput) AppLifecycleManagement() UserProfileAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v *UserProfileCodeEditorAppSettings) *UserProfileAppLifecycleManagement { + if v == nil { + return nil + } + return v.AppLifecycleManagement + }).(UserProfileAppLifecycleManagementPtrOutput) +} + // A list of custom images for use for CodeEditor apps. func (o UserProfileCodeEditorAppSettingsPtrOutput) CustomImages() UserProfileCustomImageArrayOutput { return o.ApplyT(func(v *UserProfileCodeEditorAppSettings) []UserProfileCustomImage { @@ -35470,8 +37013,187 @@ func (o UserProfileEfsFileSystemConfigPtrOutput) FileSystemPath() pulumi.StringP }).(pulumi.StringPtrOutput) } +type UserProfileIdleSettings struct { + IdleTimeoutInMinutes *int `pulumi:"idleTimeoutInMinutes"` + LifecycleManagement *UserProfileLifecycleManagement `pulumi:"lifecycleManagement"` + MaxIdleTimeoutInMinutes *int `pulumi:"maxIdleTimeoutInMinutes"` + MinIdleTimeoutInMinutes *int `pulumi:"minIdleTimeoutInMinutes"` +} + +// UserProfileIdleSettingsInput is an input type that accepts UserProfileIdleSettingsArgs and UserProfileIdleSettingsOutput values. +// You can construct a concrete instance of `UserProfileIdleSettingsInput` via: +// +// UserProfileIdleSettingsArgs{...} +type UserProfileIdleSettingsInput interface { + pulumi.Input + + ToUserProfileIdleSettingsOutput() UserProfileIdleSettingsOutput + ToUserProfileIdleSettingsOutputWithContext(context.Context) UserProfileIdleSettingsOutput +} + +type UserProfileIdleSettingsArgs struct { + IdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"idleTimeoutInMinutes"` + LifecycleManagement UserProfileLifecycleManagementPtrInput `pulumi:"lifecycleManagement"` + MaxIdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"maxIdleTimeoutInMinutes"` + MinIdleTimeoutInMinutes pulumi.IntPtrInput `pulumi:"minIdleTimeoutInMinutes"` +} + +func (UserProfileIdleSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileIdleSettings)(nil)).Elem() +} + +func (i UserProfileIdleSettingsArgs) ToUserProfileIdleSettingsOutput() UserProfileIdleSettingsOutput { + return i.ToUserProfileIdleSettingsOutputWithContext(context.Background()) +} + +func (i UserProfileIdleSettingsArgs) ToUserProfileIdleSettingsOutputWithContext(ctx context.Context) UserProfileIdleSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileIdleSettingsOutput) +} + +func (i UserProfileIdleSettingsArgs) ToUserProfileIdleSettingsPtrOutput() UserProfileIdleSettingsPtrOutput { + return i.ToUserProfileIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (i UserProfileIdleSettingsArgs) ToUserProfileIdleSettingsPtrOutputWithContext(ctx context.Context) UserProfileIdleSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileIdleSettingsOutput).ToUserProfileIdleSettingsPtrOutputWithContext(ctx) +} + +// UserProfileIdleSettingsPtrInput is an input type that accepts UserProfileIdleSettingsArgs, UserProfileIdleSettingsPtr and UserProfileIdleSettingsPtrOutput values. +// You can construct a concrete instance of `UserProfileIdleSettingsPtrInput` via: +// +// UserProfileIdleSettingsArgs{...} +// +// or: +// +// nil +type UserProfileIdleSettingsPtrInput interface { + pulumi.Input + + ToUserProfileIdleSettingsPtrOutput() UserProfileIdleSettingsPtrOutput + ToUserProfileIdleSettingsPtrOutputWithContext(context.Context) UserProfileIdleSettingsPtrOutput +} + +type userProfileIdleSettingsPtrType UserProfileIdleSettingsArgs + +func UserProfileIdleSettingsPtr(v *UserProfileIdleSettingsArgs) UserProfileIdleSettingsPtrInput { + return (*userProfileIdleSettingsPtrType)(v) +} + +func (*userProfileIdleSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileIdleSettings)(nil)).Elem() +} + +func (i *userProfileIdleSettingsPtrType) ToUserProfileIdleSettingsPtrOutput() UserProfileIdleSettingsPtrOutput { + return i.ToUserProfileIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (i *userProfileIdleSettingsPtrType) ToUserProfileIdleSettingsPtrOutputWithContext(ctx context.Context) UserProfileIdleSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileIdleSettingsPtrOutput) +} + +type UserProfileIdleSettingsOutput struct{ *pulumi.OutputState } + +func (UserProfileIdleSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileIdleSettings)(nil)).Elem() +} + +func (o UserProfileIdleSettingsOutput) ToUserProfileIdleSettingsOutput() UserProfileIdleSettingsOutput { + return o +} + +func (o UserProfileIdleSettingsOutput) ToUserProfileIdleSettingsOutputWithContext(ctx context.Context) UserProfileIdleSettingsOutput { + return o +} + +func (o UserProfileIdleSettingsOutput) ToUserProfileIdleSettingsPtrOutput() UserProfileIdleSettingsPtrOutput { + return o.ToUserProfileIdleSettingsPtrOutputWithContext(context.Background()) +} + +func (o UserProfileIdleSettingsOutput) ToUserProfileIdleSettingsPtrOutputWithContext(ctx context.Context) UserProfileIdleSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileIdleSettings) *UserProfileIdleSettings { + return &v + }).(UserProfileIdleSettingsPtrOutput) +} + +func (o UserProfileIdleSettingsOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v UserProfileIdleSettings) *int { return v.IdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +func (o UserProfileIdleSettingsOutput) LifecycleManagement() UserProfileLifecycleManagementPtrOutput { + return o.ApplyT(func(v UserProfileIdleSettings) *UserProfileLifecycleManagement { return v.LifecycleManagement }).(UserProfileLifecycleManagementPtrOutput) +} + +func (o UserProfileIdleSettingsOutput) MaxIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v UserProfileIdleSettings) *int { return v.MaxIdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +func (o UserProfileIdleSettingsOutput) MinIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v UserProfileIdleSettings) *int { return v.MinIdleTimeoutInMinutes }).(pulumi.IntPtrOutput) +} + +type UserProfileIdleSettingsPtrOutput struct{ *pulumi.OutputState } + +func (UserProfileIdleSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileIdleSettings)(nil)).Elem() +} + +func (o UserProfileIdleSettingsPtrOutput) ToUserProfileIdleSettingsPtrOutput() UserProfileIdleSettingsPtrOutput { + return o +} + +func (o UserProfileIdleSettingsPtrOutput) ToUserProfileIdleSettingsPtrOutputWithContext(ctx context.Context) UserProfileIdleSettingsPtrOutput { + return o +} + +func (o UserProfileIdleSettingsPtrOutput) Elem() UserProfileIdleSettingsOutput { + return o.ApplyT(func(v *UserProfileIdleSettings) UserProfileIdleSettings { + if v != nil { + return *v + } + var ret UserProfileIdleSettings + return ret + }).(UserProfileIdleSettingsOutput) +} + +func (o UserProfileIdleSettingsPtrOutput) IdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileIdleSettings) *int { + if v == nil { + return nil + } + return v.IdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + +func (o UserProfileIdleSettingsPtrOutput) LifecycleManagement() UserProfileLifecycleManagementPtrOutput { + return o.ApplyT(func(v *UserProfileIdleSettings) *UserProfileLifecycleManagement { + if v == nil { + return nil + } + return v.LifecycleManagement + }).(UserProfileLifecycleManagementPtrOutput) +} + +func (o UserProfileIdleSettingsPtrOutput) MaxIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileIdleSettings) *int { + if v == nil { + return nil + } + return v.MaxIdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + +func (o UserProfileIdleSettingsPtrOutput) MinIdleTimeoutInMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileIdleSettings) *int { + if v == nil { + return nil + } + return v.MinIdleTimeoutInMinutes + }).(pulumi.IntPtrOutput) +} + // The JupyterLab app settings. type UserProfileJupyterLabAppSettings struct { + AppLifecycleManagement *UserProfileAppLifecycleManagement `pulumi:"appLifecycleManagement"` // A list of CodeRepositories available for use with JupyterLab apps. CodeRepositories []UserProfileCodeRepository `pulumi:"codeRepositories"` // A list of custom images available for use for JupyterLab apps @@ -35495,6 +37217,7 @@ type UserProfileJupyterLabAppSettingsInput interface { // The JupyterLab app settings. type UserProfileJupyterLabAppSettingsArgs struct { + AppLifecycleManagement UserProfileAppLifecycleManagementPtrInput `pulumi:"appLifecycleManagement"` // A list of CodeRepositories available for use with JupyterLab apps. CodeRepositories UserProfileCodeRepositoryArrayInput `pulumi:"codeRepositories"` // A list of custom images available for use for JupyterLab apps @@ -35583,6 +37306,12 @@ func (o UserProfileJupyterLabAppSettingsOutput) ToUserProfileJupyterLabAppSettin }).(UserProfileJupyterLabAppSettingsPtrOutput) } +func (o UserProfileJupyterLabAppSettingsOutput) AppLifecycleManagement() UserProfileAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v UserProfileJupyterLabAppSettings) *UserProfileAppLifecycleManagement { + return v.AppLifecycleManagement + }).(UserProfileAppLifecycleManagementPtrOutput) +} + // A list of CodeRepositories available for use with JupyterLab apps. func (o UserProfileJupyterLabAppSettingsOutput) CodeRepositories() UserProfileCodeRepositoryArrayOutput { return o.ApplyT(func(v UserProfileJupyterLabAppSettings) []UserProfileCodeRepository { return v.CodeRepositories }).(UserProfileCodeRepositoryArrayOutput) @@ -35627,6 +37356,15 @@ func (o UserProfileJupyterLabAppSettingsPtrOutput) Elem() UserProfileJupyterLabA }).(UserProfileJupyterLabAppSettingsOutput) } +func (o UserProfileJupyterLabAppSettingsPtrOutput) AppLifecycleManagement() UserProfileAppLifecycleManagementPtrOutput { + return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) *UserProfileAppLifecycleManagement { + if v == nil { + return nil + } + return v.AppLifecycleManagement + }).(UserProfileAppLifecycleManagementPtrOutput) +} + // A list of CodeRepositories available for use with JupyterLab apps. func (o UserProfileJupyterLabAppSettingsPtrOutput) CodeRepositories() UserProfileCodeRepositoryArrayOutput { return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) []UserProfileCodeRepository { @@ -37117,6 +38855,17 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigKernelSpecArrayInput)(nil)).Elem(), AppImageConfigKernelSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AppResourceSpecInput)(nil)).Elem(), AppResourceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppResourceSpecPtrInput)(nil)).Elem(), AppResourceSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceGroupInput)(nil)).Elem(), ClusterInstanceGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceGroupArrayInput)(nil)).Elem(), ClusterInstanceGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceStorageConfigInput)(nil)).Elem(), ClusterInstanceStorageConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInstanceStorageConfigArrayInput)(nil)).Elem(), ClusterInstanceStorageConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterLifeCycleConfigInput)(nil)).Elem(), ClusterLifeCycleConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterOrchestratorInput)(nil)).Elem(), ClusterOrchestratorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterOrchestratorPtrInput)(nil)).Elem(), ClusterOrchestratorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterOrchestratorEksConfigInput)(nil)).Elem(), ClusterOrchestratorEksConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterOrchestratorEksConfigPtrInput)(nil)).Elem(), ClusterOrchestratorEksConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterVpcConfigInput)(nil)).Elem(), ClusterVpcConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterVpcConfigPtrInput)(nil)).Elem(), ClusterVpcConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataQualityJobDefinitionBatchTransformInputInput)(nil)).Elem(), DataQualityJobDefinitionBatchTransformInputArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataQualityJobDefinitionBatchTransformInputPtrInput)(nil)).Elem(), DataQualityJobDefinitionBatchTransformInputArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DataQualityJobDefinitionClusterConfigInput)(nil)).Elem(), DataQualityJobDefinitionClusterConfigArgs{}) @@ -37150,6 +38899,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DeviceTypeInput)(nil)).Elem(), DeviceTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeviceTypePtrInput)(nil)).Elem(), DeviceTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeviceFleetEdgeOutputConfigInput)(nil)).Elem(), DeviceFleetEdgeOutputConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainAppLifecycleManagementInput)(nil)).Elem(), DomainAppLifecycleManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainAppLifecycleManagementPtrInput)(nil)).Elem(), DomainAppLifecycleManagementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeEditorAppSettingsInput)(nil)).Elem(), DomainCodeEditorAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeEditorAppSettingsPtrInput)(nil)).Elem(), DomainCodeEditorAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeRepositoryInput)(nil)).Elem(), DomainCodeRepositoryArgs{}) @@ -37170,6 +38921,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainDockerSettingsPtrInput)(nil)).Elem(), DomainDockerSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainEfsFileSystemConfigInput)(nil)).Elem(), DomainEfsFileSystemConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainEfsFileSystemConfigPtrInput)(nil)).Elem(), DomainEfsFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainIdleSettingsInput)(nil)).Elem(), DomainIdleSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainIdleSettingsPtrInput)(nil)).Elem(), DomainIdleSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterLabAppSettingsInput)(nil)).Elem(), DomainJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterLabAppSettingsPtrInput)(nil)).Elem(), DomainJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterServerAppSettingsInput)(nil)).Elem(), DomainJupyterServerAppSettingsArgs{}) @@ -37481,6 +39234,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceCatalogProvisionedProductDetailsPropertiesInput)(nil)).Elem(), ServiceCatalogProvisionedProductDetailsPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceCatalogProvisionedProductDetailsPropertiesPtrInput)(nil)).Elem(), ServiceCatalogProvisionedProductDetailsPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceCatalogProvisioningDetailsPropertiesInput)(nil)).Elem(), ServiceCatalogProvisioningDetailsPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpaceAppLifecycleManagementInput)(nil)).Elem(), SpaceAppLifecycleManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpaceAppLifecycleManagementPtrInput)(nil)).Elem(), SpaceAppLifecycleManagementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceCodeEditorAppSettingsInput)(nil)).Elem(), SpaceCodeEditorAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceCodeEditorAppSettingsPtrInput)(nil)).Elem(), SpaceCodeEditorAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceCodeRepositoryInput)(nil)).Elem(), SpaceCodeRepositoryArgs{}) @@ -37493,6 +39248,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpaceEbsStorageSettingsPtrInput)(nil)).Elem(), SpaceEbsStorageSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceEfsFileSystemInput)(nil)).Elem(), SpaceEfsFileSystemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceEfsFileSystemPtrInput)(nil)).Elem(), SpaceEfsFileSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpaceIdleSettingsInput)(nil)).Elem(), SpaceIdleSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpaceIdleSettingsPtrInput)(nil)).Elem(), SpaceIdleSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceJupyterLabAppSettingsInput)(nil)).Elem(), SpaceJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceJupyterLabAppSettingsPtrInput)(nil)).Elem(), SpaceJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceJupyterServerAppSettingsInput)(nil)).Elem(), SpaceJupyterServerAppSettingsArgs{}) @@ -37509,6 +39266,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpaceSharingSettingsPtrInput)(nil)).Elem(), SpaceSharingSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceStorageSettingsInput)(nil)).Elem(), SpaceStorageSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceStorageSettingsPtrInput)(nil)).Elem(), SpaceStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileAppLifecycleManagementInput)(nil)).Elem(), UserProfileAppLifecycleManagementArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileAppLifecycleManagementPtrInput)(nil)).Elem(), UserProfileAppLifecycleManagementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeEditorAppSettingsInput)(nil)).Elem(), UserProfileCodeEditorAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeEditorAppSettingsPtrInput)(nil)).Elem(), UserProfileCodeEditorAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeRepositoryInput)(nil)).Elem(), UserProfileCodeRepositoryArgs{}) @@ -37525,6 +39284,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*UserProfileDefaultSpaceStorageSettingsPtrInput)(nil)).Elem(), UserProfileDefaultSpaceStorageSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileEfsFileSystemConfigInput)(nil)).Elem(), UserProfileEfsFileSystemConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileEfsFileSystemConfigPtrInput)(nil)).Elem(), UserProfileEfsFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileIdleSettingsInput)(nil)).Elem(), UserProfileIdleSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileIdleSettingsPtrInput)(nil)).Elem(), UserProfileIdleSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterLabAppSettingsInput)(nil)).Elem(), UserProfileJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterLabAppSettingsPtrInput)(nil)).Elem(), UserProfileJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterServerAppSettingsInput)(nil)).Elem(), UserProfileJupyterServerAppSettingsArgs{}) @@ -37557,6 +39318,17 @@ func init() { pulumi.RegisterOutputType(AppImageConfigKernelSpecArrayOutput{}) pulumi.RegisterOutputType(AppResourceSpecOutput{}) pulumi.RegisterOutputType(AppResourceSpecPtrOutput{}) + pulumi.RegisterOutputType(ClusterInstanceGroupOutput{}) + pulumi.RegisterOutputType(ClusterInstanceGroupArrayOutput{}) + pulumi.RegisterOutputType(ClusterInstanceStorageConfigOutput{}) + pulumi.RegisterOutputType(ClusterInstanceStorageConfigArrayOutput{}) + pulumi.RegisterOutputType(ClusterLifeCycleConfigOutput{}) + pulumi.RegisterOutputType(ClusterOrchestratorOutput{}) + pulumi.RegisterOutputType(ClusterOrchestratorPtrOutput{}) + pulumi.RegisterOutputType(ClusterOrchestratorEksConfigOutput{}) + pulumi.RegisterOutputType(ClusterOrchestratorEksConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterVpcConfigOutput{}) + pulumi.RegisterOutputType(ClusterVpcConfigPtrOutput{}) pulumi.RegisterOutputType(DataQualityJobDefinitionBatchTransformInputOutput{}) pulumi.RegisterOutputType(DataQualityJobDefinitionBatchTransformInputPtrOutput{}) pulumi.RegisterOutputType(DataQualityJobDefinitionClusterConfigOutput{}) @@ -37591,6 +39363,8 @@ func init() { pulumi.RegisterOutputType(DeviceTypePtrOutput{}) pulumi.RegisterOutputType(DeviceFleetEdgeOutputConfigOutput{}) pulumi.RegisterOutputType(DeviceFleetEdgeOutputConfigPtrOutput{}) + pulumi.RegisterOutputType(DomainAppLifecycleManagementOutput{}) + pulumi.RegisterOutputType(DomainAppLifecycleManagementPtrOutput{}) pulumi.RegisterOutputType(DomainCodeEditorAppSettingsOutput{}) pulumi.RegisterOutputType(DomainCodeEditorAppSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainCodeRepositoryOutput{}) @@ -37611,6 +39385,8 @@ func init() { pulumi.RegisterOutputType(DomainDockerSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainEfsFileSystemConfigOutput{}) pulumi.RegisterOutputType(DomainEfsFileSystemConfigPtrOutput{}) + pulumi.RegisterOutputType(DomainIdleSettingsOutput{}) + pulumi.RegisterOutputType(DomainIdleSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainJupyterLabAppSettingsOutput{}) pulumi.RegisterOutputType(DomainJupyterLabAppSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainJupyterServerAppSettingsOutput{}) @@ -37933,6 +39709,8 @@ func init() { pulumi.RegisterOutputType(ServiceCatalogProvisionedProductDetailsPropertiesOutput{}) pulumi.RegisterOutputType(ServiceCatalogProvisionedProductDetailsPropertiesPtrOutput{}) pulumi.RegisterOutputType(ServiceCatalogProvisioningDetailsPropertiesOutput{}) + pulumi.RegisterOutputType(SpaceAppLifecycleManagementOutput{}) + pulumi.RegisterOutputType(SpaceAppLifecycleManagementPtrOutput{}) pulumi.RegisterOutputType(SpaceCodeEditorAppSettingsOutput{}) pulumi.RegisterOutputType(SpaceCodeEditorAppSettingsPtrOutput{}) pulumi.RegisterOutputType(SpaceCodeRepositoryOutput{}) @@ -37945,6 +39723,8 @@ func init() { pulumi.RegisterOutputType(SpaceEbsStorageSettingsPtrOutput{}) pulumi.RegisterOutputType(SpaceEfsFileSystemOutput{}) pulumi.RegisterOutputType(SpaceEfsFileSystemPtrOutput{}) + pulumi.RegisterOutputType(SpaceIdleSettingsOutput{}) + pulumi.RegisterOutputType(SpaceIdleSettingsPtrOutput{}) pulumi.RegisterOutputType(SpaceJupyterLabAppSettingsOutput{}) pulumi.RegisterOutputType(SpaceJupyterLabAppSettingsPtrOutput{}) pulumi.RegisterOutputType(SpaceJupyterServerAppSettingsOutput{}) @@ -37961,6 +39741,8 @@ func init() { pulumi.RegisterOutputType(SpaceSharingSettingsPtrOutput{}) pulumi.RegisterOutputType(SpaceStorageSettingsOutput{}) pulumi.RegisterOutputType(SpaceStorageSettingsPtrOutput{}) + pulumi.RegisterOutputType(UserProfileAppLifecycleManagementOutput{}) + pulumi.RegisterOutputType(UserProfileAppLifecycleManagementPtrOutput{}) pulumi.RegisterOutputType(UserProfileCodeEditorAppSettingsOutput{}) pulumi.RegisterOutputType(UserProfileCodeEditorAppSettingsPtrOutput{}) pulumi.RegisterOutputType(UserProfileCodeRepositoryOutput{}) @@ -37977,6 +39759,8 @@ func init() { pulumi.RegisterOutputType(UserProfileDefaultSpaceStorageSettingsPtrOutput{}) pulumi.RegisterOutputType(UserProfileEfsFileSystemConfigOutput{}) pulumi.RegisterOutputType(UserProfileEfsFileSystemConfigPtrOutput{}) + pulumi.RegisterOutputType(UserProfileIdleSettingsOutput{}) + pulumi.RegisterOutputType(UserProfileIdleSettingsPtrOutput{}) pulumi.RegisterOutputType(UserProfileJupyterLabAppSettingsOutput{}) pulumi.RegisterOutputType(UserProfileJupyterLabAppSettingsPtrOutput{}) pulumi.RegisterOutputType(UserProfileJupyterServerAppSettingsOutput{}) diff --git a/sdk/go/aws/sns/getSubscription.go b/sdk/go/aws/sns/getSubscription.go new file mode 100644 index 0000000000..a8e0fa2c11 --- /dev/null +++ b/sdk/go/aws/sns/getSubscription.go @@ -0,0 +1,143 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sns + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::SNS::Subscription +func LookupSubscription(ctx *pulumi.Context, args *LookupSubscriptionArgs, opts ...pulumi.InvokeOption) (*LookupSubscriptionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSubscriptionResult + err := ctx.Invoke("aws-native:sns:getSubscription", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupSubscriptionArgs struct { + // Arn of the subscription + Arn string `pulumi:"arn"` +} + +type LookupSubscriptionResult struct { + // Arn of the subscription + Arn *string `pulumi:"arn"` + // The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + DeliveryPolicy interface{} `pulumi:"deliveryPolicy"` + // The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + FilterPolicy interface{} `pulumi:"filterPolicy"` + // This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + FilterPolicyScope *string `pulumi:"filterPolicyScope"` + // When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + RawMessageDelivery *bool `pulumi:"rawMessageDelivery"` + // When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + RedrivePolicy interface{} `pulumi:"redrivePolicy"` + // Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + ReplayPolicy interface{} `pulumi:"replayPolicy"` + // This property applies only to Amazon Data Firehose delivery stream subscriptions. + SubscriptionRoleArn *string `pulumi:"subscriptionRoleArn"` +} + +func LookupSubscriptionOutput(ctx *pulumi.Context, args LookupSubscriptionOutputArgs, opts ...pulumi.InvokeOption) LookupSubscriptionResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupSubscriptionResult, error) { + args := v.(LookupSubscriptionArgs) + r, err := LookupSubscription(ctx, &args, opts...) + var s LookupSubscriptionResult + if r != nil { + s = *r + } + return s, err + }).(LookupSubscriptionResultOutput) +} + +type LookupSubscriptionOutputArgs struct { + // Arn of the subscription + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupSubscriptionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSubscriptionArgs)(nil)).Elem() +} + +type LookupSubscriptionResultOutput struct{ *pulumi.OutputState } + +func (LookupSubscriptionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSubscriptionResult)(nil)).Elem() +} + +func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput() LookupSubscriptionResultOutput { + return o +} + +func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext(ctx context.Context) LookupSubscriptionResultOutput { + return o +} + +// Arn of the subscription +func (o LookupSubscriptionResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSubscriptionResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o LookupSubscriptionResultOutput) DeliveryPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupSubscriptionResult) interface{} { return v.DeliveryPolicy }).(pulumi.AnyOutput) +} + +// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o LookupSubscriptionResultOutput) FilterPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupSubscriptionResult) interface{} { return v.FilterPolicy }).(pulumi.AnyOutput) +} + +// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. +func (o LookupSubscriptionResultOutput) FilterPolicyScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSubscriptionResult) *string { return v.FilterPolicyScope }).(pulumi.StringPtrOutput) +} + +// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. +func (o LookupSubscriptionResultOutput) RawMessageDelivery() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupSubscriptionResult) *bool { return v.RawMessageDelivery }).(pulumi.BoolPtrOutput) +} + +// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o LookupSubscriptionResultOutput) RedrivePolicy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupSubscriptionResult) interface{} { return v.RedrivePolicy }).(pulumi.AnyOutput) +} + +// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o LookupSubscriptionResultOutput) ReplayPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupSubscriptionResult) interface{} { return v.ReplayPolicy }).(pulumi.AnyOutput) +} + +// This property applies only to Amazon Data Firehose delivery stream subscriptions. +func (o LookupSubscriptionResultOutput) SubscriptionRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSubscriptionResult) *string { return v.SubscriptionRoleArn }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSubscriptionResultOutput{}) +} diff --git a/sdk/go/aws/sns/init.go b/sdk/go/aws/sns/init.go index 1affecd6a6..cbf64b4012 100644 --- a/sdk/go/aws/sns/init.go +++ b/sdk/go/aws/sns/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws-native:sns:Subscription": + r = &Subscription{} case "aws-native:sns:Topic": r = &Topic{} case "aws-native:sns:TopicInlinePolicy": diff --git a/sdk/go/aws/sns/subscription.go b/sdk/go/aws/sns/subscription.go new file mode 100644 index 0000000000..439809c63f --- /dev/null +++ b/sdk/go/aws/sns/subscription.go @@ -0,0 +1,279 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sns + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource Type definition for AWS::SNS::Subscription +type Subscription struct { + pulumi.CustomResourceState + + // Arn of the subscription + Arn pulumi.StringOutput `pulumi:"arn"` + // The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + DeliveryPolicy pulumi.AnyOutput `pulumi:"deliveryPolicy"` + // The subscription's endpoint. The endpoint value depends on the protocol that you specify. + Endpoint pulumi.StringPtrOutput `pulumi:"endpoint"` + // The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + FilterPolicy pulumi.AnyOutput `pulumi:"filterPolicy"` + // This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + FilterPolicyScope pulumi.StringPtrOutput `pulumi:"filterPolicyScope"` + // The subscription's protocol. + Protocol pulumi.StringOutput `pulumi:"protocol"` + // When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + RawMessageDelivery pulumi.BoolPtrOutput `pulumi:"rawMessageDelivery"` + // When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + RedrivePolicy pulumi.AnyOutput `pulumi:"redrivePolicy"` + // For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + Region pulumi.StringPtrOutput `pulumi:"region"` + // Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + ReplayPolicy pulumi.AnyOutput `pulumi:"replayPolicy"` + // This property applies only to Amazon Data Firehose delivery stream subscriptions. + SubscriptionRoleArn pulumi.StringPtrOutput `pulumi:"subscriptionRoleArn"` + // The ARN of the topic to subscribe to. + TopicArn pulumi.StringOutput `pulumi:"topicArn"` +} + +// NewSubscription registers a new resource with the given unique name, arguments, and options. +func NewSubscription(ctx *pulumi.Context, + name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Protocol == nil { + return nil, errors.New("invalid value for required argument 'Protocol'") + } + if args.TopicArn == nil { + return nil, errors.New("invalid value for required argument 'TopicArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "endpoint", + "protocol", + "topicArn", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Subscription + err := ctx.RegisterResource("aws-native:sns:Subscription", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSubscription gets an existing Subscription 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 GetSubscription(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error) { + var resource Subscription + err := ctx.ReadResource("aws-native:sns:Subscription", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Subscription resources. +type subscriptionState struct { +} + +type SubscriptionState struct { +} + +func (SubscriptionState) ElementType() reflect.Type { + return reflect.TypeOf((*subscriptionState)(nil)).Elem() +} + +type subscriptionArgs struct { + // The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + DeliveryPolicy interface{} `pulumi:"deliveryPolicy"` + // The subscription's endpoint. The endpoint value depends on the protocol that you specify. + Endpoint *string `pulumi:"endpoint"` + // The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + FilterPolicy interface{} `pulumi:"filterPolicy"` + // This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + FilterPolicyScope *string `pulumi:"filterPolicyScope"` + // The subscription's protocol. + Protocol string `pulumi:"protocol"` + // When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + RawMessageDelivery *bool `pulumi:"rawMessageDelivery"` + // When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + RedrivePolicy interface{} `pulumi:"redrivePolicy"` + // For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + Region *string `pulumi:"region"` + // Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + ReplayPolicy interface{} `pulumi:"replayPolicy"` + // This property applies only to Amazon Data Firehose delivery stream subscriptions. + SubscriptionRoleArn *string `pulumi:"subscriptionRoleArn"` + // The ARN of the topic to subscribe to. + TopicArn string `pulumi:"topicArn"` +} + +// The set of arguments for constructing a Subscription resource. +type SubscriptionArgs struct { + // The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + DeliveryPolicy pulumi.Input + // The subscription's endpoint. The endpoint value depends on the protocol that you specify. + Endpoint pulumi.StringPtrInput + // The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + FilterPolicy pulumi.Input + // This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + FilterPolicyScope pulumi.StringPtrInput + // The subscription's protocol. + Protocol pulumi.StringInput + // When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + RawMessageDelivery pulumi.BoolPtrInput + // When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + RedrivePolicy pulumi.Input + // For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + Region pulumi.StringPtrInput + // Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + // + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + ReplayPolicy pulumi.Input + // This property applies only to Amazon Data Firehose delivery stream subscriptions. + SubscriptionRoleArn pulumi.StringPtrInput + // The ARN of the topic to subscribe to. + TopicArn pulumi.StringInput +} + +func (SubscriptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*subscriptionArgs)(nil)).Elem() +} + +type SubscriptionInput interface { + pulumi.Input + + ToSubscriptionOutput() SubscriptionOutput + ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput +} + +func (*Subscription) ElementType() reflect.Type { + return reflect.TypeOf((**Subscription)(nil)).Elem() +} + +func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput { + return i.ToSubscriptionOutputWithContext(context.Background()) +} + +func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubscriptionOutput) +} + +type SubscriptionOutput struct{ *pulumi.OutputState } + +func (SubscriptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Subscription)(nil)).Elem() +} + +func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput { + return o +} + +func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput { + return o +} + +// Arn of the subscription +func (o SubscriptionOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o SubscriptionOutput) DeliveryPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v *Subscription) pulumi.AnyOutput { return v.DeliveryPolicy }).(pulumi.AnyOutput) +} + +// The subscription's endpoint. The endpoint value depends on the protocol that you specify. +func (o SubscriptionOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringPtrOutput { return v.Endpoint }).(pulumi.StringPtrOutput) +} + +// The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o SubscriptionOutput) FilterPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v *Subscription) pulumi.AnyOutput { return v.FilterPolicy }).(pulumi.AnyOutput) +} + +// This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. +func (o SubscriptionOutput) FilterPolicyScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringPtrOutput { return v.FilterPolicyScope }).(pulumi.StringPtrOutput) +} + +// The subscription's protocol. +func (o SubscriptionOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringOutput { return v.Protocol }).(pulumi.StringOutput) +} + +// When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. +func (o SubscriptionOutput) RawMessageDelivery() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Subscription) pulumi.BoolPtrOutput { return v.RawMessageDelivery }).(pulumi.BoolPtrOutput) +} + +// When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o SubscriptionOutput) RedrivePolicy() pulumi.AnyOutput { + return o.ApplyT(func(v *Subscription) pulumi.AnyOutput { return v.RedrivePolicy }).(pulumi.AnyOutput) +} + +// For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. +func (o SubscriptionOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringPtrOutput { return v.Region }).(pulumi.StringPtrOutput) +} + +// Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. +// +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. +func (o SubscriptionOutput) ReplayPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v *Subscription) pulumi.AnyOutput { return v.ReplayPolicy }).(pulumi.AnyOutput) +} + +// This property applies only to Amazon Data Firehose delivery stream subscriptions. +func (o SubscriptionOutput) SubscriptionRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringPtrOutput { return v.SubscriptionRoleArn }).(pulumi.StringPtrOutput) +} + +// The ARN of the topic to subscribe to. +func (o SubscriptionOutput) TopicArn() pulumi.StringOutput { + return o.ApplyT(func(v *Subscription) pulumi.StringOutput { return v.TopicArn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SubscriptionInput)(nil)).Elem(), &Subscription{}) + pulumi.RegisterOutputType(SubscriptionOutput{}) +} diff --git a/sdk/go/aws/sns/topic.go b/sdk/go/aws/sns/topic.go index 08fd291b9a..0f3fa1e4e5 100644 --- a/sdk/go/aws/sns/topic.go +++ b/sdk/go/aws/sns/topic.go @@ -16,6 +16,162 @@ import ( // // One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*. // The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. +// +// ## Example Usage +// ### Example +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns" +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// carSalesTopic, err := sns.NewTopic(ctx, "carSalesTopic", nil) +// if err != nil { +// return err +// } +// erpIntegrationQueue, err := sqs.NewQueue(ctx, "erpIntegrationQueue", nil) +// if err != nil { +// return err +// } +// _, err = sns.NewSubscription(ctx, "erpSubscription", &sns.SubscriptionArgs{ +// TopicArn: carSalesTopic.ID(), +// Endpoint: erpIntegrationQueue.Arn, +// Protocol: pulumi.String("sqs"), +// RawMessageDelivery: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// crmIntegrationQueue, err := sqs.NewQueue(ctx, "crmIntegrationQueue", nil) +// if err != nil { +// return err +// } +// _, err = sns.NewSubscription(ctx, "crmSubscription", &sns.SubscriptionArgs{ +// TopicArn: carSalesTopic.ID(), +// Endpoint: crmIntegrationQueue.Arn, +// Protocol: pulumi.String("sqs"), +// RawMessageDelivery: pulumi.Bool(true), +// FilterPolicy: pulumi.Any(map[string]interface{}{ +// "buyer-class": []string{ +// "vip", +// }, +// }), +// }) +// if err != nil { +// return err +// } +// cfg := config.New(ctx, "") +// myHttpEndpoint := cfg.Require("myHttpEndpoint") +// _, err = sns.NewSubscription(ctx, "scmSubscription", &sns.SubscriptionArgs{ +// TopicArn: carSalesTopic.ID(), +// Endpoint: pulumi.String(myHttpEndpoint), +// Protocol: pulumi.String("https"), +// DeliveryPolicy: pulumi.Any(map[string]interface{}{ +// "healthyRetryPolicy": map[string]interface{}{ +// "numRetries": 20, +// "minDelayTarget": 10, +// "maxDelayTarget": 30, +// "numMinDelayRetries": 3, +// "numMaxDelayRetries": 17, +// "numNoDelayRetries": 0, +// "backoffFunction": "exponential", +// }, +// }), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Example +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/sns" +// "github.com/pulumi/pulumi-aws-native/sdk/go/aws/sqs" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// carSalesTopic, err := sns.NewTopic(ctx, "carSalesTopic", nil) +// if err != nil { +// return err +// } +// erpIntegrationQueue, err := sqs.NewQueue(ctx, "erpIntegrationQueue", nil) +// if err != nil { +// return err +// } +// _, err = sns.NewSubscription(ctx, "erpSubscription", &sns.SubscriptionArgs{ +// TopicArn: carSalesTopic.ID(), +// Endpoint: erpIntegrationQueue.Arn, +// Protocol: pulumi.String("sqs"), +// RawMessageDelivery: pulumi.Bool(true), +// }) +// if err != nil { +// return err +// } +// crmIntegrationQueue, err := sqs.NewQueue(ctx, "crmIntegrationQueue", nil) +// if err != nil { +// return err +// } +// _, err = sns.NewSubscription(ctx, "crmSubscription", &sns.SubscriptionArgs{ +// TopicArn: carSalesTopic.ID(), +// Endpoint: crmIntegrationQueue.Arn, +// Protocol: pulumi.String("sqs"), +// RawMessageDelivery: pulumi.Bool(true), +// FilterPolicy: pulumi.Any(map[string]interface{}{ +// "buyer-class": []string{ +// "vip", +// }, +// }), +// }) +// if err != nil { +// return err +// } +// cfg := config.New(ctx, "") +// myHttpEndpoint := cfg.Require("myHttpEndpoint") +// _, err = sns.NewSubscription(ctx, "scmSubscription", &sns.SubscriptionArgs{ +// TopicArn: carSalesTopic.ID(), +// Endpoint: pulumi.String(myHttpEndpoint), +// Protocol: pulumi.String("https"), +// DeliveryPolicy: pulumi.Any(map[string]interface{}{ +// "healthyRetryPolicy": map[string]interface{}{ +// "numRetries": 20, +// "minDelayTarget": 10, +// "maxDelayTarget": 30, +// "numMinDelayRetries": 3, +// "numMaxDelayRetries": 17, +// "numNoDelayRetries": 0, +// "backoffFunction": "exponential", +// }, +// }), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` type Topic struct { pulumi.CustomResourceState diff --git a/sdk/nodejs/amplify/app.ts b/sdk/nodejs/amplify/app.ts index 1fee2f6d94..c1a6cb72ec 100644 --- a/sdk/nodejs/amplify/app.ts +++ b/sdk/nodejs/amplify/app.ts @@ -71,6 +71,10 @@ export class App extends pulumi.CustomResource { * The build specification (build spec) for an Amplify app. */ public readonly buildSpec!: pulumi.Output; + /** + * The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + */ + public readonly cacheConfig!: pulumi.Output; /** * The custom HTTP headers for an Amplify app. */ @@ -117,6 +121,8 @@ export class App extends pulumi.CustomResource { public readonly oauthToken!: pulumi.Output; /** * The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + * + * If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . */ public readonly platform!: pulumi.Output; /** @@ -143,6 +149,7 @@ export class App extends pulumi.CustomResource { resourceInputs["autoBranchCreationConfig"] = args ? args.autoBranchCreationConfig : undefined; resourceInputs["basicAuthConfig"] = args ? args.basicAuthConfig : undefined; resourceInputs["buildSpec"] = args ? args.buildSpec : undefined; + resourceInputs["cacheConfig"] = args ? args.cacheConfig : undefined; resourceInputs["customHeaders"] = args ? args.customHeaders : undefined; resourceInputs["customRules"] = args ? args.customRules : undefined; resourceInputs["description"] = args ? args.description : undefined; @@ -166,6 +173,7 @@ export class App extends pulumi.CustomResource { resourceInputs["autoBranchCreationConfig"] = undefined /*out*/; resourceInputs["basicAuthConfig"] = undefined /*out*/; resourceInputs["buildSpec"] = undefined /*out*/; + resourceInputs["cacheConfig"] = undefined /*out*/; resourceInputs["customHeaders"] = undefined /*out*/; resourceInputs["customRules"] = undefined /*out*/; resourceInputs["defaultDomain"] = undefined /*out*/; @@ -210,6 +218,10 @@ export interface AppArgs { * The build specification (build spec) for an Amplify app. */ buildSpec?: pulumi.Input; + /** + * The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + */ + cacheConfig?: pulumi.Input; /** * The custom HTTP headers for an Amplify app. */ @@ -252,6 +264,8 @@ export interface AppArgs { oauthToken?: pulumi.Input; /** * The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + * + * If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . */ platform?: pulumi.Input; /** diff --git a/sdk/nodejs/amplify/getApp.ts b/sdk/nodejs/amplify/getApp.ts index aaf91408e5..d1565e7b41 100644 --- a/sdk/nodejs/amplify/getApp.ts +++ b/sdk/nodejs/amplify/getApp.ts @@ -42,6 +42,10 @@ export interface GetAppResult { * The build specification (build spec) for an Amplify app. */ readonly buildSpec?: string; + /** + * The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + */ + readonly cacheConfig?: outputs.amplify.AppCacheConfig; /** * The custom HTTP headers for an Amplify app. */ @@ -78,6 +82,8 @@ export interface GetAppResult { readonly name?: string; /** * The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + * + * If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . */ readonly platform?: enums.amplify.AppPlatform; /** diff --git a/sdk/nodejs/applicationsignals/getServiceLevelObjective.ts b/sdk/nodejs/applicationsignals/getServiceLevelObjective.ts index 908c5afc7c..6cb9ef39b6 100644 --- a/sdk/nodejs/applicationsignals/getServiceLevelObjective.ts +++ b/sdk/nodejs/applicationsignals/getServiceLevelObjective.ts @@ -38,6 +38,10 @@ export interface GetServiceLevelObjectiveResult { * An optional description for this SLO. Default is 'No description' */ readonly description?: string; + /** + * Displays whether this is a period-based SLO or a request-based SLO. + */ + readonly evaluationType?: enums.applicationsignals.ServiceLevelObjectiveEvaluationType; /** * This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. */ @@ -47,7 +51,11 @@ export interface GetServiceLevelObjectiveResult { */ readonly lastUpdatedTime?: number; /** - * A structure containing information about the performance metric that this SLO monitors. + * A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + */ + readonly requestBasedSli?: outputs.applicationsignals.ServiceLevelObjectiveRequestBasedSli; + /** + * A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. */ readonly sli?: outputs.applicationsignals.ServiceLevelObjectiveSli; /** diff --git a/sdk/nodejs/applicationsignals/serviceLevelObjective.ts b/sdk/nodejs/applicationsignals/serviceLevelObjective.ts index 2aee7543b9..436154d741 100644 --- a/sdk/nodejs/applicationsignals/serviceLevelObjective.ts +++ b/sdk/nodejs/applicationsignals/serviceLevelObjective.ts @@ -49,6 +49,10 @@ export class ServiceLevelObjective extends pulumi.CustomResource { * An optional description for this SLO. Default is 'No description' */ public readonly description!: pulumi.Output; + /** + * Displays whether this is a period-based SLO or a request-based SLO. + */ + public /*out*/ readonly evaluationType!: pulumi.Output; /** * This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. */ @@ -62,9 +66,13 @@ export class ServiceLevelObjective extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * A structure containing information about the performance metric that this SLO monitors. + * A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + */ + public readonly requestBasedSli!: pulumi.Output; + /** + * A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. */ - public readonly sli!: pulumi.Output; + public readonly sli!: pulumi.Output; /** * A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. * @@ -79,28 +87,29 @@ export class ServiceLevelObjective extends pulumi.CustomResource { * @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: ServiceLevelObjectiveArgs, opts?: pulumi.CustomResourceOptions) { + constructor(name: string, args?: ServiceLevelObjectiveArgs, opts?: pulumi.CustomResourceOptions) { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { - if ((!args || args.sli === undefined) && !opts.urn) { - throw new Error("Missing required property 'sli'"); - } resourceInputs["description"] = args ? args.description : undefined; resourceInputs["goal"] = args ? args.goal : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["requestBasedSli"] = args ? args.requestBasedSli : undefined; resourceInputs["sli"] = args ? args.sli : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdTime"] = undefined /*out*/; + resourceInputs["evaluationType"] = undefined /*out*/; resourceInputs["lastUpdatedTime"] = undefined /*out*/; } else { resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdTime"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; + resourceInputs["evaluationType"] = undefined /*out*/; resourceInputs["goal"] = undefined /*out*/; resourceInputs["lastUpdatedTime"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; + resourceInputs["requestBasedSli"] = undefined /*out*/; resourceInputs["sli"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } @@ -128,9 +137,13 @@ export interface ServiceLevelObjectiveArgs { */ name?: pulumi.Input; /** - * A structure containing information about the performance metric that this SLO monitors. + * A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + */ + requestBasedSli?: pulumi.Input; + /** + * A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. */ - sli: pulumi.Input; + sli?: pulumi.Input; /** * A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. * diff --git a/sdk/nodejs/cloudformation/getStack.ts b/sdk/nodejs/cloudformation/getStack.ts index f497145429..5211550cd4 100644 --- a/sdk/nodejs/cloudformation/getStack.ts +++ b/sdk/nodejs/cloudformation/getStack.ts @@ -92,7 +92,7 @@ export interface GetStackResult { */ readonly lastUpdateTime?: string; /** - * The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + * The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). */ readonly notificationArns?: string[]; /** @@ -112,7 +112,7 @@ export interface GetStackResult { /** * For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. * - * For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + * For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . */ readonly parentId?: string; /** @@ -124,7 +124,7 @@ export interface GetStackResult { /** * For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. * - * For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + * For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . */ readonly rootId?: string; /** @@ -146,7 +146,7 @@ export interface GetStackResult { */ readonly stackStatusReason?: string; /** - * Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + * Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. */ readonly tags?: outputs.Tag[]; /** diff --git a/sdk/nodejs/cloudformation/stack.ts b/sdk/nodejs/cloudformation/stack.ts index 1f171fa5e4..a4dbc505fe 100644 --- a/sdk/nodejs/cloudformation/stack.ts +++ b/sdk/nodejs/cloudformation/stack.ts @@ -103,7 +103,7 @@ export class Stack extends pulumi.CustomResource { */ public /*out*/ readonly lastUpdateTime!: pulumi.Output; /** - * The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + * The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). */ public readonly notificationArns!: pulumi.Output; /** @@ -123,7 +123,7 @@ export class Stack extends pulumi.CustomResource { /** * For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. * - * For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + * For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . */ public /*out*/ readonly parentId!: pulumi.Output; /** @@ -135,7 +135,7 @@ export class Stack extends pulumi.CustomResource { /** * For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. * - * For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + * For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . */ public /*out*/ readonly rootId!: pulumi.Output; /** @@ -167,7 +167,7 @@ export class Stack extends pulumi.CustomResource { */ public readonly stackStatusReason!: pulumi.Output; /** - * Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + * Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. */ public readonly tags!: pulumi.Output; /** @@ -315,7 +315,7 @@ export interface StackArgs { */ enableTerminationProtection?: pulumi.Input; /** - * The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + * The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). */ notificationArns?: pulumi.Input[]>; /** @@ -355,7 +355,7 @@ export interface StackArgs { */ stackStatusReason?: pulumi.Input; /** - * Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + * Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. */ tags?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/codebuild/fleet.ts b/sdk/nodejs/codebuild/fleet.ts index 07a637c950..20776d7986 100644 --- a/sdk/nodejs/codebuild/fleet.ts +++ b/sdk/nodejs/codebuild/fleet.ts @@ -46,6 +46,8 @@ export class Fleet extends pulumi.CustomResource { */ public readonly baseCapacity!: pulumi.Output; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -70,6 +72,8 @@ export class Fleet extends pulumi.CustomResource { */ public readonly computeType!: pulumi.Output; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -86,10 +90,14 @@ export class Fleet extends pulumi.CustomResource { */ public readonly fleetServiceRole!: pulumi.Output; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the VPC configuration that AWS CodeBuild accesses. */ public readonly fleetVpcConfig!: pulumi.Output; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The Amazon Machine Image (AMI) of the compute fleet. */ public readonly imageId!: pulumi.Output; @@ -160,6 +168,8 @@ export interface FleetArgs { */ baseCapacity?: pulumi.Input; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -184,6 +194,8 @@ export interface FleetArgs { */ computeType?: pulumi.Input; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -200,10 +212,14 @@ export interface FleetArgs { */ fleetServiceRole?: pulumi.Input; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the VPC configuration that AWS CodeBuild accesses. */ fleetVpcConfig?: pulumi.Input; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The Amazon Machine Image (AMI) of the compute fleet. */ imageId?: pulumi.Input; diff --git a/sdk/nodejs/codebuild/getFleet.ts b/sdk/nodejs/codebuild/getFleet.ts index 43db283ecf..7a9148c193 100644 --- a/sdk/nodejs/codebuild/getFleet.ts +++ b/sdk/nodejs/codebuild/getFleet.ts @@ -35,6 +35,8 @@ export interface GetFleetResult { */ readonly baseCapacity?: number; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -59,6 +61,8 @@ export interface GetFleetResult { */ readonly computeType?: enums.codebuild.FleetComputeType; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -75,10 +79,14 @@ export interface GetFleetResult { */ readonly fleetServiceRole?: string; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the VPC configuration that AWS CodeBuild accesses. */ readonly fleetVpcConfig?: outputs.codebuild.FleetVpcConfig; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The Amazon Machine Image (AMI) of the compute fleet. */ readonly imageId?: string; diff --git a/sdk/nodejs/cognito/getUserPool.ts b/sdk/nodejs/cognito/getUserPool.ts index a2b296a9a9..d84d92bed0 100644 --- a/sdk/nodejs/cognito/getUserPool.ts +++ b/sdk/nodejs/cognito/getUserPool.ts @@ -31,7 +31,9 @@ export interface GetUserPoolResult { */ readonly accountRecoverySetting?: outputs.cognito.UserPoolAccountRecoverySetting; /** - * The configuration for creating a new user profile. + * The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + * + * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ readonly adminCreateUserConfig?: outputs.cognito.UserPoolAdminCreateUserConfig; /** @@ -75,13 +77,7 @@ export interface GetUserPoolResult { */ readonly emailVerificationSubject?: string; /** - * The Lambda trigger configuration information for the new user pool. - * - * > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - * > - * > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - * > - * > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + * A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. */ readonly lambdaConfig?: outputs.cognito.UserPoolLambdaConfig; /** @@ -93,7 +89,9 @@ export interface GetUserPoolResult { */ readonly mfaConfiguration?: string; /** - * The policy associated with a user pool. + * A list of user pool policies. Contains the policy that sets password-complexity requirements. + * + * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ readonly policies?: outputs.cognito.UserPoolPolicies; /** @@ -157,7 +155,9 @@ export interface GetUserPoolResult { */ readonly usernameConfiguration?: outputs.cognito.UserPoolUsernameConfiguration; /** - * The template for the verification message that the user sees when the app requests permission to access the user's information. + * The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + * + * Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. */ readonly verificationMessageTemplate?: outputs.cognito.UserPoolVerificationMessageTemplate; } diff --git a/sdk/nodejs/cognito/getUserPoolClient.ts b/sdk/nodejs/cognito/getUserPoolClient.ts index a6567b6c80..f8f41f62fe 100644 --- a/sdk/nodejs/cognito/getUserPoolClient.ts +++ b/sdk/nodejs/cognito/getUserPoolClient.ts @@ -160,9 +160,9 @@ export interface GetUserPoolClientResult { */ readonly preventUserExistenceErrors?: string; /** - * The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + * The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. * - * When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + * When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. */ readonly readAttributes?: string[]; /** diff --git a/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts b/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts index 4a1921d63d..d4fe70c944 100644 --- a/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts +++ b/sdk/nodejs/cognito/getUserPoolRiskConfigurationAttachment.ts @@ -25,22 +25,22 @@ export interface GetUserPoolRiskConfigurationAttachmentArgs { */ clientId: string; /** - * The user pool ID. + * The ID of the user pool that has the risk configuration applied. */ userPoolId: string; } export interface GetUserPoolRiskConfigurationAttachmentResult { /** - * The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + * The settings for automated responses and notification templates for adaptive authentication with advanced security features. */ readonly accountTakeoverRiskConfiguration?: outputs.cognito.UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType; /** - * The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + * Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. */ readonly compromisedCredentialsRiskConfiguration?: outputs.cognito.UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType; /** - * The configuration to override the risk decision. + * Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. */ readonly riskExceptionConfiguration?: outputs.cognito.UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType; } @@ -57,7 +57,7 @@ export interface GetUserPoolRiskConfigurationAttachmentOutputArgs { */ clientId: pulumi.Input; /** - * The user pool ID. + * The ID of the user pool that has the risk configuration applied. */ userPoolId: pulumi.Input; } diff --git a/sdk/nodejs/cognito/userPool.ts b/sdk/nodejs/cognito/userPool.ts index 1ef98aa60c..2ad7996bc3 100644 --- a/sdk/nodejs/cognito/userPool.ts +++ b/sdk/nodejs/cognito/userPool.ts @@ -42,7 +42,9 @@ export class UserPool extends pulumi.CustomResource { */ public readonly accountRecoverySetting!: pulumi.Output; /** - * The configuration for creating a new user profile. + * The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + * + * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ public readonly adminCreateUserConfig!: pulumi.Output; /** @@ -95,13 +97,7 @@ export class UserPool extends pulumi.CustomResource { */ public readonly enabledMfas!: pulumi.Output; /** - * The Lambda trigger configuration information for the new user pool. - * - * > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - * > - * > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - * > - * > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + * A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. */ public readonly lambdaConfig!: pulumi.Output; /** @@ -113,7 +109,9 @@ export class UserPool extends pulumi.CustomResource { */ public readonly mfaConfiguration!: pulumi.Output; /** - * The policy associated with a user pool. + * A list of user pool policies. Contains the policy that sets password-complexity requirements. + * + * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ public readonly policies!: pulumi.Output; /** @@ -177,7 +175,9 @@ export class UserPool extends pulumi.CustomResource { */ public readonly usernameConfiguration!: pulumi.Output; /** - * The template for the verification message that the user sees when the app requests permission to access the user's information. + * The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + * + * Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. */ public readonly verificationMessageTemplate!: pulumi.Output; @@ -264,7 +264,9 @@ export interface UserPoolArgs { */ accountRecoverySetting?: pulumi.Input; /** - * The configuration for creating a new user profile. + * The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + * + * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ adminCreateUserConfig?: pulumi.Input; /** @@ -313,13 +315,7 @@ export interface UserPoolArgs { */ enabledMfas?: pulumi.Input[]>; /** - * The Lambda trigger configuration information for the new user pool. - * - * > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - * > - * > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - * > - * > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + * A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. */ lambdaConfig?: pulumi.Input; /** @@ -331,7 +327,9 @@ export interface UserPoolArgs { */ mfaConfiguration?: pulumi.Input; /** - * The policy associated with a user pool. + * A list of user pool policies. Contains the policy that sets password-complexity requirements. + * + * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ policies?: pulumi.Input; /** @@ -383,7 +381,9 @@ export interface UserPoolArgs { */ usernameConfiguration?: pulumi.Input; /** - * The template for the verification message that the user sees when the app requests permission to access the user's information. + * The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + * + * Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. */ verificationMessageTemplate?: pulumi.Input; } diff --git a/sdk/nodejs/cognito/userPoolClient.ts b/sdk/nodejs/cognito/userPoolClient.ts index 70a6d03b6d..8fa185b63f 100644 --- a/sdk/nodejs/cognito/userPoolClient.ts +++ b/sdk/nodejs/cognito/userPoolClient.ts @@ -170,9 +170,9 @@ export class UserPoolClient extends pulumi.CustomResource { */ public readonly preventUserExistenceErrors!: pulumi.Output; /** - * The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + * The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. * - * When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + * When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. */ public readonly readAttributes!: pulumi.Output; /** @@ -408,9 +408,9 @@ export interface UserPoolClientArgs { */ preventUserExistenceErrors?: pulumi.Input; /** - * The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + * The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. * - * When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + * When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. */ readAttributes?: pulumi.Input[]>; /** diff --git a/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts b/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts index d037359697..5119233b99 100644 --- a/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts +++ b/sdk/nodejs/cognito/userPoolRiskConfigurationAttachment.ts @@ -38,7 +38,7 @@ export class UserPoolRiskConfigurationAttachment extends pulumi.CustomResource { } /** - * The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + * The settings for automated responses and notification templates for adaptive authentication with advanced security features. */ public readonly accountTakeoverRiskConfiguration!: pulumi.Output; /** @@ -46,15 +46,15 @@ export class UserPoolRiskConfigurationAttachment extends pulumi.CustomResource { */ public readonly clientId!: pulumi.Output; /** - * The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + * Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. */ public readonly compromisedCredentialsRiskConfiguration!: pulumi.Output; /** - * The configuration to override the risk decision. + * Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. */ public readonly riskExceptionConfiguration!: pulumi.Output; /** - * The user pool ID. + * The ID of the user pool that has the risk configuration applied. */ public readonly userPoolId!: pulumi.Output; @@ -99,7 +99,7 @@ export class UserPoolRiskConfigurationAttachment extends pulumi.CustomResource { */ export interface UserPoolRiskConfigurationAttachmentArgs { /** - * The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + * The settings for automated responses and notification templates for adaptive authentication with advanced security features. */ accountTakeoverRiskConfiguration?: pulumi.Input; /** @@ -107,15 +107,15 @@ export interface UserPoolRiskConfigurationAttachmentArgs { */ clientId: pulumi.Input; /** - * The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + * Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. */ compromisedCredentialsRiskConfiguration?: pulumi.Input; /** - * The configuration to override the risk decision. + * Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. */ riskExceptionConfiguration?: pulumi.Input; /** - * The user pool ID. + * The ID of the user pool that has the risk configuration applied. */ userPoolId: pulumi.Input; } diff --git a/sdk/nodejs/databrew/getRuleset.ts b/sdk/nodejs/databrew/getRuleset.ts index 1893b3562c..179d081ae2 100644 --- a/sdk/nodejs/databrew/getRuleset.ts +++ b/sdk/nodejs/databrew/getRuleset.ts @@ -34,12 +34,6 @@ export interface GetRulesetResult { * List of the data quality rules in the ruleset */ readonly rules?: outputs.databrew.RulesetRule[]; - /** - * An array of key-value pairs to apply to this resource. - * - * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - */ - readonly tags?: outputs.Tag[]; } /** * Resource schema for AWS::DataBrew::Ruleset. diff --git a/sdk/nodejs/databrew/ruleset.ts b/sdk/nodejs/databrew/ruleset.ts index 65d6a2413e..a3fdac3c74 100644 --- a/sdk/nodejs/databrew/ruleset.ts +++ b/sdk/nodejs/databrew/ruleset.ts @@ -54,7 +54,7 @@ export class Ruleset extends pulumi.CustomResource { * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ - public readonly tags!: pulumi.Output; + public readonly tags!: pulumi.Output; /** * Arn of the target resource (dataset) to apply the ruleset to */ @@ -90,7 +90,7 @@ export class Ruleset extends pulumi.CustomResource { resourceInputs["targetArn"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["name", "targetArn"] }; + const replaceOnChanges = { replaceOnChanges: ["name", "tags[*]", "targetArn"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Ruleset.__pulumiType, name, resourceInputs, opts); } @@ -117,7 +117,7 @@ export interface RulesetArgs { * * For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . */ - tags?: pulumi.Input[]>; + tags?: pulumi.Input[]>; /** * Arn of the target resource (dataset) to apply the ruleset to */ diff --git a/sdk/nodejs/ecs/getService.ts b/sdk/nodejs/ecs/getService.ts index 916a6300d1..ad9212179f 100644 --- a/sdk/nodejs/ecs/getService.ts +++ b/sdk/nodejs/ecs/getService.ts @@ -9,8 +9,8 @@ import * as utilities from "../utilities"; /** * The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - * The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - * Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + * The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + * Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. */ export function getService(args: GetServiceArgs, opts?: pulumi.InvokeOptions): Promise { @@ -90,6 +90,7 @@ export interface GetServiceResult { readonly platformVersion?: string; /** * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + * You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. * The default is ``NONE``. */ readonly propagateTags?: enums.ecs.ServicePropagateTags; @@ -123,8 +124,8 @@ export interface GetServiceResult { } /** * The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - * The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - * Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + * The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + * Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. */ export function getServiceOutput(args: GetServiceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getService(a, opts)) diff --git a/sdk/nodejs/ecs/service.ts b/sdk/nodejs/ecs/service.ts index d836425fe3..4100716956 100644 --- a/sdk/nodejs/ecs/service.ts +++ b/sdk/nodejs/ecs/service.ts @@ -9,8 +9,8 @@ import * as utilities from "../utilities"; /** * The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - * The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - * Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + * The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + * Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. */ export class Service extends pulumi.CustomResource { /** @@ -108,6 +108,7 @@ export class Service extends pulumi.CustomResource { public readonly platformVersion!: pulumi.Output; /** * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + * You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. * The default is ``NONE``. */ public readonly propagateTags!: pulumi.Output; @@ -306,6 +307,7 @@ export interface ServiceArgs { platformVersion?: pulumi.Input; /** * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + * You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. * The default is ``NONE``. */ propagateTags?: pulumi.Input; diff --git a/sdk/nodejs/elasticloadbalancingv2/getListener.ts b/sdk/nodejs/elasticloadbalancingv2/getListener.ts index c135521f84..c9b2f1edc2 100644 --- a/sdk/nodejs/elasticloadbalancingv2/getListener.ts +++ b/sdk/nodejs/elasticloadbalancingv2/getListener.ts @@ -44,6 +44,7 @@ export interface GetListenerResult { * The Amazon Resource Name (ARN) of the listener. */ readonly listenerArn?: string; + readonly listenerAttributes?: outputs.elasticloadbalancingv2.ListenerAttribute[]; /** * The mutual authentication configuration information. */ diff --git a/sdk/nodejs/elasticloadbalancingv2/listener.ts b/sdk/nodejs/elasticloadbalancingv2/listener.ts index 840b7653d3..abd2ffec9c 100644 --- a/sdk/nodejs/elasticloadbalancingv2/listener.ts +++ b/sdk/nodejs/elasticloadbalancingv2/listener.ts @@ -55,6 +55,7 @@ export class Listener extends pulumi.CustomResource { * The Amazon Resource Name (ARN) of the listener. */ public /*out*/ readonly listenerArn!: pulumi.Output; + public readonly listenerAttributes!: pulumi.Output; /** * The Amazon Resource Name (ARN) of the load balancer. */ @@ -98,6 +99,7 @@ export class Listener extends pulumi.CustomResource { resourceInputs["alpnPolicy"] = args ? args.alpnPolicy : undefined; resourceInputs["certificates"] = args ? args.certificates : undefined; resourceInputs["defaultActions"] = args ? args.defaultActions : undefined; + resourceInputs["listenerAttributes"] = args ? args.listenerAttributes : undefined; resourceInputs["loadBalancerArn"] = args ? args.loadBalancerArn : undefined; resourceInputs["mutualAuthentication"] = args ? args.mutualAuthentication : undefined; resourceInputs["port"] = args ? args.port : undefined; @@ -109,6 +111,7 @@ export class Listener extends pulumi.CustomResource { resourceInputs["certificates"] = undefined /*out*/; resourceInputs["defaultActions"] = undefined /*out*/; resourceInputs["listenerArn"] = undefined /*out*/; + resourceInputs["listenerAttributes"] = undefined /*out*/; resourceInputs["loadBalancerArn"] = undefined /*out*/; resourceInputs["mutualAuthentication"] = undefined /*out*/; resourceInputs["port"] = undefined /*out*/; @@ -140,6 +143,7 @@ export interface ListenerArgs { * To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html). */ defaultActions: pulumi.Input[]>; + listenerAttributes?: pulumi.Input[]>; /** * The Amazon Resource Name (ARN) of the load balancer. */ diff --git a/sdk/nodejs/gamelift/fleet.ts b/sdk/nodejs/gamelift/fleet.ts index 479f24d4a4..3e898a0d4f 100644 --- a/sdk/nodejs/gamelift/fleet.ts +++ b/sdk/nodejs/gamelift/fleet.ts @@ -58,7 +58,7 @@ export class Fleet extends pulumi.CustomResource { */ public readonly computeType!: pulumi.Output; /** - * *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + * *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* * * Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . * @@ -265,7 +265,7 @@ export interface FleetArgs { */ computeType?: pulumi.Input; /** - * *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + * *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* * * Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . * diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 5862c309ba..14650c2949 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -219,6 +219,7 @@ import * as osis from "./osis"; import * as panorama from "./panorama"; import * as paymentcryptography from "./paymentcryptography"; import * as pcaconnectorad from "./pcaconnectorad"; +import * as pcaconnectorscep from "./pcaconnectorscep"; import * as personalize from "./personalize"; import * as pinpoint from "./pinpoint"; import * as pipes from "./pipes"; @@ -437,6 +438,7 @@ export { panorama, paymentcryptography, pcaconnectorad, + pcaconnectorscep, personalize, pinpoint, pipes, diff --git a/sdk/nodejs/mediaconnect/flow.ts b/sdk/nodejs/mediaconnect/flow.ts index 2119aa8c40..7bf8669812 100644 --- a/sdk/nodejs/mediaconnect/flow.ts +++ b/sdk/nodejs/mediaconnect/flow.ts @@ -54,7 +54,7 @@ export class Flow extends pulumi.CustomResource { */ public /*out*/ readonly flowAvailabilityZone!: pulumi.Output; /** - * The maintenance settings you want to use for the flow. + * The maintenance settings you want to use for the flow. */ public readonly maintenance!: pulumi.Output; /** @@ -73,6 +73,10 @@ export class Flow extends pulumi.CustomResource { * The source failover config of the flow. */ public readonly sourceFailoverConfig!: pulumi.Output; + /** + * The source monitoring config of the flow. + */ + public readonly sourceMonitoringConfig!: pulumi.Output; /** * The VPC interfaces that you added to this flow. */ @@ -98,6 +102,7 @@ export class Flow extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["source"] = args ? args.source : undefined; resourceInputs["sourceFailoverConfig"] = args ? args.sourceFailoverConfig : undefined; + resourceInputs["sourceMonitoringConfig"] = args ? args.sourceMonitoringConfig : undefined; resourceInputs["vpcInterfaces"] = args ? args.vpcInterfaces : undefined; resourceInputs["egressIp"] = undefined /*out*/; resourceInputs["flowArn"] = undefined /*out*/; @@ -112,6 +117,7 @@ export class Flow extends pulumi.CustomResource { resourceInputs["name"] = undefined /*out*/; resourceInputs["source"] = undefined /*out*/; resourceInputs["sourceFailoverConfig"] = undefined /*out*/; + resourceInputs["sourceMonitoringConfig"] = undefined /*out*/; resourceInputs["vpcInterfaces"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -130,7 +136,7 @@ export interface FlowArgs { */ availabilityZone?: pulumi.Input; /** - * The maintenance settings you want to use for the flow. + * The maintenance settings you want to use for the flow. */ maintenance?: pulumi.Input; /** @@ -149,6 +155,10 @@ export interface FlowArgs { * The source failover config of the flow. */ sourceFailoverConfig?: pulumi.Input; + /** + * The source monitoring config of the flow. + */ + sourceMonitoringConfig?: pulumi.Input; /** * The VPC interfaces that you added to this flow. */ diff --git a/sdk/nodejs/mediaconnect/getFlow.ts b/sdk/nodejs/mediaconnect/getFlow.ts index 482fae1f40..f40c925218 100644 --- a/sdk/nodejs/mediaconnect/getFlow.ts +++ b/sdk/nodejs/mediaconnect/getFlow.ts @@ -39,7 +39,7 @@ export interface GetFlowResult { */ readonly flowAvailabilityZone?: string; /** - * The maintenance settings you want to use for the flow. + * The maintenance settings you want to use for the flow. */ readonly maintenance?: outputs.mediaconnect.FlowMaintenance; /** @@ -54,6 +54,10 @@ export interface GetFlowResult { * The source failover config of the flow. */ readonly sourceFailoverConfig?: outputs.mediaconnect.FlowFailoverConfig; + /** + * The source monitoring config of the flow. + */ + readonly sourceMonitoringConfig?: outputs.mediaconnect.FlowSourceMonitoringConfig; /** * The VPC interfaces that you added to this flow. */ diff --git a/sdk/nodejs/medialive/channelPlacementGroup.ts b/sdk/nodejs/medialive/channelPlacementGroup.ts new file mode 100644 index 0000000000..94f07bf689 --- /dev/null +++ b/sdk/nodejs/medialive/channelPlacementGroup.ts @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + */ +export class ChannelPlacementGroup extends pulumi.CustomResource { + /** + * Get an existing ChannelPlacementGroup 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ChannelPlacementGroup { + return new ChannelPlacementGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:ChannelPlacementGroup'; + + /** + * Returns true if the given object is an instance of ChannelPlacementGroup. 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 ChannelPlacementGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ChannelPlacementGroup.__pulumiType; + } + + /** + * The ARN of the channel placement group. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Unique internal identifier. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * List of channel IDs added to the channel placement group. + */ + public /*out*/ readonly channels!: pulumi.Output; + /** + * The ID of the cluster the node is on. + */ + public readonly clusterId!: pulumi.Output; + /** + * The name of the channel placement group. + */ + public readonly name!: pulumi.Output; + /** + * List of nodes added to the channel placement group + */ + public readonly nodes!: pulumi.Output; + public /*out*/ readonly state!: pulumi.Output; + /** + * A collection of key-value pairs. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a ChannelPlacementGroup 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?: ChannelPlacementGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["nodes"] = args ? args.nodes : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["channels"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["channels"] = undefined /*out*/; + resourceInputs["clusterId"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["nodes"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["clusterId"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(ChannelPlacementGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ChannelPlacementGroup resource. + */ +export interface ChannelPlacementGroupArgs { + /** + * The ID of the cluster the node is on. + */ + clusterId?: pulumi.Input; + /** + * The name of the channel placement group. + */ + name?: pulumi.Input; + /** + * List of nodes added to the channel placement group + */ + nodes?: pulumi.Input[]>; + /** + * A collection of key-value pairs. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/medialive/cloudWatchAlarmTemplate.ts b/sdk/nodejs/medialive/cloudWatchAlarmTemplate.ts new file mode 100644 index 0000000000..f01e1bc0da --- /dev/null +++ b/sdk/nodejs/medialive/cloudWatchAlarmTemplate.ts @@ -0,0 +1,219 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + */ +export class CloudWatchAlarmTemplate extends pulumi.CustomResource { + /** + * Get an existing CloudWatchAlarmTemplate 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): CloudWatchAlarmTemplate { + return new CloudWatchAlarmTemplate(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:CloudWatchAlarmTemplate'; + + /** + * Returns true if the given object is an instance of CloudWatchAlarmTemplate. 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 CloudWatchAlarmTemplate { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CloudWatchAlarmTemplate.__pulumiType; + } + + /** + * A cloudwatch alarm template's ARN (Amazon Resource Name) + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + */ + public /*out*/ readonly awsId!: pulumi.Output; + public readonly comparisonOperator!: pulumi.Output; + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + */ + public readonly datapointsToAlarm!: pulumi.Output; + /** + * A resource's optional description. + */ + public readonly description!: pulumi.Output; + /** + * The number of periods over which data is compared to the specified threshold. + */ + public readonly evaluationPeriods!: pulumi.Output; + /** + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + */ + public /*out*/ readonly groupId!: pulumi.Output; + /** + * A cloudwatch alarm template group's identifier. Can be either be its id or current name. + */ + public readonly groupIdentifier!: pulumi.Output; + public /*out*/ readonly identifier!: pulumi.Output; + /** + * The name of the metric associated with the alarm. Must be compatible with targetResourceType. + */ + public readonly metricName!: pulumi.Output; + public /*out*/ readonly modifiedAt!: pulumi.Output; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + public readonly name!: pulumi.Output; + /** + * The period, in seconds, over which the specified statistic is applied. + */ + public readonly period!: pulumi.Output; + public readonly statistic!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public readonly targetResourceType!: pulumi.Output; + /** + * The threshold value to compare with the specified statistic. + */ + public readonly threshold!: pulumi.Output; + public readonly treatMissingData!: pulumi.Output; + + /** + * Create a CloudWatchAlarmTemplate 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: CloudWatchAlarmTemplateArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.comparisonOperator === undefined) && !opts.urn) { + throw new Error("Missing required property 'comparisonOperator'"); + } + if ((!args || args.evaluationPeriods === undefined) && !opts.urn) { + throw new Error("Missing required property 'evaluationPeriods'"); + } + if ((!args || args.groupIdentifier === undefined) && !opts.urn) { + throw new Error("Missing required property 'groupIdentifier'"); + } + if ((!args || args.metricName === undefined) && !opts.urn) { + throw new Error("Missing required property 'metricName'"); + } + if ((!args || args.period === undefined) && !opts.urn) { + throw new Error("Missing required property 'period'"); + } + if ((!args || args.statistic === undefined) && !opts.urn) { + throw new Error("Missing required property 'statistic'"); + } + if ((!args || args.targetResourceType === undefined) && !opts.urn) { + throw new Error("Missing required property 'targetResourceType'"); + } + if ((!args || args.threshold === undefined) && !opts.urn) { + throw new Error("Missing required property 'threshold'"); + } + if ((!args || args.treatMissingData === undefined) && !opts.urn) { + throw new Error("Missing required property 'treatMissingData'"); + } + resourceInputs["comparisonOperator"] = args ? args.comparisonOperator : undefined; + resourceInputs["datapointsToAlarm"] = args ? args.datapointsToAlarm : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["evaluationPeriods"] = args ? args.evaluationPeriods : undefined; + resourceInputs["groupIdentifier"] = args ? args.groupIdentifier : undefined; + resourceInputs["metricName"] = args ? args.metricName : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["period"] = args ? args.period : undefined; + resourceInputs["statistic"] = args ? args.statistic : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["targetResourceType"] = args ? args.targetResourceType : undefined; + resourceInputs["threshold"] = args ? args.threshold : undefined; + resourceInputs["treatMissingData"] = args ? args.treatMissingData : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["groupId"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["comparisonOperator"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["datapointsToAlarm"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["evaluationPeriods"] = undefined /*out*/; + resourceInputs["groupId"] = undefined /*out*/; + resourceInputs["groupIdentifier"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["metricName"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["period"] = undefined /*out*/; + resourceInputs["statistic"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["targetResourceType"] = undefined /*out*/; + resourceInputs["threshold"] = undefined /*out*/; + resourceInputs["treatMissingData"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["tags.*"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(CloudWatchAlarmTemplate.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a CloudWatchAlarmTemplate resource. + */ +export interface CloudWatchAlarmTemplateArgs { + comparisonOperator: pulumi.Input; + /** + * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + */ + datapointsToAlarm?: pulumi.Input; + /** + * A resource's optional description. + */ + description?: pulumi.Input; + /** + * The number of periods over which data is compared to the specified threshold. + */ + evaluationPeriods: pulumi.Input; + /** + * A cloudwatch alarm template group's identifier. Can be either be its id or current name. + */ + groupIdentifier: pulumi.Input; + /** + * The name of the metric associated with the alarm. Must be compatible with targetResourceType. + */ + metricName: pulumi.Input; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + name?: pulumi.Input; + /** + * The period, in seconds, over which the specified statistic is applied. + */ + period: pulumi.Input; + statistic: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + targetResourceType: pulumi.Input; + /** + * The threshold value to compare with the specified statistic. + */ + threshold: pulumi.Input; + treatMissingData: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/cloudWatchAlarmTemplateGroup.ts b/sdk/nodejs/medialive/cloudWatchAlarmTemplateGroup.ts new file mode 100644 index 0000000000..2331f80470 --- /dev/null +++ b/sdk/nodejs/medialive/cloudWatchAlarmTemplateGroup.ts @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + */ +export class CloudWatchAlarmTemplateGroup extends pulumi.CustomResource { + /** + * Get an existing CloudWatchAlarmTemplateGroup 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): CloudWatchAlarmTemplateGroup { + return new CloudWatchAlarmTemplateGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:CloudWatchAlarmTemplateGroup'; + + /** + * Returns true if the given object is an instance of CloudWatchAlarmTemplateGroup. 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 CloudWatchAlarmTemplateGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CloudWatchAlarmTemplateGroup.__pulumiType; + } + + /** + * A cloudwatch alarm template group's ARN (Amazon Resource Name) + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The date and time of resource creation. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * A resource's optional description. + */ + public readonly description!: pulumi.Output; + public /*out*/ readonly identifier!: pulumi.Output; + /** + * The date and time of latest resource modification. + */ + public /*out*/ readonly modifiedAt!: pulumi.Output; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + public readonly name!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a CloudWatchAlarmTemplateGroup 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?: CloudWatchAlarmTemplateGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["name", "tags.*"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(CloudWatchAlarmTemplateGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a CloudWatchAlarmTemplateGroup resource. + */ +export interface CloudWatchAlarmTemplateGroupArgs { + /** + * A resource's optional description. + */ + description?: pulumi.Input; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + name?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/medialive/cluster.ts b/sdk/nodejs/medialive/cluster.ts new file mode 100644 index 0000000000..d9b1315c29 --- /dev/null +++ b/sdk/nodejs/medialive/cluster.ts @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::Cluster Resource Type + */ +export class Cluster extends pulumi.CustomResource { + /** + * Get an existing Cluster 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Cluster { + return new Cluster(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:Cluster'; + + /** + * Returns true if the given object is an instance of Cluster. 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 Cluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Cluster.__pulumiType; + } + + /** + * The ARN of the Cluster. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The unique ID of the Cluster. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The MediaLive Channels that are currently running on Nodes in this Cluster. + */ + public /*out*/ readonly channelIds!: pulumi.Output; + public readonly clusterType!: pulumi.Output; + /** + * The IAM role your nodes will use. + */ + public readonly instanceRoleArn!: pulumi.Output; + /** + * The user-specified name of the Cluster to be created. + */ + public readonly name!: pulumi.Output; + public readonly networkSettings!: pulumi.Output; + public /*out*/ readonly state!: pulumi.Output; + /** + * A collection of key-value pairs. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a Cluster 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?: ClusterArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["clusterType"] = args ? args.clusterType : undefined; + resourceInputs["instanceRoleArn"] = args ? args.instanceRoleArn : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["networkSettings"] = args ? args.networkSettings : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["channelIds"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["channelIds"] = undefined /*out*/; + resourceInputs["clusterType"] = undefined /*out*/; + resourceInputs["instanceRoleArn"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networkSettings"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["clusterType", "instanceRoleArn"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Cluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Cluster resource. + */ +export interface ClusterArgs { + clusterType?: pulumi.Input; + /** + * The IAM role your nodes will use. + */ + instanceRoleArn?: pulumi.Input; + /** + * The user-specified name of the Cluster to be created. + */ + name?: pulumi.Input; + networkSettings?: pulumi.Input; + /** + * A collection of key-value pairs. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/medialive/eventBridgeRuleTemplate.ts b/sdk/nodejs/medialive/eventBridgeRuleTemplate.ts new file mode 100644 index 0000000000..a03ce9d86e --- /dev/null +++ b/sdk/nodejs/medialive/eventBridgeRuleTemplate.ts @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + */ +export class EventBridgeRuleTemplate extends pulumi.CustomResource { + /** + * Get an existing EventBridgeRuleTemplate 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): EventBridgeRuleTemplate { + return new EventBridgeRuleTemplate(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:EventBridgeRuleTemplate'; + + /** + * Returns true if the given object is an instance of EventBridgeRuleTemplate. 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 EventBridgeRuleTemplate { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EventBridgeRuleTemplate.__pulumiType; + } + + /** + * An eventbridge rule template's ARN (Amazon Resource Name) + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * Placeholder documentation for __timestampIso8601 + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * A resource's optional description. + */ + public readonly description!: pulumi.Output; + /** + * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + */ + public readonly eventTargets!: pulumi.Output; + public readonly eventType!: pulumi.Output; + /** + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + */ + public /*out*/ readonly groupId!: pulumi.Output; + /** + * An eventbridge rule template group's identifier. Can be either be its id or current name. + */ + public readonly groupIdentifier!: pulumi.Output; + /** + * Placeholder documentation for __string + */ + public /*out*/ readonly identifier!: pulumi.Output; + /** + * Placeholder documentation for __timestampIso8601 + */ + public /*out*/ readonly modifiedAt!: pulumi.Output; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + public readonly name!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a EventBridgeRuleTemplate 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: EventBridgeRuleTemplateArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.eventType === undefined) && !opts.urn) { + throw new Error("Missing required property 'eventType'"); + } + if ((!args || args.groupIdentifier === undefined) && !opts.urn) { + throw new Error("Missing required property 'groupIdentifier'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["eventTargets"] = args ? args.eventTargets : undefined; + resourceInputs["eventType"] = args ? args.eventType : undefined; + resourceInputs["groupIdentifier"] = args ? args.groupIdentifier : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["groupId"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["eventTargets"] = undefined /*out*/; + resourceInputs["eventType"] = undefined /*out*/; + resourceInputs["groupId"] = undefined /*out*/; + resourceInputs["groupIdentifier"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["tags.*"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(EventBridgeRuleTemplate.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a EventBridgeRuleTemplate resource. + */ +export interface EventBridgeRuleTemplateArgs { + /** + * A resource's optional description. + */ + description?: pulumi.Input; + /** + * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + */ + eventTargets?: pulumi.Input[]>; + eventType: pulumi.Input; + /** + * An eventbridge rule template group's identifier. Can be either be its id or current name. + */ + groupIdentifier: pulumi.Input; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + name?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/medialive/eventBridgeRuleTemplateGroup.ts b/sdk/nodejs/medialive/eventBridgeRuleTemplateGroup.ts new file mode 100644 index 0000000000..7d90125fcc --- /dev/null +++ b/sdk/nodejs/medialive/eventBridgeRuleTemplateGroup.ts @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + */ +export class EventBridgeRuleTemplateGroup extends pulumi.CustomResource { + /** + * Get an existing EventBridgeRuleTemplateGroup 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): EventBridgeRuleTemplateGroup { + return new EventBridgeRuleTemplateGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:EventBridgeRuleTemplateGroup'; + + /** + * Returns true if the given object is an instance of EventBridgeRuleTemplateGroup. 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 EventBridgeRuleTemplateGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EventBridgeRuleTemplateGroup.__pulumiType; + } + + /** + * An eventbridge rule template group's ARN (Amazon Resource Name) + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The date and time of resource creation. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * A resource's optional description. + */ + public readonly description!: pulumi.Output; + public /*out*/ readonly identifier!: pulumi.Output; + /** + * The date and time of latest resource modification. + */ + public /*out*/ readonly modifiedAt!: pulumi.Output; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + public readonly name!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a EventBridgeRuleTemplateGroup 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?: EventBridgeRuleTemplateGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["name", "tags.*"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(EventBridgeRuleTemplateGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a EventBridgeRuleTemplateGroup resource. + */ +export interface EventBridgeRuleTemplateGroupArgs { + /** + * A resource's optional description. + */ + description?: pulumi.Input; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + name?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/medialive/getChannelPlacementGroup.ts b/sdk/nodejs/medialive/getChannelPlacementGroup.ts new file mode 100644 index 0000000000..0819ec30ab --- /dev/null +++ b/sdk/nodejs/medialive/getChannelPlacementGroup.ts @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + */ +export function getChannelPlacementGroup(args: GetChannelPlacementGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getChannelPlacementGroup", { + "clusterId": args.clusterId, + "id": args.id, + }, opts); +} + +export interface GetChannelPlacementGroupArgs { + /** + * The ID of the cluster the node is on. + */ + clusterId: string; + /** + * Unique internal identifier. + */ + id: string; +} + +export interface GetChannelPlacementGroupResult { + /** + * The ARN of the channel placement group. + */ + readonly arn?: string; + /** + * List of channel IDs added to the channel placement group. + */ + readonly channels?: string[]; + /** + * Unique internal identifier. + */ + readonly id?: string; + /** + * The name of the channel placement group. + */ + readonly name?: string; + /** + * List of nodes added to the channel placement group + */ + readonly nodes?: string[]; + readonly state?: enums.medialive.ChannelPlacementGroupState; + /** + * A collection of key-value pairs. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + */ +export function getChannelPlacementGroupOutput(args: GetChannelPlacementGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getChannelPlacementGroup(a, opts)) +} + +export interface GetChannelPlacementGroupOutputArgs { + /** + * The ID of the cluster the node is on. + */ + clusterId: pulumi.Input; + /** + * Unique internal identifier. + */ + id: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getCloudWatchAlarmTemplate.ts b/sdk/nodejs/medialive/getCloudWatchAlarmTemplate.ts new file mode 100644 index 0000000000..115b2221a9 --- /dev/null +++ b/sdk/nodejs/medialive/getCloudWatchAlarmTemplate.ts @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + */ +export function getCloudWatchAlarmTemplate(args: GetCloudWatchAlarmTemplateArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getCloudWatchAlarmTemplate", { + "identifier": args.identifier, + }, opts); +} + +export interface GetCloudWatchAlarmTemplateArgs { + identifier: string; +} + +export interface GetCloudWatchAlarmTemplateResult { + /** + * A cloudwatch alarm template's ARN (Amazon Resource Name) + */ + readonly arn?: string; + readonly comparisonOperator?: enums.medialive.CloudWatchAlarmTemplateComparisonOperator; + readonly createdAt?: string; + /** + * The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + */ + readonly datapointsToAlarm?: number; + /** + * A resource's optional description. + */ + readonly description?: string; + /** + * The number of periods over which data is compared to the specified threshold. + */ + readonly evaluationPeriods?: number; + /** + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + */ + readonly groupId?: string; + /** + * A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + */ + readonly id?: string; + readonly identifier?: string; + /** + * The name of the metric associated with the alarm. Must be compatible with targetResourceType. + */ + readonly metricName?: string; + readonly modifiedAt?: string; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + readonly name?: string; + /** + * The period, in seconds, over which the specified statistic is applied. + */ + readonly period?: number; + readonly statistic?: enums.medialive.CloudWatchAlarmTemplateStatistic; + readonly targetResourceType?: enums.medialive.CloudWatchAlarmTemplateTargetResourceType; + /** + * The threshold value to compare with the specified statistic. + */ + readonly threshold?: number; + readonly treatMissingData?: enums.medialive.CloudWatchAlarmTemplateTreatMissingData; +} +/** + * Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + */ +export function getCloudWatchAlarmTemplateOutput(args: GetCloudWatchAlarmTemplateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCloudWatchAlarmTemplate(a, opts)) +} + +export interface GetCloudWatchAlarmTemplateOutputArgs { + identifier: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getCloudWatchAlarmTemplateGroup.ts b/sdk/nodejs/medialive/getCloudWatchAlarmTemplateGroup.ts new file mode 100644 index 0000000000..e125d47254 --- /dev/null +++ b/sdk/nodejs/medialive/getCloudWatchAlarmTemplateGroup.ts @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + */ +export function getCloudWatchAlarmTemplateGroup(args: GetCloudWatchAlarmTemplateGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getCloudWatchAlarmTemplateGroup", { + "identifier": args.identifier, + }, opts); +} + +export interface GetCloudWatchAlarmTemplateGroupArgs { + identifier: string; +} + +export interface GetCloudWatchAlarmTemplateGroupResult { + /** + * A cloudwatch alarm template group's ARN (Amazon Resource Name) + */ + readonly arn?: string; + /** + * The date and time of resource creation. + */ + readonly createdAt?: string; + /** + * A resource's optional description. + */ + readonly description?: string; + /** + * A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + */ + readonly id?: string; + readonly identifier?: string; + /** + * The date and time of latest resource modification. + */ + readonly modifiedAt?: string; +} +/** + * Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + */ +export function getCloudWatchAlarmTemplateGroupOutput(args: GetCloudWatchAlarmTemplateGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCloudWatchAlarmTemplateGroup(a, opts)) +} + +export interface GetCloudWatchAlarmTemplateGroupOutputArgs { + identifier: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getCluster.ts b/sdk/nodejs/medialive/getCluster.ts new file mode 100644 index 0000000000..e82db4a062 --- /dev/null +++ b/sdk/nodejs/medialive/getCluster.ts @@ -0,0 +1,64 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::Cluster Resource Type + */ +export function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getCluster", { + "id": args.id, + }, opts); +} + +export interface GetClusterArgs { + /** + * The unique ID of the Cluster. + */ + id: string; +} + +export interface GetClusterResult { + /** + * The ARN of the Cluster. + */ + readonly arn?: string; + /** + * The MediaLive Channels that are currently running on Nodes in this Cluster. + */ + readonly channelIds?: string[]; + /** + * The unique ID of the Cluster. + */ + readonly id?: string; + /** + * The user-specified name of the Cluster to be created. + */ + readonly name?: string; + readonly networkSettings?: outputs.medialive.ClusterNetworkSettings; + readonly state?: enums.medialive.ClusterState; + /** + * A collection of key-value pairs. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Definition of AWS::MediaLive::Cluster Resource Type + */ +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCluster(a, opts)) +} + +export interface GetClusterOutputArgs { + /** + * The unique ID of the Cluster. + */ + id: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getEventBridgeRuleTemplate.ts b/sdk/nodejs/medialive/getEventBridgeRuleTemplate.ts new file mode 100644 index 0000000000..005267a9dc --- /dev/null +++ b/sdk/nodejs/medialive/getEventBridgeRuleTemplate.ts @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + */ +export function getEventBridgeRuleTemplate(args: GetEventBridgeRuleTemplateArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getEventBridgeRuleTemplate", { + "identifier": args.identifier, + }, opts); +} + +export interface GetEventBridgeRuleTemplateArgs { + /** + * Placeholder documentation for __string + */ + identifier: string; +} + +export interface GetEventBridgeRuleTemplateResult { + /** + * An eventbridge rule template's ARN (Amazon Resource Name) + */ + readonly arn?: string; + /** + * Placeholder documentation for __timestampIso8601 + */ + readonly createdAt?: string; + /** + * A resource's optional description. + */ + readonly description?: string; + /** + * Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + */ + readonly eventTargets?: outputs.medialive.EventBridgeRuleTemplateTarget[]; + readonly eventType?: enums.medialive.EventBridgeRuleTemplateEventType; + /** + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + */ + readonly groupId?: string; + /** + * An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + */ + readonly id?: string; + /** + * Placeholder documentation for __string + */ + readonly identifier?: string; + /** + * Placeholder documentation for __timestampIso8601 + */ + readonly modifiedAt?: string; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + readonly name?: string; +} +/** + * Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + */ +export function getEventBridgeRuleTemplateOutput(args: GetEventBridgeRuleTemplateOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getEventBridgeRuleTemplate(a, opts)) +} + +export interface GetEventBridgeRuleTemplateOutputArgs { + /** + * Placeholder documentation for __string + */ + identifier: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getEventBridgeRuleTemplateGroup.ts b/sdk/nodejs/medialive/getEventBridgeRuleTemplateGroup.ts new file mode 100644 index 0000000000..fa1196fc85 --- /dev/null +++ b/sdk/nodejs/medialive/getEventBridgeRuleTemplateGroup.ts @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + */ +export function getEventBridgeRuleTemplateGroup(args: GetEventBridgeRuleTemplateGroupArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getEventBridgeRuleTemplateGroup", { + "identifier": args.identifier, + }, opts); +} + +export interface GetEventBridgeRuleTemplateGroupArgs { + identifier: string; +} + +export interface GetEventBridgeRuleTemplateGroupResult { + /** + * An eventbridge rule template group's ARN (Amazon Resource Name) + */ + readonly arn?: string; + /** + * The date and time of resource creation. + */ + readonly createdAt?: string; + /** + * A resource's optional description. + */ + readonly description?: string; + /** + * An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + */ + readonly id?: string; + readonly identifier?: string; + /** + * The date and time of latest resource modification. + */ + readonly modifiedAt?: string; +} +/** + * Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + */ +export function getEventBridgeRuleTemplateGroupOutput(args: GetEventBridgeRuleTemplateGroupOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getEventBridgeRuleTemplateGroup(a, opts)) +} + +export interface GetEventBridgeRuleTemplateGroupOutputArgs { + identifier: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getNetwork.ts b/sdk/nodejs/medialive/getNetwork.ts new file mode 100644 index 0000000000..52e34477ba --- /dev/null +++ b/sdk/nodejs/medialive/getNetwork.ts @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::MediaLive::Network. + */ +export function getNetwork(args: GetNetworkArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getNetwork", { + "id": args.id, + }, opts); +} + +export interface GetNetworkArgs { + /** + * The unique ID of the Network. + */ + id: string; +} + +export interface GetNetworkResult { + /** + * The ARN of the Network. + */ + readonly arn?: string; + readonly associatedClusterIds?: string[]; + /** + * The unique ID of the Network. + */ + readonly id?: string; + /** + * The list of IP address cidr pools for the network + */ + readonly ipPools?: outputs.medialive.NetworkIpPool[]; + /** + * The user-specified name of the Network to be created. + */ + readonly name?: string; + /** + * The routes for the network + */ + readonly routes?: outputs.medialive.NetworkRoute[]; + /** + * The current state of the Network. + */ + readonly state?: enums.medialive.NetworkState; + /** + * A collection of key-value pairs. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Resource schema for AWS::MediaLive::Network. + */ +export function getNetworkOutput(args: GetNetworkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNetwork(a, opts)) +} + +export interface GetNetworkOutputArgs { + /** + * The unique ID of the Network. + */ + id: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getSdiSource.ts b/sdk/nodejs/medialive/getSdiSource.ts new file mode 100644 index 0000000000..f807e4f62d --- /dev/null +++ b/sdk/nodejs/medialive/getSdiSource.ts @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::SdiSource Resource Type + */ +export function getSdiSource(args: GetSdiSourceArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getSdiSource", { + "id": args.id, + }, opts); +} + +export interface GetSdiSourceArgs { + /** + * The unique identifier of the SdiSource. + */ + id: string; +} + +export interface GetSdiSourceResult { + /** + * The unique arn of the SdiSource. + */ + readonly arn?: string; + /** + * The unique identifier of the SdiSource. + */ + readonly id?: string; + /** + * The list of inputs currently using this SDI source. + */ + readonly inputs?: string[]; + readonly mode?: enums.medialive.SdiSourceMode; + /** + * The name of the SdiSource. + */ + readonly name?: string; + readonly state?: enums.medialive.SdiSourceState; + /** + * A collection of key-value pairs. + */ + readonly tags?: outputs.Tag[]; + readonly type?: enums.medialive.SdiSourceType; +} +/** + * Definition of AWS::MediaLive::SdiSource Resource Type + */ +export function getSdiSourceOutput(args: GetSdiSourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSdiSource(a, opts)) +} + +export interface GetSdiSourceOutputArgs { + /** + * The unique identifier of the SdiSource. + */ + id: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/getSignalMap.ts b/sdk/nodejs/medialive/getSignalMap.ts new file mode 100644 index 0000000000..a01b237f1b --- /dev/null +++ b/sdk/nodejs/medialive/getSignalMap.ts @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::SignalMap Resource Type + */ +export function getSignalMap(args: GetSignalMapArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:medialive:getSignalMap", { + "identifier": args.identifier, + }, opts); +} + +export interface GetSignalMapArgs { + identifier: string; +} + +export interface GetSignalMapResult { + /** + * A signal map's ARN (Amazon Resource Name) + */ + readonly arn?: string; + readonly cloudWatchAlarmTemplateGroupIds?: string[]; + readonly createdAt?: string; + /** + * A resource's optional description. + */ + readonly description?: string; + /** + * A top-level supported AWS resource ARN to discovery a signal map from. + */ + readonly discoveryEntryPointArn?: string; + /** + * Error message associated with a failed creation or failed update attempt of a signal map. + */ + readonly errorMessage?: string; + readonly eventBridgeRuleTemplateGroupIds?: string[]; + readonly failedMediaResourceMap?: {[key: string]: outputs.medialive.SignalMapMediaResource}; + /** + * A signal map's id. + */ + readonly id?: string; + readonly identifier?: string; + readonly lastDiscoveredAt?: string; + readonly lastSuccessfulMonitorDeployment?: outputs.medialive.SignalMapSuccessfulMonitorDeployment; + readonly mediaResourceMap?: {[key: string]: outputs.medialive.SignalMapMediaResource}; + readonly modifiedAt?: string; + /** + * If true, there are pending monitor changes for this signal map that can be deployed. + */ + readonly monitorChangesPendingDeployment?: boolean; + readonly monitorDeployment?: outputs.medialive.SignalMapMonitorDeployment; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + readonly name?: string; + readonly status?: enums.medialive.SignalMapStatus; +} +/** + * Definition of AWS::MediaLive::SignalMap Resource Type + */ +export function getSignalMapOutput(args: GetSignalMapOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSignalMap(a, opts)) +} + +export interface GetSignalMapOutputArgs { + identifier: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/index.ts b/sdk/nodejs/medialive/index.ts index a4a78419a2..e3e9d55abb 100644 --- a/sdk/nodejs/medialive/index.ts +++ b/sdk/nodejs/medialive/index.ts @@ -5,6 +5,66 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { ChannelPlacementGroupArgs } from "./channelPlacementGroup"; +export type ChannelPlacementGroup = import("./channelPlacementGroup").ChannelPlacementGroup; +export const ChannelPlacementGroup: typeof import("./channelPlacementGroup").ChannelPlacementGroup = null as any; +utilities.lazyLoad(exports, ["ChannelPlacementGroup"], () => require("./channelPlacementGroup")); + +export { CloudWatchAlarmTemplateArgs } from "./cloudWatchAlarmTemplate"; +export type CloudWatchAlarmTemplate = import("./cloudWatchAlarmTemplate").CloudWatchAlarmTemplate; +export const CloudWatchAlarmTemplate: typeof import("./cloudWatchAlarmTemplate").CloudWatchAlarmTemplate = null as any; +utilities.lazyLoad(exports, ["CloudWatchAlarmTemplate"], () => require("./cloudWatchAlarmTemplate")); + +export { CloudWatchAlarmTemplateGroupArgs } from "./cloudWatchAlarmTemplateGroup"; +export type CloudWatchAlarmTemplateGroup = import("./cloudWatchAlarmTemplateGroup").CloudWatchAlarmTemplateGroup; +export const CloudWatchAlarmTemplateGroup: typeof import("./cloudWatchAlarmTemplateGroup").CloudWatchAlarmTemplateGroup = null as any; +utilities.lazyLoad(exports, ["CloudWatchAlarmTemplateGroup"], () => require("./cloudWatchAlarmTemplateGroup")); + +export { ClusterArgs } from "./cluster"; +export type Cluster = import("./cluster").Cluster; +export const Cluster: typeof import("./cluster").Cluster = null as any; +utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); + +export { EventBridgeRuleTemplateArgs } from "./eventBridgeRuleTemplate"; +export type EventBridgeRuleTemplate = import("./eventBridgeRuleTemplate").EventBridgeRuleTemplate; +export const EventBridgeRuleTemplate: typeof import("./eventBridgeRuleTemplate").EventBridgeRuleTemplate = null as any; +utilities.lazyLoad(exports, ["EventBridgeRuleTemplate"], () => require("./eventBridgeRuleTemplate")); + +export { EventBridgeRuleTemplateGroupArgs } from "./eventBridgeRuleTemplateGroup"; +export type EventBridgeRuleTemplateGroup = import("./eventBridgeRuleTemplateGroup").EventBridgeRuleTemplateGroup; +export const EventBridgeRuleTemplateGroup: typeof import("./eventBridgeRuleTemplateGroup").EventBridgeRuleTemplateGroup = null as any; +utilities.lazyLoad(exports, ["EventBridgeRuleTemplateGroup"], () => require("./eventBridgeRuleTemplateGroup")); + +export { GetChannelPlacementGroupArgs, GetChannelPlacementGroupResult, GetChannelPlacementGroupOutputArgs } from "./getChannelPlacementGroup"; +export const getChannelPlacementGroup: typeof import("./getChannelPlacementGroup").getChannelPlacementGroup = null as any; +export const getChannelPlacementGroupOutput: typeof import("./getChannelPlacementGroup").getChannelPlacementGroupOutput = null as any; +utilities.lazyLoad(exports, ["getChannelPlacementGroup","getChannelPlacementGroupOutput"], () => require("./getChannelPlacementGroup")); + +export { GetCloudWatchAlarmTemplateArgs, GetCloudWatchAlarmTemplateResult, GetCloudWatchAlarmTemplateOutputArgs } from "./getCloudWatchAlarmTemplate"; +export const getCloudWatchAlarmTemplate: typeof import("./getCloudWatchAlarmTemplate").getCloudWatchAlarmTemplate = null as any; +export const getCloudWatchAlarmTemplateOutput: typeof import("./getCloudWatchAlarmTemplate").getCloudWatchAlarmTemplateOutput = null as any; +utilities.lazyLoad(exports, ["getCloudWatchAlarmTemplate","getCloudWatchAlarmTemplateOutput"], () => require("./getCloudWatchAlarmTemplate")); + +export { GetCloudWatchAlarmTemplateGroupArgs, GetCloudWatchAlarmTemplateGroupResult, GetCloudWatchAlarmTemplateGroupOutputArgs } from "./getCloudWatchAlarmTemplateGroup"; +export const getCloudWatchAlarmTemplateGroup: typeof import("./getCloudWatchAlarmTemplateGroup").getCloudWatchAlarmTemplateGroup = null as any; +export const getCloudWatchAlarmTemplateGroupOutput: typeof import("./getCloudWatchAlarmTemplateGroup").getCloudWatchAlarmTemplateGroupOutput = null as any; +utilities.lazyLoad(exports, ["getCloudWatchAlarmTemplateGroup","getCloudWatchAlarmTemplateGroupOutput"], () => require("./getCloudWatchAlarmTemplateGroup")); + +export { GetClusterArgs, GetClusterResult, GetClusterOutputArgs } from "./getCluster"; +export const getCluster: typeof import("./getCluster").getCluster = null as any; +export const getClusterOutput: typeof import("./getCluster").getClusterOutput = null as any; +utilities.lazyLoad(exports, ["getCluster","getClusterOutput"], () => require("./getCluster")); + +export { GetEventBridgeRuleTemplateArgs, GetEventBridgeRuleTemplateResult, GetEventBridgeRuleTemplateOutputArgs } from "./getEventBridgeRuleTemplate"; +export const getEventBridgeRuleTemplate: typeof import("./getEventBridgeRuleTemplate").getEventBridgeRuleTemplate = null as any; +export const getEventBridgeRuleTemplateOutput: typeof import("./getEventBridgeRuleTemplate").getEventBridgeRuleTemplateOutput = null as any; +utilities.lazyLoad(exports, ["getEventBridgeRuleTemplate","getEventBridgeRuleTemplateOutput"], () => require("./getEventBridgeRuleTemplate")); + +export { GetEventBridgeRuleTemplateGroupArgs, GetEventBridgeRuleTemplateGroupResult, GetEventBridgeRuleTemplateGroupOutputArgs } from "./getEventBridgeRuleTemplateGroup"; +export const getEventBridgeRuleTemplateGroup: typeof import("./getEventBridgeRuleTemplateGroup").getEventBridgeRuleTemplateGroup = null as any; +export const getEventBridgeRuleTemplateGroupOutput: typeof import("./getEventBridgeRuleTemplateGroup").getEventBridgeRuleTemplateGroupOutput = null as any; +utilities.lazyLoad(exports, ["getEventBridgeRuleTemplateGroup","getEventBridgeRuleTemplateGroupOutput"], () => require("./getEventBridgeRuleTemplateGroup")); + export { GetMultiplexArgs, GetMultiplexResult, GetMultiplexOutputArgs } from "./getMultiplex"; export const getMultiplex: typeof import("./getMultiplex").getMultiplex = null as any; export const getMultiplexOutput: typeof import("./getMultiplex").getMultiplexOutput = null as any; @@ -15,6 +75,21 @@ export const getMultiplexprogram: typeof import("./getMultiplexprogram").getMult export const getMultiplexprogramOutput: typeof import("./getMultiplexprogram").getMultiplexprogramOutput = null as any; utilities.lazyLoad(exports, ["getMultiplexprogram","getMultiplexprogramOutput"], () => require("./getMultiplexprogram")); +export { GetNetworkArgs, GetNetworkResult, GetNetworkOutputArgs } from "./getNetwork"; +export const getNetwork: typeof import("./getNetwork").getNetwork = null as any; +export const getNetworkOutput: typeof import("./getNetwork").getNetworkOutput = null as any; +utilities.lazyLoad(exports, ["getNetwork","getNetworkOutput"], () => require("./getNetwork")); + +export { GetSdiSourceArgs, GetSdiSourceResult, GetSdiSourceOutputArgs } from "./getSdiSource"; +export const getSdiSource: typeof import("./getSdiSource").getSdiSource = null as any; +export const getSdiSourceOutput: typeof import("./getSdiSource").getSdiSourceOutput = null as any; +utilities.lazyLoad(exports, ["getSdiSource","getSdiSourceOutput"], () => require("./getSdiSource")); + +export { GetSignalMapArgs, GetSignalMapResult, GetSignalMapOutputArgs } from "./getSignalMap"; +export const getSignalMap: typeof import("./getSignalMap").getSignalMap = null as any; +export const getSignalMapOutput: typeof import("./getSignalMap").getSignalMapOutput = null as any; +utilities.lazyLoad(exports, ["getSignalMap","getSignalMapOutput"], () => require("./getSignalMap")); + export { MultiplexArgs } from "./multiplex"; export type Multiplex = import("./multiplex").Multiplex; export const Multiplex: typeof import("./multiplex").Multiplex = null as any; @@ -25,6 +100,21 @@ export type Multiplexprogram = import("./multiplexprogram").Multiplexprogram; export const Multiplexprogram: typeof import("./multiplexprogram").Multiplexprogram = null as any; utilities.lazyLoad(exports, ["Multiplexprogram"], () => require("./multiplexprogram")); +export { NetworkArgs } from "./network"; +export type Network = import("./network").Network; +export const Network: typeof import("./network").Network = null as any; +utilities.lazyLoad(exports, ["Network"], () => require("./network")); + +export { SdiSourceArgs } from "./sdiSource"; +export type SdiSource = import("./sdiSource").SdiSource; +export const SdiSource: typeof import("./sdiSource").SdiSource = null as any; +utilities.lazyLoad(exports, ["SdiSource"], () => require("./sdiSource")); + +export { SignalMapArgs } from "./signalMap"; +export type SignalMap = import("./signalMap").SignalMap; +export const SignalMap: typeof import("./signalMap").SignalMap = null as any; +utilities.lazyLoad(exports, ["SignalMap"], () => require("./signalMap")); + // Export enums: export * from "../types/enums/medialive"; @@ -33,10 +123,28 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws-native:medialive:ChannelPlacementGroup": + return new ChannelPlacementGroup(name, undefined, { urn }) + case "aws-native:medialive:CloudWatchAlarmTemplate": + return new CloudWatchAlarmTemplate(name, undefined, { urn }) + case "aws-native:medialive:CloudWatchAlarmTemplateGroup": + return new CloudWatchAlarmTemplateGroup(name, undefined, { urn }) + case "aws-native:medialive:Cluster": + return new Cluster(name, undefined, { urn }) + case "aws-native:medialive:EventBridgeRuleTemplate": + return new EventBridgeRuleTemplate(name, undefined, { urn }) + case "aws-native:medialive:EventBridgeRuleTemplateGroup": + return new EventBridgeRuleTemplateGroup(name, undefined, { urn }) case "aws-native:medialive:Multiplex": return new Multiplex(name, undefined, { urn }) case "aws-native:medialive:Multiplexprogram": return new Multiplexprogram(name, undefined, { urn }) + case "aws-native:medialive:Network": + return new Network(name, undefined, { urn }) + case "aws-native:medialive:SdiSource": + return new SdiSource(name, undefined, { urn }) + case "aws-native:medialive:SignalMap": + return new SignalMap(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } diff --git a/sdk/nodejs/medialive/network.ts b/sdk/nodejs/medialive/network.ts new file mode 100644 index 0000000000..fbf69664ec --- /dev/null +++ b/sdk/nodejs/medialive/network.ts @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::MediaLive::Network. + */ +export class Network extends pulumi.CustomResource { + /** + * Get an existing Network 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Network { + return new Network(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:Network'; + + /** + * Returns true if the given object is an instance of Network. 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 Network { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Network.__pulumiType; + } + + /** + * The ARN of the Network. + */ + public /*out*/ readonly arn!: pulumi.Output; + public /*out*/ readonly associatedClusterIds!: pulumi.Output; + /** + * The unique ID of the Network. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The list of IP address cidr pools for the network + */ + public readonly ipPools!: pulumi.Output; + /** + * The user-specified name of the Network to be created. + */ + public readonly name!: pulumi.Output; + /** + * The routes for the network + */ + public readonly routes!: pulumi.Output; + /** + * The current state of the Network. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * A collection of key-value pairs. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a Network 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: NetworkArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.ipPools === undefined) && !opts.urn) { + throw new Error("Missing required property 'ipPools'"); + } + resourceInputs["ipPools"] = args ? args.ipPools : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["routes"] = args ? args.routes : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["associatedClusterIds"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["associatedClusterIds"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["ipPools"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["routes"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Network.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Network resource. + */ +export interface NetworkArgs { + /** + * The list of IP address cidr pools for the network + */ + ipPools: pulumi.Input[]>; + /** + * The user-specified name of the Network to be created. + */ + name?: pulumi.Input; + /** + * The routes for the network + */ + routes?: pulumi.Input[]>; + /** + * A collection of key-value pairs. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/medialive/sdiSource.ts b/sdk/nodejs/medialive/sdiSource.ts new file mode 100644 index 0000000000..fc0d6b1fbe --- /dev/null +++ b/sdk/nodejs/medialive/sdiSource.ts @@ -0,0 +1,115 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::SdiSource Resource Type + */ +export class SdiSource extends pulumi.CustomResource { + /** + * Get an existing SdiSource 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SdiSource { + return new SdiSource(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:SdiSource'; + + /** + * Returns true if the given object is an instance of SdiSource. 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 SdiSource { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SdiSource.__pulumiType; + } + + /** + * The unique arn of the SdiSource. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The unique identifier of the SdiSource. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The list of inputs currently using this SDI source. + */ + public /*out*/ readonly inputs!: pulumi.Output; + public readonly mode!: pulumi.Output; + /** + * The name of the SdiSource. + */ + public readonly name!: pulumi.Output; + public /*out*/ readonly state!: pulumi.Output; + /** + * A collection of key-value pairs. + */ + public readonly tags!: pulumi.Output; + public readonly type!: pulumi.Output; + + /** + * Create a SdiSource 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: SdiSourceArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.type === undefined) && !opts.urn) { + throw new Error("Missing required property 'type'"); + } + resourceInputs["mode"] = args ? args.mode : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["type"] = args ? args.type : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["inputs"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["inputs"] = undefined /*out*/; + resourceInputs["mode"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SdiSource.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a SdiSource resource. + */ +export interface SdiSourceArgs { + mode?: pulumi.Input; + /** + * The name of the SdiSource. + */ + name?: pulumi.Input; + /** + * A collection of key-value pairs. + */ + tags?: pulumi.Input[]>; + type: pulumi.Input; +} diff --git a/sdk/nodejs/medialive/signalMap.ts b/sdk/nodejs/medialive/signalMap.ts new file mode 100644 index 0000000000..784030d34c --- /dev/null +++ b/sdk/nodejs/medialive/signalMap.ts @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::MediaLive::SignalMap Resource Type + */ +export class SignalMap extends pulumi.CustomResource { + /** + * Get an existing SignalMap 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SignalMap { + return new SignalMap(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:medialive:SignalMap'; + + /** + * Returns true if the given object is an instance of SignalMap. 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 SignalMap { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SignalMap.__pulumiType; + } + + /** + * A signal map's ARN (Amazon Resource Name) + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * A signal map's id. + */ + public /*out*/ readonly awsId!: pulumi.Output; + public readonly cloudWatchAlarmTemplateGroupIdentifiers!: pulumi.Output; + public /*out*/ readonly cloudWatchAlarmTemplateGroupIds!: pulumi.Output; + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * A resource's optional description. + */ + public readonly description!: pulumi.Output; + /** + * A top-level supported AWS resource ARN to discovery a signal map from. + */ + public readonly discoveryEntryPointArn!: pulumi.Output; + /** + * Error message associated with a failed creation or failed update attempt of a signal map. + */ + public /*out*/ readonly errorMessage!: pulumi.Output; + public readonly eventBridgeRuleTemplateGroupIdentifiers!: pulumi.Output; + public /*out*/ readonly eventBridgeRuleTemplateGroupIds!: pulumi.Output; + public /*out*/ readonly failedMediaResourceMap!: pulumi.Output<{[key: string]: outputs.medialive.SignalMapMediaResource}>; + /** + * If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + */ + public readonly forceRediscovery!: pulumi.Output; + public /*out*/ readonly identifier!: pulumi.Output; + public /*out*/ readonly lastDiscoveredAt!: pulumi.Output; + public /*out*/ readonly lastSuccessfulMonitorDeployment!: pulumi.Output; + public /*out*/ readonly mediaResourceMap!: pulumi.Output<{[key: string]: outputs.medialive.SignalMapMediaResource}>; + public /*out*/ readonly modifiedAt!: pulumi.Output; + /** + * If true, there are pending monitor changes for this signal map that can be deployed. + */ + public /*out*/ readonly monitorChangesPendingDeployment!: pulumi.Output; + public /*out*/ readonly monitorDeployment!: pulumi.Output; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + public readonly name!: pulumi.Output; + public /*out*/ readonly status!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a SignalMap 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: SignalMapArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.discoveryEntryPointArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'discoveryEntryPointArn'"); + } + resourceInputs["cloudWatchAlarmTemplateGroupIdentifiers"] = args ? args.cloudWatchAlarmTemplateGroupIdentifiers : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["discoveryEntryPointArn"] = args ? args.discoveryEntryPointArn : undefined; + resourceInputs["eventBridgeRuleTemplateGroupIdentifiers"] = args ? args.eventBridgeRuleTemplateGroupIdentifiers : undefined; + resourceInputs["forceRediscovery"] = args ? args.forceRediscovery : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["cloudWatchAlarmTemplateGroupIds"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["errorMessage"] = undefined /*out*/; + resourceInputs["eventBridgeRuleTemplateGroupIds"] = undefined /*out*/; + resourceInputs["failedMediaResourceMap"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["lastDiscoveredAt"] = undefined /*out*/; + resourceInputs["lastSuccessfulMonitorDeployment"] = undefined /*out*/; + resourceInputs["mediaResourceMap"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["monitorChangesPendingDeployment"] = undefined /*out*/; + resourceInputs["monitorDeployment"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["cloudWatchAlarmTemplateGroupIdentifiers"] = undefined /*out*/; + resourceInputs["cloudWatchAlarmTemplateGroupIds"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["discoveryEntryPointArn"] = undefined /*out*/; + resourceInputs["errorMessage"] = undefined /*out*/; + resourceInputs["eventBridgeRuleTemplateGroupIdentifiers"] = undefined /*out*/; + resourceInputs["eventBridgeRuleTemplateGroupIds"] = undefined /*out*/; + resourceInputs["failedMediaResourceMap"] = undefined /*out*/; + resourceInputs["forceRediscovery"] = undefined /*out*/; + resourceInputs["identifier"] = undefined /*out*/; + resourceInputs["lastDiscoveredAt"] = undefined /*out*/; + resourceInputs["lastSuccessfulMonitorDeployment"] = undefined /*out*/; + resourceInputs["mediaResourceMap"] = undefined /*out*/; + resourceInputs["modifiedAt"] = undefined /*out*/; + resourceInputs["monitorChangesPendingDeployment"] = undefined /*out*/; + resourceInputs["monitorDeployment"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["tags.*"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(SignalMap.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a SignalMap resource. + */ +export interface SignalMapArgs { + cloudWatchAlarmTemplateGroupIdentifiers?: pulumi.Input[]>; + /** + * A resource's optional description. + */ + description?: pulumi.Input; + /** + * A top-level supported AWS resource ARN to discovery a signal map from. + */ + discoveryEntryPointArn: pulumi.Input; + eventBridgeRuleTemplateGroupIdentifiers?: pulumi.Input[]>; + /** + * If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + */ + forceRediscovery?: pulumi.Input; + /** + * A resource's name. Names must be unique within the scope of a resource type in a specific region. + */ + name?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/pcaconnectorscep/challenge.ts b/sdk/nodejs/pcaconnectorscep/challenge.ts new file mode 100644 index 0000000000..e3d3731491 --- /dev/null +++ b/sdk/nodejs/pcaconnectorscep/challenge.ts @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Represents a SCEP Challenge that is used for certificate enrollment + */ +export class Challenge extends pulumi.CustomResource { + /** + * Get an existing Challenge 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Challenge { + return new Challenge(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:pcaconnectorscep:Challenge'; + + /** + * Returns true if the given object is an instance of Challenge. 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 Challenge { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Challenge.__pulumiType; + } + + public /*out*/ readonly challengeArn!: pulumi.Output; + public readonly connectorArn!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a Challenge 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: ChallengeArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.connectorArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'connectorArn'"); + } + resourceInputs["connectorArn"] = args ? args.connectorArn : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["challengeArn"] = undefined /*out*/; + } else { + resourceInputs["challengeArn"] = undefined /*out*/; + resourceInputs["connectorArn"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["connectorArn"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Challenge.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Challenge resource. + */ +export interface ChallengeArgs { + connectorArn: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/pcaconnectorscep/connector.ts b/sdk/nodejs/pcaconnectorscep/connector.ts new file mode 100644 index 0000000000..9b2b7e17a1 --- /dev/null +++ b/sdk/nodejs/pcaconnectorscep/connector.ts @@ -0,0 +1,92 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + */ +export class Connector extends pulumi.CustomResource { + /** + * Get an existing Connector 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Connector { + return new Connector(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:pcaconnectorscep:Connector'; + + /** + * Returns true if the given object is an instance of Connector. 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 Connector { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Connector.__pulumiType; + } + + public readonly certificateAuthorityArn!: pulumi.Output; + public /*out*/ readonly connectorArn!: pulumi.Output; + public /*out*/ readonly endpoint!: pulumi.Output; + public readonly mobileDeviceManagement!: pulumi.Output; + public /*out*/ readonly openIdConfiguration!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public /*out*/ readonly type!: pulumi.Output; + + /** + * Create a Connector 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: ConnectorArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.certificateAuthorityArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'certificateAuthorityArn'"); + } + resourceInputs["certificateAuthorityArn"] = args ? args.certificateAuthorityArn : undefined; + resourceInputs["mobileDeviceManagement"] = args ? args.mobileDeviceManagement : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["connectorArn"] = undefined /*out*/; + resourceInputs["endpoint"] = undefined /*out*/; + resourceInputs["openIdConfiguration"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } else { + resourceInputs["certificateAuthorityArn"] = undefined /*out*/; + resourceInputs["connectorArn"] = undefined /*out*/; + resourceInputs["endpoint"] = undefined /*out*/; + resourceInputs["mobileDeviceManagement"] = undefined /*out*/; + resourceInputs["openIdConfiguration"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["type"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["certificateAuthorityArn", "mobileDeviceManagement"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Connector.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Connector resource. + */ +export interface ConnectorArgs { + certificateAuthorityArn: pulumi.Input; + mobileDeviceManagement?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/pcaconnectorscep/getChallenge.ts b/sdk/nodejs/pcaconnectorscep/getChallenge.ts new file mode 100644 index 0000000000..e40545acf8 --- /dev/null +++ b/sdk/nodejs/pcaconnectorscep/getChallenge.ts @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Represents a SCEP Challenge that is used for certificate enrollment + */ +export function getChallenge(args: GetChallengeArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:pcaconnectorscep:getChallenge", { + "challengeArn": args.challengeArn, + }, opts); +} + +export interface GetChallengeArgs { + challengeArn: string; +} + +export interface GetChallengeResult { + readonly challengeArn?: string; + readonly tags?: {[key: string]: string}; +} +/** + * Represents a SCEP Challenge that is used for certificate enrollment + */ +export function getChallengeOutput(args: GetChallengeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getChallenge(a, opts)) +} + +export interface GetChallengeOutputArgs { + challengeArn: pulumi.Input; +} diff --git a/sdk/nodejs/pcaconnectorscep/getConnector.ts b/sdk/nodejs/pcaconnectorscep/getConnector.ts new file mode 100644 index 0000000000..59eefd7027 --- /dev/null +++ b/sdk/nodejs/pcaconnectorscep/getConnector.ts @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + */ +export function getConnector(args: GetConnectorArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:pcaconnectorscep:getConnector", { + "connectorArn": args.connectorArn, + }, opts); +} + +export interface GetConnectorArgs { + connectorArn: string; +} + +export interface GetConnectorResult { + readonly connectorArn?: string; + readonly endpoint?: string; + readonly openIdConfiguration?: outputs.pcaconnectorscep.ConnectorOpenIdConfiguration; + readonly tags?: {[key: string]: string}; + readonly type?: enums.pcaconnectorscep.ConnectorType; +} +/** + * Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + */ +export function getConnectorOutput(args: GetConnectorOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getConnector(a, opts)) +} + +export interface GetConnectorOutputArgs { + connectorArn: pulumi.Input; +} diff --git a/sdk/nodejs/pcaconnectorscep/index.ts b/sdk/nodejs/pcaconnectorscep/index.ts new file mode 100644 index 0000000000..3839150119 --- /dev/null +++ b/sdk/nodejs/pcaconnectorscep/index.ts @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +// Export members: +export { ChallengeArgs } from "./challenge"; +export type Challenge = import("./challenge").Challenge; +export const Challenge: typeof import("./challenge").Challenge = null as any; +utilities.lazyLoad(exports, ["Challenge"], () => require("./challenge")); + +export { ConnectorArgs } from "./connector"; +export type Connector = import("./connector").Connector; +export const Connector: typeof import("./connector").Connector = null as any; +utilities.lazyLoad(exports, ["Connector"], () => require("./connector")); + +export { GetChallengeArgs, GetChallengeResult, GetChallengeOutputArgs } from "./getChallenge"; +export const getChallenge: typeof import("./getChallenge").getChallenge = null as any; +export const getChallengeOutput: typeof import("./getChallenge").getChallengeOutput = null as any; +utilities.lazyLoad(exports, ["getChallenge","getChallengeOutput"], () => require("./getChallenge")); + +export { GetConnectorArgs, GetConnectorResult, GetConnectorOutputArgs } from "./getConnector"; +export const getConnector: typeof import("./getConnector").getConnector = null as any; +export const getConnectorOutput: typeof import("./getConnector").getConnectorOutput = null as any; +utilities.lazyLoad(exports, ["getConnector","getConnectorOutput"], () => require("./getConnector")); + + +// Export enums: +export * from "../types/enums/pcaconnectorscep"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws-native:pcaconnectorscep:Challenge": + return new Challenge(name, undefined, { urn }) + case "aws-native:pcaconnectorscep:Connector": + return new Connector(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws-native", "pcaconnectorscep", _module) diff --git a/sdk/nodejs/qbusiness/application.ts b/sdk/nodejs/qbusiness/application.ts index f67de85932..f767ebc968 100644 --- a/sdk/nodejs/qbusiness/application.ts +++ b/sdk/nodejs/qbusiness/application.ts @@ -97,7 +97,7 @@ export class Application extends pulumi.CustomResource { */ public readonly qAppsConfiguration!: pulumi.Output; /** - * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. */ public readonly roleArn!: pulumi.Output; /** @@ -222,7 +222,7 @@ export interface ApplicationArgs { */ qAppsConfiguration?: pulumi.Input; /** - * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. */ roleArn?: pulumi.Input; /** diff --git a/sdk/nodejs/qbusiness/getApplication.ts b/sdk/nodejs/qbusiness/getApplication.ts index ace0653a94..7b4de072fc 100644 --- a/sdk/nodejs/qbusiness/getApplication.ts +++ b/sdk/nodejs/qbusiness/getApplication.ts @@ -67,7 +67,7 @@ export interface GetApplicationResult { */ readonly qAppsConfiguration?: outputs.qbusiness.ApplicationQAppsConfiguration; /** - * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + * The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. */ readonly roleArn?: string; /** diff --git a/sdk/nodejs/sagemaker/cluster.ts b/sdk/nodejs/sagemaker/cluster.ts new file mode 100644 index 0000000000..303341edb5 --- /dev/null +++ b/sdk/nodejs/sagemaker/cluster.ts @@ -0,0 +1,140 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource Type definition for AWS::SageMaker::Cluster + */ +export class Cluster extends pulumi.CustomResource { + /** + * Get an existing Cluster 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Cluster { + return new Cluster(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:sagemaker:Cluster'; + + /** + * Returns true if the given object is an instance of Cluster. 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 Cluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Cluster.__pulumiType; + } + + /** + * The Amazon Resource Name (ARN) of the HyperPod Cluster. + */ + public /*out*/ readonly clusterArn!: pulumi.Output; + /** + * The name of the HyperPod Cluster. + */ + public readonly clusterName!: pulumi.Output; + /** + * The status of the HyperPod Cluster. + */ + public /*out*/ readonly clusterStatus!: pulumi.Output; + /** + * The time at which the HyperPod cluster was created. + */ + public /*out*/ readonly creationTime!: pulumi.Output; + /** + * The failure message of the HyperPod Cluster. + */ + public /*out*/ readonly failureMessage!: pulumi.Output; + public readonly instanceGroups!: pulumi.Output; + /** + * If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + */ + public readonly nodeRecovery!: pulumi.Output; + public readonly orchestrator!: pulumi.Output; + /** + * Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + */ + public readonly tags!: pulumi.Output; + /** + * Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + */ + public readonly vpcConfig!: pulumi.Output; + + /** + * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.instanceGroups === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceGroups'"); + } + resourceInputs["clusterName"] = args ? args.clusterName : undefined; + resourceInputs["instanceGroups"] = args ? args.instanceGroups : undefined; + resourceInputs["nodeRecovery"] = args ? args.nodeRecovery : undefined; + resourceInputs["orchestrator"] = args ? args.orchestrator : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["vpcConfig"] = args ? args.vpcConfig : undefined; + resourceInputs["clusterArn"] = undefined /*out*/; + resourceInputs["clusterStatus"] = undefined /*out*/; + resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["failureMessage"] = undefined /*out*/; + } else { + resourceInputs["clusterArn"] = undefined /*out*/; + resourceInputs["clusterName"] = undefined /*out*/; + resourceInputs["clusterStatus"] = undefined /*out*/; + resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["failureMessage"] = undefined /*out*/; + resourceInputs["instanceGroups"] = undefined /*out*/; + resourceInputs["nodeRecovery"] = undefined /*out*/; + resourceInputs["orchestrator"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["vpcConfig"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["clusterName", "instanceGroups[*].executionRole", "instanceGroups[*].instanceGroupName", "instanceGroups[*].instanceType", "instanceGroups[*].threadsPerCore", "orchestrator", "vpcConfig"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Cluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Cluster resource. + */ +export interface ClusterArgs { + /** + * The name of the HyperPod Cluster. + */ + clusterName?: pulumi.Input; + instanceGroups: pulumi.Input[]>; + /** + * If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + */ + nodeRecovery?: pulumi.Input; + orchestrator?: pulumi.Input; + /** + * Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + */ + tags?: pulumi.Input[]>; + /** + * Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + */ + vpcConfig?: pulumi.Input; +} diff --git a/sdk/nodejs/sagemaker/getCluster.ts b/sdk/nodejs/sagemaker/getCluster.ts new file mode 100644 index 0000000000..5736117d8c --- /dev/null +++ b/sdk/nodejs/sagemaker/getCluster.ts @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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 enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource Type definition for AWS::SageMaker::Cluster + */ +export function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:sagemaker:getCluster", { + "clusterArn": args.clusterArn, + }, opts); +} + +export interface GetClusterArgs { + /** + * The Amazon Resource Name (ARN) of the HyperPod Cluster. + */ + clusterArn: string; +} + +export interface GetClusterResult { + /** + * The Amazon Resource Name (ARN) of the HyperPod Cluster. + */ + readonly clusterArn?: string; + /** + * The status of the HyperPod Cluster. + */ + readonly clusterStatus?: enums.sagemaker.ClusterStatus; + /** + * The time at which the HyperPod cluster was created. + */ + readonly creationTime?: string; + /** + * The failure message of the HyperPod Cluster. + */ + readonly failureMessage?: string; + readonly instanceGroups?: outputs.sagemaker.ClusterInstanceGroup[]; + /** + * If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + */ + readonly nodeRecovery?: enums.sagemaker.ClusterNodeRecovery; + /** + * Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Resource Type definition for AWS::SageMaker::Cluster + */ +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getCluster(a, opts)) +} + +export interface GetClusterOutputArgs { + /** + * The Amazon Resource Name (ARN) of the HyperPod Cluster. + */ + clusterArn: pulumi.Input; +} diff --git a/sdk/nodejs/sagemaker/index.ts b/sdk/nodejs/sagemaker/index.ts index 78e143c0ba..9983b47d3a 100644 --- a/sdk/nodejs/sagemaker/index.ts +++ b/sdk/nodejs/sagemaker/index.ts @@ -15,6 +15,11 @@ export type AppImageConfig = import("./appImageConfig").AppImageConfig; export const AppImageConfig: typeof import("./appImageConfig").AppImageConfig = null as any; utilities.lazyLoad(exports, ["AppImageConfig"], () => require("./appImageConfig")); +export { ClusterArgs } from "./cluster"; +export type Cluster = import("./cluster").Cluster; +export const Cluster: typeof import("./cluster").Cluster = null as any; +utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); + export { DataQualityJobDefinitionArgs } from "./dataQualityJobDefinition"; export type DataQualityJobDefinition = import("./dataQualityJobDefinition").DataQualityJobDefinition; export const DataQualityJobDefinition: typeof import("./dataQualityJobDefinition").DataQualityJobDefinition = null as any; @@ -50,6 +55,11 @@ export const getAppImageConfig: typeof import("./getAppImageConfig").getAppImage export const getAppImageConfigOutput: typeof import("./getAppImageConfig").getAppImageConfigOutput = null as any; utilities.lazyLoad(exports, ["getAppImageConfig","getAppImageConfigOutput"], () => require("./getAppImageConfig")); +export { GetClusterArgs, GetClusterResult, GetClusterOutputArgs } from "./getCluster"; +export const getCluster: typeof import("./getCluster").getCluster = null as any; +export const getClusterOutput: typeof import("./getCluster").getClusterOutput = null as any; +utilities.lazyLoad(exports, ["getCluster","getClusterOutput"], () => require("./getCluster")); + export { GetDataQualityJobDefinitionArgs, GetDataQualityJobDefinitionResult, GetDataQualityJobDefinitionOutputArgs } from "./getDataQualityJobDefinition"; export const getDataQualityJobDefinition: typeof import("./getDataQualityJobDefinition").getDataQualityJobDefinition = null as any; export const getDataQualityJobDefinitionOutput: typeof import("./getDataQualityJobDefinition").getDataQualityJobDefinitionOutput = null as any; @@ -252,6 +262,8 @@ const _module = { return new App(name, undefined, { urn }) case "aws-native:sagemaker:AppImageConfig": return new AppImageConfig(name, undefined, { urn }) + case "aws-native:sagemaker:Cluster": + return new Cluster(name, undefined, { urn }) case "aws-native:sagemaker:DataQualityJobDefinition": return new DataQualityJobDefinition(name, undefined, { urn }) case "aws-native:sagemaker:Device": diff --git a/sdk/nodejs/sns/getSubscription.ts b/sdk/nodejs/sns/getSubscription.ts new file mode 100644 index 0000000000..b0061126de --- /dev/null +++ b/sdk/nodejs/sns/getSubscription.ts @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::SNS::Subscription + */ +export function getSubscription(args: GetSubscriptionArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:sns:getSubscription", { + "arn": args.arn, + }, opts); +} + +export interface GetSubscriptionArgs { + /** + * Arn of the subscription + */ + arn: string; +} + +export interface GetSubscriptionResult { + /** + * Arn of the subscription + */ + readonly arn?: string; + /** + * The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + readonly deliveryPolicy?: any; + /** + * The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + readonly filterPolicy?: any; + /** + * This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + */ + readonly filterPolicyScope?: string; + /** + * When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + */ + readonly rawMessageDelivery?: boolean; + /** + * When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + readonly redrivePolicy?: any; + /** + * Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + readonly replayPolicy?: any; + /** + * This property applies only to Amazon Data Firehose delivery stream subscriptions. + */ + readonly subscriptionRoleArn?: string; +} +/** + * Resource Type definition for AWS::SNS::Subscription + */ +export function getSubscriptionOutput(args: GetSubscriptionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSubscription(a, opts)) +} + +export interface GetSubscriptionOutputArgs { + /** + * Arn of the subscription + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/sns/index.ts b/sdk/nodejs/sns/index.ts index b4ba866174..367c1acc48 100644 --- a/sdk/nodejs/sns/index.ts +++ b/sdk/nodejs/sns/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { GetSubscriptionArgs, GetSubscriptionResult, GetSubscriptionOutputArgs } from "./getSubscription"; +export const getSubscription: typeof import("./getSubscription").getSubscription = null as any; +export const getSubscriptionOutput: typeof import("./getSubscription").getSubscriptionOutput = null as any; +utilities.lazyLoad(exports, ["getSubscription","getSubscriptionOutput"], () => require("./getSubscription")); + export { GetTopicArgs, GetTopicResult, GetTopicOutputArgs } from "./getTopic"; export const getTopic: typeof import("./getTopic").getTopic = null as any; export const getTopicOutput: typeof import("./getTopic").getTopicOutput = null as any; @@ -20,6 +25,11 @@ export const getTopicPolicy: typeof import("./getTopicPolicy").getTopicPolicy = export const getTopicPolicyOutput: typeof import("./getTopicPolicy").getTopicPolicyOutput = null as any; utilities.lazyLoad(exports, ["getTopicPolicy","getTopicPolicyOutput"], () => require("./getTopicPolicy")); +export { SubscriptionArgs } from "./subscription"; +export type Subscription = import("./subscription").Subscription; +export const Subscription: typeof import("./subscription").Subscription = null as any; +utilities.lazyLoad(exports, ["Subscription"], () => require("./subscription")); + export { TopicArgs } from "./topic"; export type Topic = import("./topic").Topic; export const Topic: typeof import("./topic").Topic = null as any; @@ -43,6 +53,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws-native:sns:Subscription": + return new Subscription(name, undefined, { urn }) case "aws-native:sns:Topic": return new Topic(name, undefined, { urn }) case "aws-native:sns:TopicInlinePolicy": diff --git a/sdk/nodejs/sns/subscription.ts b/sdk/nodejs/sns/subscription.ts new file mode 100644 index 0000000000..5374c5a23e --- /dev/null +++ b/sdk/nodejs/sns/subscription.ts @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Resource Type definition for AWS::SNS::Subscription + */ +export class Subscription extends pulumi.CustomResource { + /** + * Get an existing Subscription 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 opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Subscription { + return new Subscription(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:sns:Subscription'; + + /** + * Returns true if the given object is an instance of Subscription. 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 Subscription { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Subscription.__pulumiType; + } + + /** + * Arn of the subscription + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + public readonly deliveryPolicy!: pulumi.Output; + /** + * The subscription's endpoint. The endpoint value depends on the protocol that you specify. + */ + public readonly endpoint!: pulumi.Output; + /** + * The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + public readonly filterPolicy!: pulumi.Output; + /** + * This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + */ + public readonly filterPolicyScope!: pulumi.Output; + /** + * The subscription's protocol. + */ + public readonly protocol!: pulumi.Output; + /** + * When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + */ + public readonly rawMessageDelivery!: pulumi.Output; + /** + * When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + public readonly redrivePolicy!: pulumi.Output; + /** + * For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + */ + public readonly region!: pulumi.Output; + /** + * Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + public readonly replayPolicy!: pulumi.Output; + /** + * This property applies only to Amazon Data Firehose delivery stream subscriptions. + */ + public readonly subscriptionRoleArn!: pulumi.Output; + /** + * The ARN of the topic to subscribe to. + */ + public readonly topicArn!: pulumi.Output; + + /** + * Create a Subscription 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: SubscriptionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.protocol === undefined) && !opts.urn) { + throw new Error("Missing required property 'protocol'"); + } + if ((!args || args.topicArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'topicArn'"); + } + resourceInputs["deliveryPolicy"] = args ? args.deliveryPolicy : undefined; + resourceInputs["endpoint"] = args ? args.endpoint : undefined; + resourceInputs["filterPolicy"] = args ? args.filterPolicy : undefined; + resourceInputs["filterPolicyScope"] = args ? args.filterPolicyScope : undefined; + resourceInputs["protocol"] = args ? args.protocol : undefined; + resourceInputs["rawMessageDelivery"] = args ? args.rawMessageDelivery : undefined; + resourceInputs["redrivePolicy"] = args ? args.redrivePolicy : undefined; + resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["replayPolicy"] = args ? args.replayPolicy : undefined; + resourceInputs["subscriptionRoleArn"] = args ? args.subscriptionRoleArn : undefined; + resourceInputs["topicArn"] = args ? args.topicArn : undefined; + resourceInputs["arn"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["deliveryPolicy"] = undefined /*out*/; + resourceInputs["endpoint"] = undefined /*out*/; + resourceInputs["filterPolicy"] = undefined /*out*/; + resourceInputs["filterPolicyScope"] = undefined /*out*/; + resourceInputs["protocol"] = undefined /*out*/; + resourceInputs["rawMessageDelivery"] = undefined /*out*/; + resourceInputs["redrivePolicy"] = undefined /*out*/; + resourceInputs["region"] = undefined /*out*/; + resourceInputs["replayPolicy"] = undefined /*out*/; + resourceInputs["subscriptionRoleArn"] = undefined /*out*/; + resourceInputs["topicArn"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["endpoint", "protocol", "topicArn"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Subscription.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Subscription resource. + */ +export interface SubscriptionArgs { + /** + * The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + deliveryPolicy?: any; + /** + * The subscription's endpoint. The endpoint value depends on the protocol that you specify. + */ + endpoint?: pulumi.Input; + /** + * The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + filterPolicy?: any; + /** + * This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + */ + filterPolicyScope?: pulumi.Input; + /** + * The subscription's protocol. + */ + protocol: pulumi.Input; + /** + * When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + */ + rawMessageDelivery?: pulumi.Input; + /** + * When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + redrivePolicy?: any; + /** + * For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + */ + region?: pulumi.Input; + /** + * Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + * + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + */ + replayPolicy?: any; + /** + * This property applies only to Amazon Data Firehose delivery stream subscriptions. + */ + subscriptionRoleArn?: pulumi.Input; + /** + * The ARN of the topic to subscribe to. + */ + topicArn: pulumi.Input; +} diff --git a/sdk/nodejs/sns/topic.ts b/sdk/nodejs/sns/topic.ts index 5b23ab0d3f..38f7b37719 100644 --- a/sdk/nodejs/sns/topic.ts +++ b/sdk/nodejs/sns/topic.ts @@ -11,6 +11,96 @@ import * as utilities from "../utilities"; * The ``AWS::SNS::Topic`` resource creates a topic to which notifications can be published. * One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*. * The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. + * + * ## Example Usage + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const carSalesTopic = new aws_native.sns.Topic("carSalesTopic", {}); + * const erpIntegrationQueue = new aws_native.sqs.Queue("erpIntegrationQueue", {}); + * const erpSubscription = new aws_native.sns.Subscription("erpSubscription", { + * topicArn: carSalesTopic.id, + * endpoint: erpIntegrationQueue.arn, + * protocol: "sqs", + * rawMessageDelivery: true, + * }); + * const crmIntegrationQueue = new aws_native.sqs.Queue("crmIntegrationQueue", {}); + * const crmSubscription = new aws_native.sns.Subscription("crmSubscription", { + * topicArn: carSalesTopic.id, + * endpoint: crmIntegrationQueue.arn, + * protocol: "sqs", + * rawMessageDelivery: true, + * filterPolicy: { + * "buyer-class": ["vip"], + * }, + * }); + * const config = new pulumi.Config(); + * const myHttpEndpoint = config.require("myHttpEndpoint"); + * const scmSubscription = new aws_native.sns.Subscription("scmSubscription", { + * topicArn: carSalesTopic.id, + * endpoint: myHttpEndpoint, + * protocol: "https", + * deliveryPolicy: { + * healthyRetryPolicy: { + * numRetries: 20, + * minDelayTarget: 10, + * maxDelayTarget: 30, + * numMinDelayRetries: 3, + * numMaxDelayRetries: 17, + * numNoDelayRetries: 0, + * backoffFunction: "exponential", + * }, + * }, + * }); + * + * ``` + * ### Example + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws_native from "@pulumi/aws-native"; + * + * const carSalesTopic = new aws_native.sns.Topic("carSalesTopic", {}); + * const erpIntegrationQueue = new aws_native.sqs.Queue("erpIntegrationQueue", {}); + * const erpSubscription = new aws_native.sns.Subscription("erpSubscription", { + * topicArn: carSalesTopic.id, + * endpoint: erpIntegrationQueue.arn, + * protocol: "sqs", + * rawMessageDelivery: true, + * }); + * const crmIntegrationQueue = new aws_native.sqs.Queue("crmIntegrationQueue", {}); + * const crmSubscription = new aws_native.sns.Subscription("crmSubscription", { + * topicArn: carSalesTopic.id, + * endpoint: crmIntegrationQueue.arn, + * protocol: "sqs", + * rawMessageDelivery: true, + * filterPolicy: { + * "buyer-class": ["vip"], + * }, + * }); + * const config = new pulumi.Config(); + * const myHttpEndpoint = config.require("myHttpEndpoint"); + * const scmSubscription = new aws_native.sns.Subscription("scmSubscription", { + * topicArn: carSalesTopic.id, + * endpoint: myHttpEndpoint, + * protocol: "https", + * deliveryPolicy: { + * healthyRetryPolicy: { + * numRetries: 20, + * minDelayTarget: 10, + * maxDelayTarget: 30, + * numMinDelayRetries: 3, + * numMaxDelayRetries: 17, + * numNoDelayRetries: 0, + * backoffFunction: "exponential", + * }, + * }, + * }); + * + * ``` */ export class Topic extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 8a78631969..8bda326059 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -1483,11 +1483,29 @@ "mediaconnect/getFlowVpcInterface.ts", "mediaconnect/getGateway.ts", "mediaconnect/index.ts", + "medialive/channelPlacementGroup.ts", + "medialive/cloudWatchAlarmTemplate.ts", + "medialive/cloudWatchAlarmTemplateGroup.ts", + "medialive/cluster.ts", + "medialive/eventBridgeRuleTemplate.ts", + "medialive/eventBridgeRuleTemplateGroup.ts", + "medialive/getChannelPlacementGroup.ts", + "medialive/getCloudWatchAlarmTemplate.ts", + "medialive/getCloudWatchAlarmTemplateGroup.ts", + "medialive/getCluster.ts", + "medialive/getEventBridgeRuleTemplate.ts", + "medialive/getEventBridgeRuleTemplateGroup.ts", "medialive/getMultiplex.ts", "medialive/getMultiplexprogram.ts", + "medialive/getNetwork.ts", + "medialive/getSdiSource.ts", + "medialive/getSignalMap.ts", "medialive/index.ts", "medialive/multiplex.ts", "medialive/multiplexprogram.ts", + "medialive/network.ts", + "medialive/sdiSource.ts", + "medialive/signalMap.ts", "mediapackage/asset.ts", "mediapackage/channel.ts", "mediapackage/getAsset.ts", @@ -1678,6 +1696,11 @@ "pcaconnectorad/servicePrincipalName.ts", "pcaconnectorad/template.ts", "pcaconnectorad/templateGroupAccessControlEntry.ts", + "pcaconnectorscep/challenge.ts", + "pcaconnectorscep/connector.ts", + "pcaconnectorscep/getChallenge.ts", + "pcaconnectorscep/getConnector.ts", + "pcaconnectorscep/index.ts", "personalize/dataset.ts", "personalize/datasetGroup.ts", "personalize/getDataset.ts", @@ -1936,6 +1959,7 @@ "s3outposts/index.ts", "sagemaker/app.ts", "sagemaker/appImageConfig.ts", + "sagemaker/cluster.ts", "sagemaker/dataQualityJobDefinition.ts", "sagemaker/device.ts", "sagemaker/deviceFleet.ts", @@ -1943,6 +1967,7 @@ "sagemaker/featureGroup.ts", "sagemaker/getApp.ts", "sagemaker/getAppImageConfig.ts", + "sagemaker/getCluster.ts", "sagemaker/getDataQualityJobDefinition.ts", "sagemaker/getDeviceFleet.ts", "sagemaker/getDomain.ts", @@ -2084,10 +2109,12 @@ "simspaceweaver/getSimulation.ts", "simspaceweaver/index.ts", "simspaceweaver/simulation.ts", + "sns/getSubscription.ts", "sns/getTopic.ts", "sns/getTopicInlinePolicy.ts", "sns/getTopicPolicy.ts", "sns/index.ts", + "sns/subscription.ts", "sns/topic.ts", "sns/topicInlinePolicy.ts", "sns/topicPolicy.ts", @@ -2295,6 +2322,7 @@ "types/enums/panorama/index.ts", "types/enums/paymentcryptography/index.ts", "types/enums/pcaconnectorad/index.ts", + "types/enums/pcaconnectorscep/index.ts", "types/enums/personalize/index.ts", "types/enums/pinpoint/index.ts", "types/enums/pipes/index.ts", diff --git a/sdk/nodejs/types/enums/amplify/index.ts b/sdk/nodejs/types/enums/amplify/index.ts index fb0d365f27..323213b4cb 100644 --- a/sdk/nodejs/types/enums/amplify/index.ts +++ b/sdk/nodejs/types/enums/amplify/index.ts @@ -15,6 +15,20 @@ export const AppAutoBranchCreationConfigStage = { */ export type AppAutoBranchCreationConfigStage = (typeof AppAutoBranchCreationConfigStage)[keyof typeof AppAutoBranchCreationConfigStage]; +export const AppCacheConfigType = { + AmplifyManaged: "AMPLIFY_MANAGED", + AmplifyManagedNoCookies: "AMPLIFY_MANAGED_NO_COOKIES", +} as const; + +/** + * The type of cache configuration to use for an Amplify app. + * + * The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + * + * The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + */ +export type AppCacheConfigType = (typeof AppCacheConfigType)[keyof typeof AppCacheConfigType]; + export const AppPlatform = { Web: "WEB", WebDynamic: "WEB_DYNAMIC", @@ -23,6 +37,8 @@ export const AppPlatform = { /** * The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + * + * If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . */ export type AppPlatform = (typeof AppPlatform)[keyof typeof AppPlatform]; diff --git a/sdk/nodejs/types/enums/applicationsignals/index.ts b/sdk/nodejs/types/enums/applicationsignals/index.ts index d4ca56e945..cf8bae8bc0 100644 --- a/sdk/nodejs/types/enums/applicationsignals/index.ts +++ b/sdk/nodejs/types/enums/applicationsignals/index.ts @@ -12,6 +12,38 @@ export const ServiceLevelObjectiveDurationUnit = { */ export type ServiceLevelObjectiveDurationUnit = (typeof ServiceLevelObjectiveDurationUnit)[keyof typeof ServiceLevelObjectiveDurationUnit]; +export const ServiceLevelObjectiveEvaluationType = { + PeriodBased: "PeriodBased", + RequestBased: "RequestBased", +} as const; + +/** + * Displays whether this is a period-based SLO or a request-based SLO. + */ +export type ServiceLevelObjectiveEvaluationType = (typeof ServiceLevelObjectiveEvaluationType)[keyof typeof ServiceLevelObjectiveEvaluationType]; + +export const ServiceLevelObjectiveRequestBasedSliComparisonOperator = { + GreaterThanOrEqualTo: "GreaterThanOrEqualTo", + LessThanOrEqualTo: "LessThanOrEqualTo", + LessThan: "LessThan", + GreaterThan: "GreaterThan", +} as const; + +/** + * The arithmetic operation used when comparing the specified metric to the threshold. + */ +export type ServiceLevelObjectiveRequestBasedSliComparisonOperator = (typeof ServiceLevelObjectiveRequestBasedSliComparisonOperator)[keyof typeof ServiceLevelObjectiveRequestBasedSliComparisonOperator]; + +export const ServiceLevelObjectiveRequestBasedSliMetricMetricType = { + Latency: "LATENCY", + Availability: "AVAILABILITY", +} as const; + +/** + * If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + */ +export type ServiceLevelObjectiveRequestBasedSliMetricMetricType = (typeof ServiceLevelObjectiveRequestBasedSliMetricMetricType)[keyof typeof ServiceLevelObjectiveRequestBasedSliMetricMetricType]; + export const ServiceLevelObjectiveSliComparisonOperator = { GreaterThanOrEqualTo: "GreaterThanOrEqualTo", LessThanOrEqualTo: "LessThanOrEqualTo", diff --git a/sdk/nodejs/types/enums/codebuild/index.ts b/sdk/nodejs/types/enums/codebuild/index.ts index 005ad01dc2..2ba9fe155e 100644 --- a/sdk/nodejs/types/enums/codebuild/index.ts +++ b/sdk/nodejs/types/enums/codebuild/index.ts @@ -11,6 +11,8 @@ export const FleetComputeType = { } as const; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * Information about the compute resources the compute fleet uses. Available values include: * * - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -45,6 +47,8 @@ export const FleetEnvironmentType = { } as const; /** + * > Updating this field is not allowed for `MAC_ARM` . + * * The environment type of the compute fleet. * * - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/nodejs/types/enums/ecs/index.ts b/sdk/nodejs/types/enums/ecs/index.ts index 51d0e059c9..96300fc126 100644 --- a/sdk/nodejs/types/enums/ecs/index.ts +++ b/sdk/nodejs/types/enums/ecs/index.ts @@ -132,6 +132,7 @@ export const ServicePropagateTags = { /** * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + * You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. * The default is ``NONE``. */ export type ServicePropagateTags = (typeof ServicePropagateTags)[keyof typeof ServicePropagateTags]; diff --git a/sdk/nodejs/types/enums/index.ts b/sdk/nodejs/types/enums/index.ts index 2750c52713..8bbbaf1bb2 100644 --- a/sdk/nodejs/types/enums/index.ts +++ b/sdk/nodejs/types/enums/index.ts @@ -116,6 +116,7 @@ import * as osis from "./osis"; import * as panorama from "./panorama"; import * as paymentcryptography from "./paymentcryptography"; import * as pcaconnectorad from "./pcaconnectorad"; +import * as pcaconnectorscep from "./pcaconnectorscep"; import * as personalize from "./personalize"; import * as pinpoint from "./pinpoint"; import * as pipes from "./pipes"; @@ -281,6 +282,7 @@ export { panorama, paymentcryptography, pcaconnectorad, + pcaconnectorscep, personalize, pinpoint, pipes, diff --git a/sdk/nodejs/types/enums/mediaconnect/index.ts b/sdk/nodejs/types/enums/mediaconnect/index.ts index b36f96ba31..c61e76a3a1 100644 --- a/sdk/nodejs/types/enums/mediaconnect/index.ts +++ b/sdk/nodejs/types/enums/mediaconnect/index.ts @@ -329,6 +329,16 @@ export const FlowSourceEncryptionKeyType = { */ export type FlowSourceEncryptionKeyType = (typeof FlowSourceEncryptionKeyType)[keyof typeof FlowSourceEncryptionKeyType]; +export const FlowSourceMonitoringConfigThumbnailState = { + Enabled: "ENABLED", + Disabled: "DISABLED", +} as const; + +/** + * The state of thumbnail monitoring. + */ +export type FlowSourceMonitoringConfigThumbnailState = (typeof FlowSourceMonitoringConfigThumbnailState)[keyof typeof FlowSourceMonitoringConfigThumbnailState]; + export const FlowSourceProtocol = { ZixiPush: "zixi-push", RtpFec: "rtp-fec", diff --git a/sdk/nodejs/types/enums/medialive/index.ts b/sdk/nodejs/types/enums/medialive/index.ts index 2e3cc6572a..f1a4adc312 100644 --- a/sdk/nodejs/types/enums/medialive/index.ts +++ b/sdk/nodejs/types/enums/medialive/index.ts @@ -2,6 +2,119 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const ChannelPlacementGroupState = { + Unassigned: "UNASSIGNED", + Assigning: "ASSIGNING", + Assigned: "ASSIGNED", + Deleting: "DELETING", + Deleted: "DELETED", + Unassigning: "UNASSIGNING", +} as const; + +/** + * The current state of the ChannelPlacementGroupState + */ +export type ChannelPlacementGroupState = (typeof ChannelPlacementGroupState)[keyof typeof ChannelPlacementGroupState]; + +export const CloudWatchAlarmTemplateComparisonOperator = { + GreaterThanOrEqualToThreshold: "GreaterThanOrEqualToThreshold", + GreaterThanThreshold: "GreaterThanThreshold", + LessThanThreshold: "LessThanThreshold", + LessThanOrEqualToThreshold: "LessThanOrEqualToThreshold", +} as const; + +/** + * The comparison operator used to compare the specified statistic and the threshold. + */ +export type CloudWatchAlarmTemplateComparisonOperator = (typeof CloudWatchAlarmTemplateComparisonOperator)[keyof typeof CloudWatchAlarmTemplateComparisonOperator]; + +export const CloudWatchAlarmTemplateStatistic = { + SampleCount: "SampleCount", + Average: "Average", + Sum: "Sum", + Minimum: "Minimum", + Maximum: "Maximum", +} as const; + +/** + * The statistic to apply to the alarm's metric data. + */ +export type CloudWatchAlarmTemplateStatistic = (typeof CloudWatchAlarmTemplateStatistic)[keyof typeof CloudWatchAlarmTemplateStatistic]; + +export const CloudWatchAlarmTemplateTargetResourceType = { + CloudfrontDistribution: "CLOUDFRONT_DISTRIBUTION", + MedialiveMultiplex: "MEDIALIVE_MULTIPLEX", + MedialiveChannel: "MEDIALIVE_CHANNEL", + MedialiveInputDevice: "MEDIALIVE_INPUT_DEVICE", + MediapackageChannel: "MEDIAPACKAGE_CHANNEL", + MediapackageOriginEndpoint: "MEDIAPACKAGE_ORIGIN_ENDPOINT", + MediaconnectFlow: "MEDIACONNECT_FLOW", + S3Bucket: "S3_BUCKET", +} as const; + +/** + * The resource type this template should dynamically generate cloudwatch metric alarms for. + */ +export type CloudWatchAlarmTemplateTargetResourceType = (typeof CloudWatchAlarmTemplateTargetResourceType)[keyof typeof CloudWatchAlarmTemplateTargetResourceType]; + +export const CloudWatchAlarmTemplateTreatMissingData = { + NotBreaching: "notBreaching", + Breaching: "breaching", + Ignore: "ignore", + Missing: "missing", +} as const; + +/** + * Specifies how missing data points are treated when evaluating the alarm's condition. + */ +export type CloudWatchAlarmTemplateTreatMissingData = (typeof CloudWatchAlarmTemplateTreatMissingData)[keyof typeof CloudWatchAlarmTemplateTreatMissingData]; + +export const ClusterState = { + Creating: "CREATING", + CreateFailed: "CREATE_FAILED", + Active: "ACTIVE", + Deleting: "DELETING", + Deleted: "DELETED", +} as const; + +/** + * The current state of the Cluster. + */ +export type ClusterState = (typeof ClusterState)[keyof typeof ClusterState]; + +export const ClusterType = { + OnPremises: "ON_PREMISES", + OutpostsRack: "OUTPOSTS_RACK", + OutpostsServer: "OUTPOSTS_SERVER", + Ec2: "EC2", +} as const; + +/** + * The hardware type for the cluster. + */ +export type ClusterType = (typeof ClusterType)[keyof typeof ClusterType]; + +export const EventBridgeRuleTemplateEventType = { + MedialiveMultiplexAlert: "MEDIALIVE_MULTIPLEX_ALERT", + MedialiveMultiplexStateChange: "MEDIALIVE_MULTIPLEX_STATE_CHANGE", + MedialiveChannelAlert: "MEDIALIVE_CHANNEL_ALERT", + MedialiveChannelInputChange: "MEDIALIVE_CHANNEL_INPUT_CHANGE", + MedialiveChannelStateChange: "MEDIALIVE_CHANNEL_STATE_CHANGE", + MediapackageInputNotification: "MEDIAPACKAGE_INPUT_NOTIFICATION", + MediapackageKeyProviderNotification: "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION", + MediapackageHarvestJobNotification: "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION", + SignalMapActiveAlarm: "SIGNAL_MAP_ACTIVE_ALARM", + MediaconnectAlert: "MEDIACONNECT_ALERT", + MediaconnectSourceHealth: "MEDIACONNECT_SOURCE_HEALTH", + MediaconnectOutputHealth: "MEDIACONNECT_OUTPUT_HEALTH", + MediaconnectFlowStatusChange: "MEDIACONNECT_FLOW_STATUS_CHANGE", +} as const; + +/** + * The type of event to match with the rule. + */ +export type EventBridgeRuleTemplateEventType = (typeof EventBridgeRuleTemplateEventType)[keyof typeof EventBridgeRuleTemplateEventType]; + export const MultiplexState = { Creating: "CREATING", CreateFailed: "CREATE_FAILED", @@ -33,3 +146,83 @@ export const MultiplexprogramPreferredChannelPipeline = { * it will only switch if the active pipeline becomes unhealthy. */ export type MultiplexprogramPreferredChannelPipeline = (typeof MultiplexprogramPreferredChannelPipeline)[keyof typeof MultiplexprogramPreferredChannelPipeline]; + +export const NetworkState = { + Creating: "CREATING", + CreateFailed: "CREATE_FAILED", + Active: "ACTIVE", + Deleting: "DELETING", + Idle: "IDLE", + InUse: "IN_USE", + Updating: "UPDATING", + Deleted: "DELETED", + DeleteFailed: "DELETE_FAILED", +} as const; + +export type NetworkState = (typeof NetworkState)[keyof typeof NetworkState]; + +export const SdiSourceMode = { + Quadrant: "QUADRANT", + Interleave: "INTERLEAVE", +} as const; + +/** + * The current state of the SdiSource. + */ +export type SdiSourceMode = (typeof SdiSourceMode)[keyof typeof SdiSourceMode]; + +export const SdiSourceState = { + Idle: "IDLE", + InUse: "IN_USE", + Deleted: "DELETED", +} as const; + +/** + * The current state of the SdiSource. + */ +export type SdiSourceState = (typeof SdiSourceState)[keyof typeof SdiSourceState]; + +export const SdiSourceType = { + Single: "SINGLE", + Quad: "QUAD", +} as const; + +/** + * The interface mode of the SdiSource. + */ +export type SdiSourceType = (typeof SdiSourceType)[keyof typeof SdiSourceType]; + +export const SignalMapMonitorDeploymentStatus = { + NotDeployed: "NOT_DEPLOYED", + DryRunDeploymentComplete: "DRY_RUN_DEPLOYMENT_COMPLETE", + DryRunDeploymentFailed: "DRY_RUN_DEPLOYMENT_FAILED", + DryRunDeploymentInProgress: "DRY_RUN_DEPLOYMENT_IN_PROGRESS", + DeploymentComplete: "DEPLOYMENT_COMPLETE", + DeploymentFailed: "DEPLOYMENT_FAILED", + DeploymentInProgress: "DEPLOYMENT_IN_PROGRESS", + DeleteComplete: "DELETE_COMPLETE", + DeleteFailed: "DELETE_FAILED", + DeleteInProgress: "DELETE_IN_PROGRESS", +} as const; + +/** + * A signal map's monitor deployment status. + */ +export type SignalMapMonitorDeploymentStatus = (typeof SignalMapMonitorDeploymentStatus)[keyof typeof SignalMapMonitorDeploymentStatus]; + +export const SignalMapStatus = { + CreateInProgress: "CREATE_IN_PROGRESS", + CreateComplete: "CREATE_COMPLETE", + CreateFailed: "CREATE_FAILED", + UpdateInProgress: "UPDATE_IN_PROGRESS", + UpdateComplete: "UPDATE_COMPLETE", + UpdateReverted: "UPDATE_REVERTED", + UpdateFailed: "UPDATE_FAILED", + Ready: "READY", + NotReady: "NOT_READY", +} as const; + +/** + * A signal map's current status which is dependent on its lifecycle actions or associated jobs. + */ +export type SignalMapStatus = (typeof SignalMapStatus)[keyof typeof SignalMapStatus]; diff --git a/sdk/nodejs/types/enums/paymentcryptography/index.ts b/sdk/nodejs/types/enums/paymentcryptography/index.ts index 2971216f32..947864e727 100644 --- a/sdk/nodejs/types/enums/paymentcryptography/index.ts +++ b/sdk/nodejs/types/enums/paymentcryptography/index.ts @@ -11,6 +11,8 @@ export const KeyAlgorithm = { Rsa2048: "RSA_2048", Rsa3072: "RSA_3072", Rsa4096: "RSA_4096", + EccNistP256: "ECC_NIST_P256", + EccNistP384: "ECC_NIST_P384", } as const; export type KeyAlgorithm = (typeof KeyAlgorithm)[keyof typeof KeyAlgorithm]; diff --git a/sdk/nodejs/types/enums/pcaconnectorscep/index.ts b/sdk/nodejs/types/enums/pcaconnectorscep/index.ts new file mode 100644 index 0000000000..b9bdad6f65 --- /dev/null +++ b/sdk/nodejs/types/enums/pcaconnectorscep/index.ts @@ -0,0 +1,10 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const ConnectorType = { + GeneralPurpose: "GENERAL_PURPOSE", + Intune: "INTUNE", +} as const; + +export type ConnectorType = (typeof ConnectorType)[keyof typeof ConnectorType]; diff --git a/sdk/nodejs/types/enums/quicksight/index.ts b/sdk/nodejs/types/enums/quicksight/index.ts index a5b0e61e29..beb89aa5bc 100644 --- a/sdk/nodejs/types/enums/quicksight/index.ts +++ b/sdk/nodejs/types/enums/quicksight/index.ts @@ -550,6 +550,13 @@ export const AnalysisPrimaryValueDisplayType = { export type AnalysisPrimaryValueDisplayType = (typeof AnalysisPrimaryValueDisplayType)[keyof typeof AnalysisPrimaryValueDisplayType]; +export const AnalysisQueryExecutionMode = { + Auto: "AUTO", + Manual: "MANUAL", +} as const; + +export type AnalysisQueryExecutionMode = (typeof AnalysisQueryExecutionMode)[keyof typeof AnalysisQueryExecutionMode]; + export const AnalysisRadarChartAxesRangeScale = { Auto: "AUTO", Independent: "INDEPENDENT", @@ -2718,6 +2725,13 @@ export const TemplatePrimaryValueDisplayType = { export type TemplatePrimaryValueDisplayType = (typeof TemplatePrimaryValueDisplayType)[keyof typeof TemplatePrimaryValueDisplayType]; +export const TemplateQueryExecutionMode = { + Auto: "AUTO", + Manual: "MANUAL", +} as const; + +export type TemplateQueryExecutionMode = (typeof TemplateQueryExecutionMode)[keyof typeof TemplateQueryExecutionMode]; + export const TemplateRadarChartAxesRangeScale = { Auto: "AUTO", Independent: "INDEPENDENT", diff --git a/sdk/nodejs/types/enums/sagemaker/index.ts b/sdk/nodejs/types/enums/sagemaker/index.ts index 50e840107b..c606f08ad1 100644 --- a/sdk/nodejs/types/enums/sagemaker/index.ts +++ b/sdk/nodejs/types/enums/sagemaker/index.ts @@ -86,6 +86,41 @@ export const AppType = { */ export type AppType = (typeof AppType)[keyof typeof AppType]; +export const ClusterDeepHealthCheckType = { + InstanceStress: "InstanceStress", + InstanceConnectivity: "InstanceConnectivity", +} as const; + +/** + * The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group. + */ +export type ClusterDeepHealthCheckType = (typeof ClusterDeepHealthCheckType)[keyof typeof ClusterDeepHealthCheckType]; + +export const ClusterNodeRecovery = { + Automatic: "Automatic", + None: "None", +} as const; + +/** + * If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + */ +export type ClusterNodeRecovery = (typeof ClusterNodeRecovery)[keyof typeof ClusterNodeRecovery]; + +export const ClusterStatus = { + Creating: "Creating", + Deleting: "Deleting", + Failed: "Failed", + InService: "InService", + RollingBack: "RollingBack", + SystemUpdating: "SystemUpdating", + Updating: "Updating", +} as const; + +/** + * The status of the HyperPod Cluster. + */ +export type ClusterStatus = (typeof ClusterStatus)[keyof typeof ClusterStatus]; + export const DataQualityJobDefinitionBatchTransformInputS3DataDistributionType = { FullyReplicated: "FullyReplicated", ShardedByS3Key: "ShardedByS3Key", @@ -188,6 +223,16 @@ export const DomainDockerSettingsEnableDockerAccess = { */ export type DomainDockerSettingsEnableDockerAccess = (typeof DomainDockerSettingsEnableDockerAccess)[keyof typeof DomainDockerSettingsEnableDockerAccess]; +export const DomainLifecycleManagement = { + Enabled: "ENABLED", + Disabled: "DISABLED", +} as const; + +/** + * A flag to enable/disable AppLifecycleManagement settings + */ +export type DomainLifecycleManagement = (typeof DomainLifecycleManagement)[keyof typeof DomainLifecycleManagement]; + export const DomainMlTools = { DataWrangler: "DataWrangler", FeatureStore: "FeatureStore", @@ -202,6 +247,7 @@ export const DomainMlTools = { InferenceRecommender: "InferenceRecommender", Endpoints: "Endpoints", Projects: "Projects", + InferenceOptimization: "InferenceOptimization", } as const; export type DomainMlTools = (typeof DomainMlTools)[keyof typeof DomainMlTools]; @@ -1106,6 +1152,16 @@ export const UserProfileAppType = { export type UserProfileAppType = (typeof UserProfileAppType)[keyof typeof UserProfileAppType]; +export const UserProfileLifecycleManagement = { + Enabled: "ENABLED", + Disabled: "DISABLED", +} as const; + +/** + * A flag to enable/disable AppLifecycleManagement settings + */ +export type UserProfileLifecycleManagement = (typeof UserProfileLifecycleManagement)[keyof typeof UserProfileLifecycleManagement]; + export const UserProfileMlTools = { DataWrangler: "DataWrangler", FeatureStore: "FeatureStore", @@ -1120,6 +1176,7 @@ export const UserProfileMlTools = { InferenceRecommender: "InferenceRecommender", Endpoints: "Endpoints", Projects: "Projects", + InferenceOptimization: "InferenceOptimization", } as const; export type UserProfileMlTools = (typeof UserProfileMlTools)[keyof typeof UserProfileMlTools]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 7ac628c55e..1e0ba43363 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -807,6 +807,17 @@ export namespace amplify { username?: pulumi.Input; } + export interface AppCacheConfigArgs { + /** + * The type of cache configuration to use for an Amplify app. + * + * The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + * + * The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + */ + type?: pulumi.Input; + } + export interface AppCustomRuleArgs { /** * The condition for a URL rewrite or redirect rule, such as a country code. @@ -4814,6 +4825,70 @@ export namespace applicationsignals { unit?: pulumi.Input; } + /** + * This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + */ + export interface ServiceLevelObjectiveMonitoredRequestCountMetricArgs { + /** + * If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + */ + badCountMetric?: pulumi.Input[]>; + /** + * If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + */ + goodCountMetric?: pulumi.Input[]>; + } + + /** + * This structure contains information about the performance metric that a request-based SLO monitors. + */ + export interface ServiceLevelObjectiveRequestBasedSliArgs { + /** + * The arithmetic operation used when comparing the specified metric to the threshold. + */ + comparisonOperator?: pulumi.Input; + /** + * The value that the SLI metric is compared to. + */ + metricThreshold?: pulumi.Input; + /** + * A structure that contains information about the metric that the SLO monitors. + */ + requestBasedSliMetric: pulumi.Input; + } + + /** + * This structure contains the information about the metric that is used for a request-based SLO. + */ + export interface ServiceLevelObjectiveRequestBasedSliMetricArgs { + /** + * This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + * + * - `Type` designates the type of object that this SLO is related to. + * - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + * - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + * - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + * - `Environment` specifies the location where this object is hosted, or what it belongs to. + */ + keyAttributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + */ + metricType?: pulumi.Input; + /** + * Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + */ + monitoredRequestCountMetric?: pulumi.Input; + /** + * If the SLO monitors a specific operation of the service, this field displays that operation name. + */ + operationName?: pulumi.Input; + /** + * This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + */ + totalRequestCountMetric?: pulumi.Input[]>; + } + /** * If the interval is a calendar interval, this structure contains the interval specifications. */ @@ -5616,7 +5691,7 @@ export namespace athena { */ export interface WorkGroupAclConfigurationArgs { /** - * The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + * The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . */ s3AclOption: pulumi.Input; } @@ -14160,7 +14235,7 @@ export namespace cognito { export interface UserPoolAdminCreateUserConfigArgs { /** - * Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + * The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. */ allowAdminCreateUserOnly?: pulumi.Input; /** @@ -14170,9 +14245,11 @@ export namespace cognito { */ inviteMessageTemplate?: pulumi.Input; /** - * The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + * This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . * - * > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + * The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + * + * The default value for this parameter is 7. */ unusedAccountValidityDays?: pulumi.Input; } @@ -14187,15 +14264,15 @@ export namespace cognito { */ applicationArn?: pulumi.Input; /** - * The application ID for an Amazon Pinpoint application. + * Your Amazon Pinpoint project ID. */ applicationId?: pulumi.Input; /** - * The external ID. + * The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. */ externalId?: pulumi.Input; /** - * The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + * The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. */ roleArn?: pulumi.Input; /** @@ -14206,15 +14283,15 @@ export namespace cognito { export interface UserPoolClientTokenValidityUnitsArgs { /** - * A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + * A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. */ accessToken?: pulumi.Input; /** - * A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + * A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. */ idToken?: pulumi.Input; /** - * A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + * A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. */ refreshToken?: pulumi.Input; } @@ -14322,7 +14399,7 @@ export namespace cognito { export interface UserPoolLambdaConfigArgs { /** - * Creates an authentication challenge. + * The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . */ createAuthChallenge?: pulumi.Input; /** @@ -14330,7 +14407,7 @@ export namespace cognito { */ customEmailSender?: pulumi.Input; /** - * A custom Message AWS Lambda trigger. + * A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. */ customMessage?: pulumi.Input; /** @@ -14338,7 +14415,7 @@ export namespace cognito { */ customSmsSender?: pulumi.Input; /** - * Defines the authentication challenge. + * The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . */ defineAuthChallenge?: pulumi.Input; /** @@ -14346,39 +14423,37 @@ export namespace cognito { */ kmsKeyId?: pulumi.Input; /** - * A post-authentication AWS Lambda trigger. + * The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. */ postAuthentication?: pulumi.Input; /** - * A post-confirmation AWS Lambda trigger. + * The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. */ postConfirmation?: pulumi.Input; /** - * A pre-authentication AWS Lambda trigger. + * The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. */ preAuthentication?: pulumi.Input; /** - * A pre-registration AWS Lambda trigger. + * The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. */ preSignUp?: pulumi.Input; /** - * The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + * The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. * * Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - * - * You can set `` */ preTokenGeneration?: pulumi.Input; /** - * The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + * The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . */ preTokenGenerationConfig?: pulumi.Input; /** - * The user migration Lambda config type. + * The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. */ userMigration?: pulumi.Input; /** - * Verifies the authentication challenge response. + * The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . */ verifyAuthChallengeResponse?: pulumi.Input; } @@ -14406,19 +14481,19 @@ export namespace cognito { */ passwordHistorySize?: pulumi.Input; /** - * In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + * The requirement in a password policy that users must include at least one lowercase letter in their password. */ requireLowercase?: pulumi.Input; /** - * In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + * The requirement in a password policy that users must include at least one number in their password. */ requireNumbers?: pulumi.Input; /** - * In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + * The requirement in a password policy that users must include at least one symbol in their password. */ requireSymbols?: pulumi.Input; /** - * In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + * The requirement in a password policy that users must include at least one uppercase letter in their password. */ requireUppercase?: pulumi.Input; /** @@ -14431,7 +14506,7 @@ export namespace cognito { export interface UserPoolPoliciesArgs { /** - * The password policy. + * The password policy settings for a user pool, including complexity, history, and length requirements. */ passwordPolicy?: pulumi.Input; } @@ -14462,94 +14537,94 @@ export namespace cognito { export interface UserPoolResourceServerResourceServerScopeTypeArgs { /** - * A description of the scope. + * A friendly description of a custom scope. */ scopeDescription: pulumi.Input; /** - * The name of the scope. + * The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . */ scopeName: pulumi.Input; } export interface UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs { /** - * The action to take in response to the account takeover action. Valid values are as follows: + * The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: * - * - `BLOCK` Choosing this action will block the request. - * - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - * - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - * - `NO_ACTION` Allow the user to sign in. + * - `BLOCK` : Block the request. + * - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + * - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + * - `NO_ACTION` : Take no action. Permit sign-in. */ eventAction: pulumi.Input; /** - * Flag specifying whether to send a notification. + * Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. */ notify: pulumi.Input; } export interface UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs { /** - * Action to take for a high risk. + * The action that you assign to a high-risk assessment by advanced security features. */ highAction?: pulumi.Input; /** - * Action to take for a low risk. + * The action that you assign to a low-risk assessment by advanced security features. */ lowAction?: pulumi.Input; /** - * Action to take for a medium risk. + * The action that you assign to a medium-risk assessment by advanced security features. */ mediumAction?: pulumi.Input; } export interface UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs { /** - * Account takeover risk configuration actions. + * A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. */ actions: pulumi.Input; /** - * The notify configuration used to construct email notifications. + * The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. */ notifyConfiguration?: pulumi.Input; } export interface UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs { /** - * The event action. + * The action that Amazon Cognito takes when it detects compromised credentials. */ eventAction: pulumi.Input; } export interface UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs { /** - * The compromised credentials risk configuration actions. + * Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. */ actions: pulumi.Input; /** - * Perform the action for these events. The default is to perform all events if no event filter is specified. + * Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. */ eventFilter?: pulumi.Input[]>; } export interface UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs { /** - * Email template used when a detected risk event is blocked. + * The template for the email message that your user pool sends when a detected risk event is blocked. */ blockEmail?: pulumi.Input; /** - * The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + * The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. */ from?: pulumi.Input; /** - * The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + * The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. */ mfaEmail?: pulumi.Input; /** - * The email template used when a detected risk event is allowed. + * The template for the email message that your user pool sends when no action is taken in response to a detected risk. */ noActionEmail?: pulumi.Input; /** - * The destination to which the receiver of an email should reply to. + * The reply-to email address of an email template. */ replyTo?: pulumi.Input; /** @@ -14560,26 +14635,26 @@ export namespace cognito { export interface UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs { /** - * The email HTML body. + * The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. */ htmlBody?: pulumi.Input; /** - * The email subject. + * The subject of the threat protection email notification. */ subject: pulumi.Input; /** - * The email text body. + * The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. */ textBody?: pulumi.Input; } export interface UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs { /** - * Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + * An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. */ blockedIpRangeList?: pulumi.Input[]>; /** - * Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + * An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. */ skippedIpRangeList?: pulumi.Input[]>; } @@ -14642,7 +14717,7 @@ export namespace cognito { */ maxLength?: pulumi.Input; /** - * The minimum length. + * The minimum length of a string attribute value. */ minLength?: pulumi.Input; } @@ -14675,15 +14750,17 @@ export namespace cognito { * * Valid values include: * - * - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - * - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + * - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + * - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. */ caseSensitive?: pulumi.Input; } export interface UserPoolVerificationMessageTemplateArgs { /** - * The default email option. + * The configuration of verification emails to contain a clickable link or a verification code. + * + * For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . */ defaultEmailOption?: pulumi.Input; /** @@ -23433,7 +23510,7 @@ export namespace ecs { } /** - * An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + * An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. */ export interface ServiceAwsVpcConfigurationArgs { /** @@ -23441,12 +23518,12 @@ export namespace ecs { */ assignPublicIp?: pulumi.Input; /** - * The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + * The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. * All specified security groups must be from the same VPC. */ securityGroups?: pulumi.Input[]>; /** - * The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + * The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. * All specified subnets must be from the same VPC. */ subnets?: pulumi.Input[]>; @@ -23504,12 +23581,12 @@ export namespace ecs { */ enabled: pulumi.Input; /** - * The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + * The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. * Understand the following when specifying a log configuration for your containers. * + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. * For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. * + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. * + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. * + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -23564,7 +23641,7 @@ export namespace ecs { } /** - * An object that represents the AWS Private Certificate Authority certificate. + * The certificate root authority that secures your service. */ export interface ServiceConnectTlsCertificateAuthorityArgs { /** @@ -23574,7 +23651,7 @@ export namespace ecs { } /** - * An object that represents the configuration for Service Connect TLS. + * The key that encrypts and decrypts your resources for Service Connect TLS. */ export interface ServiceConnectTlsConfigurationArgs { /** @@ -23629,7 +23706,7 @@ export namespace ecs { } /** - * The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. */ export interface ServiceDeploymentConfigurationArgs { /** @@ -23643,7 +23720,9 @@ export namespace ecs { deploymentCircuitBreaker?: pulumi.Input; /** * If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + * You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + * If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. */ maximumPercent?: pulumi.Input; /** @@ -23657,7 +23736,11 @@ export namespace ecs { * + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. * + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. * - * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + * The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + * The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + * You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. */ minimumHealthyPercent?: pulumi.Input; } @@ -23725,12 +23808,12 @@ export namespace ecs { } /** - * The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + * The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. * Understand the following when specifying a log configuration for your containers. * + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. * For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. * + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. * + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. * + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -23739,9 +23822,9 @@ export namespace ecs { /** * The log driver to use for the container. * For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - * For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - * For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + * For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + * For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). * If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. */ logDriver?: pulumi.Input; @@ -23826,7 +23909,7 @@ export namespace ecs { } /** - * The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + * The network configuration for a task or service. */ export interface ServiceNetworkConfigurationArgs { /** @@ -23837,7 +23920,8 @@ export namespace ecs { } /** - * The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + * An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + * If you're using the Fargate launch type, task placement constraints aren't supported. */ export interface ServicePlacementConstraintArgs { /** @@ -23851,11 +23935,11 @@ export namespace ecs { } /** - * The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + * The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. */ export interface ServicePlacementStrategyArgs { /** - * The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + * The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. */ field?: pulumi.Input; /** @@ -23865,7 +23949,9 @@ export namespace ecs { } /** - * The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + * The details for the service registry. + * Each service may be associated with one service registry. Multiple service registries for each service are not supported. + * When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. */ export interface ServiceRegistryArgs { /** @@ -23978,11 +24064,11 @@ export namespace ecs { */ export interface TaskDefinitionContainerDefinitionArgs { /** - * The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + * The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. */ command?: pulumi.Input[]>; /** - * The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + * The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. * This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. * You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. * Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -24013,40 +24099,40 @@ export namespace ecs { */ dependsOn?: pulumi.Input[]>; /** - * When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + * When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. * This parameter is not supported for Windows containers. */ disableNetworking?: pulumi.Input; /** - * A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + * A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. * This parameter is not supported for Windows containers. */ dnsSearchDomains?: pulumi.Input[]>; /** - * A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + * A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. * This parameter is not supported for Windows containers. */ dnsServers?: pulumi.Input[]>; /** - * A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + * A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` */ dockerLabels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. * For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. * For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - * This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + * This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. * The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. * Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" */ dockerSecurityOptions?: pulumi.Input[]>; /** * Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - * The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + * The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. */ entryPoint?: pulumi.Input[]>; /** - * The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + * The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. * We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. */ environment?: pulumi.Input[]>; @@ -24062,7 +24148,7 @@ export namespace ecs { */ essential?: pulumi.Input; /** - * A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + * A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. * This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. */ extraHosts?: pulumi.Input[]>; @@ -24071,16 +24157,16 @@ export namespace ecs { */ firelensConfiguration?: pulumi.Input; /** - * The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + * The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. */ healthCheck?: pulumi.Input; /** - * The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + * The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. * The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. */ hostname?: pulumi.Input; /** - * The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + * The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. * + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. * + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. * + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). @@ -24089,11 +24175,11 @@ export namespace ecs { */ image: pulumi.Input; /** - * When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + * When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. */ interactive?: pulumi.Input; /** - * The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + * The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. * This parameter is not supported for Windows containers. * Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. */ @@ -24120,7 +24206,7 @@ export namespace ecs { */ memory?: pulumi.Input; /** - * The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + * The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. * If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. * For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. * The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. @@ -24129,12 +24215,12 @@ export namespace ecs { memoryReservation?: pulumi.Input; /** * The mount points for data volumes in your container. - * This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + * This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. * Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. */ mountPoints?: pulumi.Input[]>; /** - * The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + * The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. */ name: pulumi.Input; /** @@ -24146,16 +24232,16 @@ export namespace ecs { */ portMappings?: pulumi.Input[]>; /** - * When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + * When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run * This parameter is not supported for Windows containers or tasks run on FARGATElong. */ privileged?: pulumi.Input; /** - * When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + * When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. */ pseudoTerminal?: pulumi.Input; /** - * When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + * When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. * This parameter is not supported for Windows containers. */ readonlyRootFilesystem?: pulumi.Input; @@ -24168,7 +24254,7 @@ export namespace ecs { */ resourceRequirements?: pulumi.Input[]>; /** - * The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + * The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. */ restartPolicy?: pulumi.Input; /** @@ -24198,7 +24284,7 @@ export namespace ecs { */ stopTimeout?: pulumi.Input; /** - * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. */ systemControls?: pulumi.Input[]>; /** @@ -24207,7 +24293,7 @@ export namespace ecs { */ ulimits?: pulumi.Input[]>; /** - * The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + * The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. * When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. * You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. * + ``user`` @@ -24221,11 +24307,11 @@ export namespace ecs { */ user?: pulumi.Input; /** - * Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + * Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. */ volumesFrom?: pulumi.Input[]>; /** - * The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + * The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. */ workingDirectory?: pulumi.Input; } @@ -24278,7 +24364,7 @@ export namespace ecs { */ autoprovision?: pulumi.Input; /** - * The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + * The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. */ driver?: pulumi.Input; /** @@ -24286,7 +24372,7 @@ export namespace ecs { */ driverOpts?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + * Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. */ labels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** @@ -24359,13 +24445,17 @@ export namespace ecs { sizeInGiB?: pulumi.Input; } + /** + * The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + * For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + */ export interface TaskDefinitionFSxAuthorizationConfigArgs { /** - * The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + * The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. */ credentialsParameter: pulumi.Input; /** - * A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + * A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. */ domain: pulumi.Input; } @@ -24423,7 +24513,7 @@ export namespace ecs { * ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` * You don't include the double quotes and brackets when you use the AWS Management Console. * ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - * An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + * An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command */ command?: pulumi.Input[]>; /** @@ -24489,13 +24579,13 @@ export namespace ecs { */ export interface TaskDefinitionKernelCapabilitiesArgs { /** - * The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + * The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. * Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. * Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` */ add?: pulumi.Input[]>; /** - * The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + * The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. * Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` */ drop?: pulumi.Input[]>; @@ -24525,7 +24615,7 @@ export namespace ecs { */ capabilities?: pulumi.Input; /** - * Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + * Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. * If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. */ devices?: pulumi.Input[]>; @@ -24732,6 +24822,9 @@ export namespace ecs { value: pulumi.Input; } + /** + * You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. + */ export interface TaskDefinitionRestartPolicyArgs { /** * Specifies whether a restart policy is enabled for the container. @@ -24742,7 +24835,7 @@ export namespace ecs { */ ignoredExitCodes?: pulumi.Input[]>; /** - * A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + * A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. */ restartAttemptPeriod?: pulumi.Input; } @@ -24784,7 +24877,7 @@ export namespace ecs { } /** - * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. * We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: * + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. * + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. @@ -25767,6 +25860,11 @@ export namespace elasticloadbalancingv2 { type: pulumi.Input; } + export interface ListenerAttributeArgs { + key?: pulumi.Input; + value?: pulumi.Input; + } + /** * Specifies information required when integrating with Amazon Cognito to authenticate users. */ @@ -29160,7 +29258,7 @@ export namespace gamelift { */ location: pulumi.Input; /** - * Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + * Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. * * *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) */ @@ -29428,12 +29526,18 @@ export namespace globalaccelerator { * ARN of resource to share. */ export interface CrossAccountAttachmentResourceArgs { + /** + * An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + * + * For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + */ + cidr?: pulumi.Input; /** * The endpoint ID for the endpoint that is specified as a AWS resource. * * An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. */ - endpointId: pulumi.Input; + endpointId?: pulumi.Input; /** * The AWS Region where a shared endpoint resource is located. */ @@ -43859,6 +43963,16 @@ export namespace mediaconnect { vpcInterfaceAttachment?: pulumi.Input; } + /** + * The settings for source monitoring. + */ + export interface FlowSourceMonitoringConfigArgs { + /** + * The state of thumbnail monitoring. + */ + thumbnailState: pulumi.Input; + } + /** * The settings for attaching a VPC interface to an resource. */ @@ -43925,6 +44039,44 @@ export namespace mediaconnect { } export namespace medialive { + /** + * Network mappings for the cluster + */ + export interface ClusterInterfaceMappingArgs { + /** + * logical interface name, unique in the list + */ + logicalInterfaceName?: pulumi.Input; + /** + * Network Id to be associated with the logical interface name, can be duplicated in list + */ + networkId?: pulumi.Input; + } + + /** + * On premises settings which will have the interface network mappings and default Output logical interface + */ + export interface ClusterNetworkSettingsArgs { + /** + * Default value if the customer does not define it in channel Output API + */ + defaultRoute?: pulumi.Input; + /** + * Network mappings for the cluster + */ + interfaceMappings?: pulumi.Input[]>; + } + + /** + * The target to which to send matching events. + */ + export interface EventBridgeRuleTemplateTargetArgs { + /** + * Target ARNs must be either an SNS topic or CloudWatch log group. + */ + arn: pulumi.Input; + } + /** * Multiplex MediaConnect output destination settings. */ @@ -44041,6 +44193,28 @@ export namespace medialive { */ export interface MultiplexprogramMultiplexVideoSettingsArgs { } + + /** + * IP address cidr pool + */ + export interface NetworkIpPoolArgs { + /** + * IP address cidr pool + */ + cidr?: pulumi.Input; + } + + export interface NetworkRouteArgs { + /** + * Ip address cidr + */ + cidr?: pulumi.Input; + /** + * IP address for the route packet paths + */ + gateway?: pulumi.Input; + } + } export namespace mediapackage { @@ -48250,6 +48424,12 @@ export namespace pcaconnectorad { } } +export namespace pcaconnectorscep { + export interface ConnectorMobileDeviceManagementArgs { + } + +} + export namespace personalize { /** * Initial DatasetImportJob for the created dataset @@ -52033,6 +52213,7 @@ export namespace quicksight { * For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . */ parameterDeclarations?: pulumi.Input[]>; + queryExecutionOptions?: pulumi.Input; /** * An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. */ @@ -55681,6 +55862,10 @@ export namespace quicksight { visibility?: pulumi.Input; } + export interface AnalysisQueryExecutionOptionsArgs { + queryExecutionMode?: pulumi.Input; + } + export interface AnalysisRadarChartAggregatedFieldWellsArgs { /** * The aggregated field well categories of a radar chart. @@ -73700,6 +73885,10 @@ export namespace quicksight { visibility?: pulumi.Input; } + export interface TemplateQueryExecutionOptionsArgs { + queryExecutionMode?: pulumi.Input; + } + export interface TemplateRadarChartAggregatedFieldWellsArgs { /** * The aggregated field well categories of a radar chart. @@ -75764,6 +75953,7 @@ export namespace quicksight { * For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . */ parameterDeclarations?: pulumi.Input[]>; + queryExecutionOptions?: pulumi.Input; /** * An array of sheet definitions for a template. */ @@ -80404,6 +80594,81 @@ export namespace sagemaker { sageMakerImageVersionArn?: pulumi.Input; } + /** + * Details of an instance group in a SageMaker HyperPod cluster. + */ + export interface ClusterInstanceGroupArgs { + /** + * The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + */ + currentCount?: pulumi.Input; + executionRole: pulumi.Input; + /** + * The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + */ + instanceCount: pulumi.Input; + instanceGroupName: pulumi.Input; + instanceStorageConfigs?: pulumi.Input[]>; + instanceType: pulumi.Input; + lifeCycleConfig: pulumi.Input; + onStartDeepHealthChecks?: pulumi.Input[]>; + /** + * The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + */ + threadsPerCore?: pulumi.Input; + } + + /** + * Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + */ + export interface ClusterInstanceStorageConfigArgs { + } + + /** + * The lifecycle configuration for a SageMaker HyperPod cluster. + */ + export interface ClusterLifeCycleConfigArgs { + /** + * The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + */ + onCreate: pulumi.Input; + /** + * An Amazon S3 bucket path where your lifecycle scripts are stored. + */ + sourceS3Uri: pulumi.Input; + } + + /** + * Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + */ + export interface ClusterOrchestratorArgs { + eks: pulumi.Input; + } + + /** + * Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + */ + export interface ClusterOrchestratorEksConfigArgs { + /** + * The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + */ + clusterArn: pulumi.Input; + } + + /** + * Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + */ + export interface ClusterVpcConfigArgs { + /** + * The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + */ + securityGroupIds: pulumi.Input[]>; + /** + * The ID of the subnets in the VPC to which you want to connect your training job or model. + */ + subnets: pulumi.Input[]>; + } + /** * The batch transform input for a monitoring job. */ @@ -80716,10 +80981,15 @@ export namespace sagemaker { s3OutputLocation: pulumi.Input; } + export interface DomainAppLifecycleManagementArgs { + idleSettings?: pulumi.Input; + } + /** * The CodeEditor app settings. */ export interface DomainCodeEditorAppSettingsArgs { + appLifecycleManagement?: pulumi.Input; /** * A list of custom images for use for CodeEditor apps. */ @@ -80864,10 +81134,18 @@ export namespace sagemaker { fileSystemPath?: pulumi.Input; } + export interface DomainIdleSettingsArgs { + idleTimeoutInMinutes?: pulumi.Input; + lifecycleManagement?: pulumi.Input; + maxIdleTimeoutInMinutes?: pulumi.Input; + minIdleTimeoutInMinutes?: pulumi.Input; + } + /** * The JupyterLab app settings. */ export interface DomainJupyterLabAppSettingsArgs { + appLifecycleManagement?: pulumi.Input; /** * A list of CodeRepositories available for use with JupyterLab apps. */ @@ -83894,10 +84172,15 @@ export namespace sagemaker { provisioningParameters?: pulumi.Input[]>; } + export interface SpaceAppLifecycleManagementArgs { + idleSettings?: pulumi.Input; + } + /** * The CodeEditor app settings. */ export interface SpaceCodeEditorAppSettingsArgs { + appLifecycleManagement?: pulumi.Input; /** * Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. */ @@ -83947,10 +84230,18 @@ export namespace sagemaker { fileSystemId: pulumi.Input; } + export interface SpaceIdleSettingsArgs { + /** + * The space idle timeout value set in minutes + */ + idleTimeoutInMinutes?: pulumi.Input; + } + /** * The JupyterServer app settings. */ export interface SpaceJupyterLabAppSettingsArgs { + appLifecycleManagement?: pulumi.Input; /** * A list of CodeRepositories available for use with JupyterLab apps. */ @@ -84067,10 +84358,15 @@ export namespace sagemaker { ebsStorageSettings?: pulumi.Input; } + export interface UserProfileAppLifecycleManagementArgs { + idleSettings?: pulumi.Input; + } + /** * The CodeEditor app settings. */ export interface UserProfileCodeEditorAppSettingsArgs { + appLifecycleManagement?: pulumi.Input; /** * A list of custom images for use for CodeEditor apps. */ @@ -84163,10 +84459,18 @@ export namespace sagemaker { fileSystemPath?: pulumi.Input; } + export interface UserProfileIdleSettingsArgs { + idleTimeoutInMinutes?: pulumi.Input; + lifecycleManagement?: pulumi.Input; + maxIdleTimeoutInMinutes?: pulumi.Input; + minIdleTimeoutInMinutes?: pulumi.Input; + } + /** * The JupyterLab app settings. */ export interface UserProfileJupyterLabAppSettingsArgs { + appLifecycleManagement?: pulumi.Input; /** * A list of CodeRepositories available for use with JupyterLab apps. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index dc27d0d9d7..4fe0575a48 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -704,6 +704,17 @@ export namespace amplify { username?: string; } + export interface AppCacheConfig { + /** + * The type of cache configuration to use for an Amplify app. + * + * The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + * + * The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + */ + type?: enums.amplify.AppCacheConfigType; + } + export interface AppCustomRule { /** * The condition for a URL rewrite or redirect rule, such as a country code. @@ -4738,6 +4749,70 @@ export namespace applicationsignals { unit?: string; } + /** + * This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + */ + export interface ServiceLevelObjectiveMonitoredRequestCountMetric { + /** + * If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + */ + badCountMetric?: outputs.applicationsignals.ServiceLevelObjectiveMetricDataQuery[]; + /** + * If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + */ + goodCountMetric?: outputs.applicationsignals.ServiceLevelObjectiveMetricDataQuery[]; + } + + /** + * This structure contains information about the performance metric that a request-based SLO monitors. + */ + export interface ServiceLevelObjectiveRequestBasedSli { + /** + * The arithmetic operation used when comparing the specified metric to the threshold. + */ + comparisonOperator?: enums.applicationsignals.ServiceLevelObjectiveRequestBasedSliComparisonOperator; + /** + * The value that the SLI metric is compared to. + */ + metricThreshold?: number; + /** + * A structure that contains information about the metric that the SLO monitors. + */ + requestBasedSliMetric: outputs.applicationsignals.ServiceLevelObjectiveRequestBasedSliMetric; + } + + /** + * This structure contains the information about the metric that is used for a request-based SLO. + */ + export interface ServiceLevelObjectiveRequestBasedSliMetric { + /** + * This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + * + * - `Type` designates the type of object that this SLO is related to. + * - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + * - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + * - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + * - `Environment` specifies the location where this object is hosted, or what it belongs to. + */ + keyAttributes?: {[key: string]: string}; + /** + * If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + */ + metricType?: enums.applicationsignals.ServiceLevelObjectiveRequestBasedSliMetricMetricType; + /** + * Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + */ + monitoredRequestCountMetric?: outputs.applicationsignals.ServiceLevelObjectiveMonitoredRequestCountMetric; + /** + * If the SLO monitors a specific operation of the service, this field displays that operation name. + */ + operationName?: string; + /** + * This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + */ + totalRequestCountMetric?: outputs.applicationsignals.ServiceLevelObjectiveMetricDataQuery[]; + } + /** * If the interval is a calendar interval, this structure contains the interval specifications. */ @@ -5543,7 +5618,7 @@ export namespace athena { */ export interface WorkGroupAclConfiguration { /** - * The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + * The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . */ s3AclOption: enums.athena.WorkGroupS3AclOption; } @@ -14749,7 +14824,7 @@ export namespace cognito { export interface UserPoolAdminCreateUserConfig { /** - * Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + * The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. */ allowAdminCreateUserOnly?: boolean; /** @@ -14759,9 +14834,11 @@ export namespace cognito { */ inviteMessageTemplate?: outputs.cognito.UserPoolInviteMessageTemplate; /** - * The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + * This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . * - * > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + * The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + * + * The default value for this parameter is 7. */ unusedAccountValidityDays?: number; } @@ -14776,15 +14853,15 @@ export namespace cognito { */ applicationArn?: string; /** - * The application ID for an Amazon Pinpoint application. + * Your Amazon Pinpoint project ID. */ applicationId?: string; /** - * The external ID. + * The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. */ externalId?: string; /** - * The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + * The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. */ roleArn?: string; /** @@ -14795,15 +14872,15 @@ export namespace cognito { export interface UserPoolClientTokenValidityUnits { /** - * A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + * A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. */ accessToken?: string; /** - * A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + * A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. */ idToken?: string; /** - * A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + * A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. */ refreshToken?: string; } @@ -14911,7 +14988,7 @@ export namespace cognito { export interface UserPoolLambdaConfig { /** - * Creates an authentication challenge. + * The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . */ createAuthChallenge?: string; /** @@ -14919,7 +14996,7 @@ export namespace cognito { */ customEmailSender?: outputs.cognito.UserPoolCustomEmailSender; /** - * A custom Message AWS Lambda trigger. + * A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. */ customMessage?: string; /** @@ -14927,7 +15004,7 @@ export namespace cognito { */ customSmsSender?: outputs.cognito.UserPoolCustomSmsSender; /** - * Defines the authentication challenge. + * The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . */ defineAuthChallenge?: string; /** @@ -14935,39 +15012,37 @@ export namespace cognito { */ kmsKeyId?: string; /** - * A post-authentication AWS Lambda trigger. + * The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. */ postAuthentication?: string; /** - * A post-confirmation AWS Lambda trigger. + * The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. */ postConfirmation?: string; /** - * A pre-authentication AWS Lambda trigger. + * The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. */ preAuthentication?: string; /** - * A pre-registration AWS Lambda trigger. + * The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. */ preSignUp?: string; /** - * The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + * The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. * * Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - * - * You can set `` */ preTokenGeneration?: string; /** - * The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + * The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . */ preTokenGenerationConfig?: outputs.cognito.UserPoolPreTokenGenerationConfig; /** - * The user migration Lambda config type. + * The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. */ userMigration?: string; /** - * Verifies the authentication challenge response. + * The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . */ verifyAuthChallengeResponse?: string; } @@ -14995,19 +15070,19 @@ export namespace cognito { */ passwordHistorySize?: number; /** - * In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + * The requirement in a password policy that users must include at least one lowercase letter in their password. */ requireLowercase?: boolean; /** - * In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + * The requirement in a password policy that users must include at least one number in their password. */ requireNumbers?: boolean; /** - * In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + * The requirement in a password policy that users must include at least one symbol in their password. */ requireSymbols?: boolean; /** - * In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + * The requirement in a password policy that users must include at least one uppercase letter in their password. */ requireUppercase?: boolean; /** @@ -15020,7 +15095,7 @@ export namespace cognito { export interface UserPoolPolicies { /** - * The password policy. + * The password policy settings for a user pool, including complexity, history, and length requirements. */ passwordPolicy?: outputs.cognito.UserPoolPasswordPolicy; } @@ -15051,94 +15126,94 @@ export namespace cognito { export interface UserPoolResourceServerResourceServerScopeType { /** - * A description of the scope. + * A friendly description of a custom scope. */ scopeDescription: string; /** - * The name of the scope. + * The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . */ scopeName: string; } export interface UserPoolRiskConfigurationAttachmentAccountTakeoverActionType { /** - * The action to take in response to the account takeover action. Valid values are as follows: + * The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: * - * - `BLOCK` Choosing this action will block the request. - * - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - * - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - * - `NO_ACTION` Allow the user to sign in. + * - `BLOCK` : Block the request. + * - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + * - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + * - `NO_ACTION` : Take no action. Permit sign-in. */ eventAction: string; /** - * Flag specifying whether to send a notification. + * Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. */ notify: boolean; } export interface UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType { /** - * Action to take for a high risk. + * The action that you assign to a high-risk assessment by advanced security features. */ highAction?: outputs.cognito.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType; /** - * Action to take for a low risk. + * The action that you assign to a low-risk assessment by advanced security features. */ lowAction?: outputs.cognito.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType; /** - * Action to take for a medium risk. + * The action that you assign to a medium-risk assessment by advanced security features. */ mediumAction?: outputs.cognito.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType; } export interface UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType { /** - * Account takeover risk configuration actions. + * A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. */ actions: outputs.cognito.UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType; /** - * The notify configuration used to construct email notifications. + * The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. */ notifyConfiguration?: outputs.cognito.UserPoolRiskConfigurationAttachmentNotifyConfigurationType; } export interface UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType { /** - * The event action. + * The action that Amazon Cognito takes when it detects compromised credentials. */ eventAction: string; } export interface UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType { /** - * The compromised credentials risk configuration actions. + * Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. */ actions: outputs.cognito.UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType; /** - * Perform the action for these events. The default is to perform all events if no event filter is specified. + * Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. */ eventFilter?: string[]; } export interface UserPoolRiskConfigurationAttachmentNotifyConfigurationType { /** - * Email template used when a detected risk event is blocked. + * The template for the email message that your user pool sends when a detected risk event is blocked. */ blockEmail?: outputs.cognito.UserPoolRiskConfigurationAttachmentNotifyEmailType; /** - * The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + * The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. */ from?: string; /** - * The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + * The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. */ mfaEmail?: outputs.cognito.UserPoolRiskConfigurationAttachmentNotifyEmailType; /** - * The email template used when a detected risk event is allowed. + * The template for the email message that your user pool sends when no action is taken in response to a detected risk. */ noActionEmail?: outputs.cognito.UserPoolRiskConfigurationAttachmentNotifyEmailType; /** - * The destination to which the receiver of an email should reply to. + * The reply-to email address of an email template. */ replyTo?: string; /** @@ -15149,26 +15224,26 @@ export namespace cognito { export interface UserPoolRiskConfigurationAttachmentNotifyEmailType { /** - * The email HTML body. + * The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. */ htmlBody?: string; /** - * The email subject. + * The subject of the threat protection email notification. */ subject: string; /** - * The email text body. + * The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. */ textBody?: string; } export interface UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType { /** - * Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + * An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. */ blockedIpRangeList?: string[]; /** - * Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + * An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. */ skippedIpRangeList?: string[]; } @@ -15231,7 +15306,7 @@ export namespace cognito { */ maxLength?: string; /** - * The minimum length. + * The minimum length of a string attribute value. */ minLength?: string; } @@ -15264,15 +15339,17 @@ export namespace cognito { * * Valid values include: * - * - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - * - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + * - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + * - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. */ caseSensitive?: boolean; } export interface UserPoolVerificationMessageTemplate { /** - * The default email option. + * The configuration of verification emails to contain a clickable link or a verification code. + * + * For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . */ defaultEmailOption?: string; /** @@ -24757,7 +24834,7 @@ export namespace ecs { } /** - * An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + * An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. */ export interface ServiceAwsVpcConfiguration { /** @@ -24765,12 +24842,12 @@ export namespace ecs { */ assignPublicIp?: enums.ecs.ServiceAwsVpcConfigurationAssignPublicIp; /** - * The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + * The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. * All specified security groups must be from the same VPC. */ securityGroups?: string[]; /** - * The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + * The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. * All specified subnets must be from the same VPC. */ subnets?: string[]; @@ -24828,12 +24905,12 @@ export namespace ecs { */ enabled: boolean; /** - * The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + * The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. * Understand the following when specifying a log configuration for your containers. * + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. * For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. * + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. * + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. * + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -24888,7 +24965,7 @@ export namespace ecs { } /** - * An object that represents the AWS Private Certificate Authority certificate. + * The certificate root authority that secures your service. */ export interface ServiceConnectTlsCertificateAuthority { /** @@ -24898,7 +24975,7 @@ export namespace ecs { } /** - * An object that represents the configuration for Service Connect TLS. + * The key that encrypts and decrypts your resources for Service Connect TLS. */ export interface ServiceConnectTlsConfiguration { /** @@ -24953,7 +25030,7 @@ export namespace ecs { } /** - * The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + * Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. */ export interface ServiceDeploymentConfiguration { /** @@ -24967,7 +25044,9 @@ export namespace ecs { deploymentCircuitBreaker?: outputs.ecs.ServiceDeploymentCircuitBreaker; /** * If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + * You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + * If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. */ maximumPercent?: number; /** @@ -24981,7 +25060,11 @@ export namespace ecs { * + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. * + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. * - * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + * The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + * The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + * You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + * If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. */ minimumHealthyPercent?: number; } @@ -25049,12 +25132,12 @@ export namespace ecs { } /** - * The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + * The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + * By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. * Understand the following when specifying a log configuration for your containers. * + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. * For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. * + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. * + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. * + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -25063,9 +25146,9 @@ export namespace ecs { /** * The log driver to use for the container. * For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - * For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - * For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + * For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + * For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + * For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). * If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. */ logDriver?: string; @@ -25150,7 +25233,7 @@ export namespace ecs { } /** - * The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + * The network configuration for a task or service. */ export interface ServiceNetworkConfiguration { /** @@ -25161,7 +25244,8 @@ export namespace ecs { } /** - * The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + * An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + * If you're using the Fargate launch type, task placement constraints aren't supported. */ export interface ServicePlacementConstraint { /** @@ -25175,11 +25259,11 @@ export namespace ecs { } /** - * The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + * The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. */ export interface ServicePlacementStrategy { /** - * The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + * The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. */ field?: string; /** @@ -25189,7 +25273,9 @@ export namespace ecs { } /** - * The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + * The details for the service registry. + * Each service may be associated with one service registry. Multiple service registries for each service are not supported. + * When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. */ export interface ServiceRegistry { /** @@ -25302,11 +25388,11 @@ export namespace ecs { */ export interface TaskDefinitionContainerDefinition { /** - * The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + * The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. */ command?: string[]; /** - * The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + * The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. * This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. * You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. * Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -25337,40 +25423,40 @@ export namespace ecs { */ dependsOn?: outputs.ecs.TaskDefinitionContainerDependency[]; /** - * When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + * When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. * This parameter is not supported for Windows containers. */ disableNetworking?: boolean; /** - * A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + * A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. * This parameter is not supported for Windows containers. */ dnsSearchDomains?: string[]; /** - * A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + * A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. * This parameter is not supported for Windows containers. */ dnsServers?: string[]; /** - * A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + * A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` */ dockerLabels?: {[key: string]: string}; /** * A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. * For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. * For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - * This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + * This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. * The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. * Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" */ dockerSecurityOptions?: string[]; /** * Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - * The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + * The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. */ entryPoint?: string[]; /** - * The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + * The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. * We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. */ environment?: outputs.ecs.TaskDefinitionKeyValuePair[]; @@ -25386,7 +25472,7 @@ export namespace ecs { */ essential?: boolean; /** - * A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + * A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. * This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. */ extraHosts?: outputs.ecs.TaskDefinitionHostEntry[]; @@ -25395,16 +25481,16 @@ export namespace ecs { */ firelensConfiguration?: outputs.ecs.TaskDefinitionFirelensConfiguration; /** - * The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + * The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. */ healthCheck?: outputs.ecs.TaskDefinitionHealthCheck; /** - * The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + * The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. * The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. */ hostname?: string; /** - * The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + * The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. * + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. * + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. * + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). @@ -25413,11 +25499,11 @@ export namespace ecs { */ image: string; /** - * When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + * When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. */ interactive?: boolean; /** - * The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + * The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. * This parameter is not supported for Windows containers. * Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. */ @@ -25444,7 +25530,7 @@ export namespace ecs { */ memory?: number; /** - * The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + * The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. * If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. * For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. * The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. @@ -25453,12 +25539,12 @@ export namespace ecs { memoryReservation?: number; /** * The mount points for data volumes in your container. - * This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + * This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. * Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. */ mountPoints?: outputs.ecs.TaskDefinitionMountPoint[]; /** - * The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + * The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. */ name: string; /** @@ -25470,16 +25556,16 @@ export namespace ecs { */ portMappings?: outputs.ecs.TaskDefinitionPortMapping[]; /** - * When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + * When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run * This parameter is not supported for Windows containers or tasks run on FARGATElong. */ privileged?: boolean; /** - * When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + * When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. */ pseudoTerminal?: boolean; /** - * When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + * When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. * This parameter is not supported for Windows containers. */ readonlyRootFilesystem?: boolean; @@ -25492,7 +25578,7 @@ export namespace ecs { */ resourceRequirements?: outputs.ecs.TaskDefinitionResourceRequirement[]; /** - * The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + * The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. */ restartPolicy?: outputs.ecs.TaskDefinitionRestartPolicy; /** @@ -25522,7 +25608,7 @@ export namespace ecs { */ stopTimeout?: number; /** - * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. */ systemControls?: outputs.ecs.TaskDefinitionSystemControl[]; /** @@ -25531,7 +25617,7 @@ export namespace ecs { */ ulimits?: outputs.ecs.TaskDefinitionUlimit[]; /** - * The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + * The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. * When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. * You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. * + ``user`` @@ -25545,11 +25631,11 @@ export namespace ecs { */ user?: string; /** - * Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + * Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. */ volumesFrom?: outputs.ecs.TaskDefinitionVolumeFrom[]; /** - * The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + * The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. */ workingDirectory?: string; } @@ -25602,7 +25688,7 @@ export namespace ecs { */ autoprovision?: boolean; /** - * The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + * The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. */ driver?: string; /** @@ -25610,7 +25696,7 @@ export namespace ecs { */ driverOpts?: {[key: string]: string}; /** - * Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + * Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. */ labels?: {[key: string]: string}; /** @@ -25683,13 +25769,17 @@ export namespace ecs { sizeInGiB?: number; } + /** + * The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + * For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + */ export interface TaskDefinitionFSxAuthorizationConfig { /** - * The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + * The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. */ credentialsParameter: string; /** - * A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + * A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. */ domain: string; } @@ -25747,7 +25837,7 @@ export namespace ecs { * ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` * You don't include the double quotes and brackets when you use the AWS Management Console. * ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - * An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + * An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command */ command?: string[]; /** @@ -25813,13 +25903,13 @@ export namespace ecs { */ export interface TaskDefinitionKernelCapabilities { /** - * The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + * The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. * Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. * Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` */ add?: string[]; /** - * The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + * The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. * Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` */ drop?: string[]; @@ -25849,7 +25939,7 @@ export namespace ecs { */ capabilities?: outputs.ecs.TaskDefinitionKernelCapabilities; /** - * Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + * Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. * If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. */ devices?: outputs.ecs.TaskDefinitionDevice[]; @@ -26056,6 +26146,9 @@ export namespace ecs { value: string; } + /** + * You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. + */ export interface TaskDefinitionRestartPolicy { /** * Specifies whether a restart policy is enabled for the container. @@ -26066,7 +26159,7 @@ export namespace ecs { */ ignoredExitCodes?: number[]; /** - * A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + * A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. */ restartAttemptPeriod?: number; } @@ -26108,7 +26201,7 @@ export namespace ecs { } /** - * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + * A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. * We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: * + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. * + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. @@ -27093,6 +27186,11 @@ export namespace elasticloadbalancingv2 { type: string; } + export interface ListenerAttribute { + key?: string; + value?: string; + } + /** * Specifies information required when integrating with Amazon Cognito to authenticate users. */ @@ -30508,7 +30606,7 @@ export namespace gamelift { */ location: string; /** - * Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + * Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. * * *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) */ @@ -30776,12 +30874,18 @@ export namespace globalaccelerator { * ARN of resource to share. */ export interface CrossAccountAttachmentResource { + /** + * An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + * + * For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + */ + cidr?: string; /** * The endpoint ID for the endpoint that is specified as a AWS resource. * * An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. */ - endpointId: string; + endpointId?: string; /** * The AWS Region where a shared endpoint resource is located. */ @@ -45315,6 +45419,16 @@ export namespace mediaconnect { vpcInterfaceAttachment?: outputs.mediaconnect.FlowSourceVpcInterfaceAttachment; } + /** + * The settings for source monitoring. + */ + export interface FlowSourceMonitoringConfig { + /** + * The state of thumbnail monitoring. + */ + thumbnailState: enums.mediaconnect.FlowSourceMonitoringConfigThumbnailState; + } + /** * The settings for attaching a VPC interface to an resource. */ @@ -45382,6 +45496,44 @@ export namespace mediaconnect { } export namespace medialive { + /** + * Network mappings for the cluster + */ + export interface ClusterInterfaceMapping { + /** + * logical interface name, unique in the list + */ + logicalInterfaceName?: string; + /** + * Network Id to be associated with the logical interface name, can be duplicated in list + */ + networkId?: string; + } + + /** + * On premises settings which will have the interface network mappings and default Output logical interface + */ + export interface ClusterNetworkSettings { + /** + * Default value if the customer does not define it in channel Output API + */ + defaultRoute?: string; + /** + * Network mappings for the cluster + */ + interfaceMappings?: outputs.medialive.ClusterInterfaceMapping[]; + } + + /** + * The target to which to send matching events. + */ + export interface EventBridgeRuleTemplateTarget { + /** + * Target ARNs must be either an SNS topic or CloudWatch log group. + */ + arn: string; + } + /** * Multiplex MediaConnect output destination settings. */ @@ -45499,6 +45651,79 @@ export namespace medialive { export interface MultiplexprogramMultiplexVideoSettings { } + /** + * IP address cidr pool + */ + export interface NetworkIpPool { + /** + * IP address cidr pool + */ + cidr?: string; + } + + export interface NetworkRoute { + /** + * Ip address cidr + */ + cidr?: string; + /** + * IP address for the route packet paths + */ + gateway?: string; + } + + /** + * An AWS resource used in media workflows. + */ + export interface SignalMapMediaResource { + destinations?: outputs.medialive.SignalMapMediaResourceNeighbor[]; + /** + * The logical name of an AWS media resource. + */ + name?: string; + sources?: outputs.medialive.SignalMapMediaResourceNeighbor[]; + } + + /** + * A direct source or destination neighbor to an AWS media resource. + */ + export interface SignalMapMediaResourceNeighbor { + /** + * The ARN of a resource used in AWS media workflows. + */ + arn: string; + /** + * The logical name of an AWS media resource. + */ + name?: string; + } + + /** + * Represents the latest monitor deployment of a signal map. + */ + export interface SignalMapMonitorDeployment { + /** + * URI associated with a signal map's monitor deployment. + */ + detailsUri?: string; + /** + * Error message associated with a failed monitor deployment of a signal map. + */ + errorMessage?: string; + status: enums.medialive.SignalMapMonitorDeploymentStatus; + } + + /** + * Represents the latest successful monitor deployment of a signal map. + */ + export interface SignalMapSuccessfulMonitorDeployment { + /** + * URI associated with a signal map's monitor deployment. + */ + detailsUri: string; + status: enums.medialive.SignalMapMonitorDeploymentStatus; + } + } export namespace mediapackage { @@ -49899,6 +50124,18 @@ export namespace pcaconnectorad { } +export namespace pcaconnectorscep { + export interface ConnectorMobileDeviceManagement { + } + + export interface ConnectorOpenIdConfiguration { + audience?: string; + issuer?: string; + subject?: string; + } + +} + export namespace personalize { /** * Initial DatasetImportJob for the created dataset @@ -53703,6 +53940,7 @@ export namespace quicksight { * For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . */ parameterDeclarations?: outputs.quicksight.AnalysisParameterDeclaration[]; + queryExecutionOptions?: outputs.quicksight.AnalysisQueryExecutionOptions; /** * An array of sheet definitions for an analysis. Each `SheetDefinition` provides detailed information about a sheet within this analysis. */ @@ -57351,6 +57589,10 @@ export namespace quicksight { visibility?: enums.quicksight.AnalysisVisibility; } + export interface AnalysisQueryExecutionOptions { + queryExecutionMode?: enums.quicksight.AnalysisQueryExecutionMode; + } + export interface AnalysisRadarChartAggregatedFieldWells { /** * The aggregated field well categories of a radar chart. @@ -75508,6 +75750,10 @@ export namespace quicksight { visibility?: enums.quicksight.TemplateVisibility; } + export interface TemplateQueryExecutionOptions { + queryExecutionMode?: enums.quicksight.TemplateQueryExecutionMode; + } + export interface TemplateRadarChartAggregatedFieldWells { /** * The aggregated field well categories of a radar chart. @@ -77644,6 +77890,7 @@ export namespace quicksight { * For more information, see [Parameters in Amazon QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/parameters-in-quicksight.html) in the *Amazon QuickSight User Guide* . */ parameterDeclarations?: outputs.quicksight.TemplateParameterDeclaration[]; + queryExecutionOptions?: outputs.quicksight.TemplateQueryExecutionOptions; /** * An array of sheet definitions for a template. */ @@ -82679,6 +82926,81 @@ export namespace sagemaker { sageMakerImageVersionArn?: string; } + /** + * Details of an instance group in a SageMaker HyperPod cluster. + */ + export interface ClusterInstanceGroup { + /** + * The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + */ + currentCount?: number; + executionRole: string; + /** + * The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + */ + instanceCount: number; + instanceGroupName: string; + instanceStorageConfigs?: outputs.sagemaker.ClusterInstanceStorageConfig[]; + instanceType: string; + lifeCycleConfig: outputs.sagemaker.ClusterLifeCycleConfig; + onStartDeepHealthChecks?: enums.sagemaker.ClusterDeepHealthCheckType[]; + /** + * The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + */ + threadsPerCore?: number; + } + + /** + * Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + */ + export interface ClusterInstanceStorageConfig { + } + + /** + * The lifecycle configuration for a SageMaker HyperPod cluster. + */ + export interface ClusterLifeCycleConfig { + /** + * The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + */ + onCreate: string; + /** + * An Amazon S3 bucket path where your lifecycle scripts are stored. + */ + sourceS3Uri: string; + } + + /** + * Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + */ + export interface ClusterOrchestrator { + eks: outputs.sagemaker.ClusterOrchestratorEksConfig; + } + + /** + * Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + */ + export interface ClusterOrchestratorEksConfig { + /** + * The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + */ + clusterArn: string; + } + + /** + * Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + */ + export interface ClusterVpcConfig { + /** + * The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + */ + securityGroupIds: string[]; + /** + * The ID of the subnets in the VPC to which you want to connect your training job or model. + */ + subnets: string[]; + } + /** * The batch transform input for a monitoring job. */ @@ -82991,10 +83313,15 @@ export namespace sagemaker { s3OutputLocation: string; } + export interface DomainAppLifecycleManagement { + idleSettings?: outputs.sagemaker.DomainIdleSettings; + } + /** * The CodeEditor app settings. */ export interface DomainCodeEditorAppSettings { + appLifecycleManagement?: outputs.sagemaker.DomainAppLifecycleManagement; /** * A list of custom images for use for CodeEditor apps. */ @@ -83139,10 +83466,18 @@ export namespace sagemaker { fileSystemPath?: string; } + export interface DomainIdleSettings { + idleTimeoutInMinutes?: number; + lifecycleManagement?: enums.sagemaker.DomainLifecycleManagement; + maxIdleTimeoutInMinutes?: number; + minIdleTimeoutInMinutes?: number; + } + /** * The JupyterLab app settings. */ export interface DomainJupyterLabAppSettings { + appLifecycleManagement?: outputs.sagemaker.DomainAppLifecycleManagement; /** * A list of CodeRepositories available for use with JupyterLab apps. */ @@ -86187,10 +86522,15 @@ export namespace sagemaker { provisioningParameters?: outputs.sagemaker.ProjectProvisioningParameter[]; } + export interface SpaceAppLifecycleManagement { + idleSettings?: outputs.sagemaker.SpaceIdleSettings; + } + /** * The CodeEditor app settings. */ export interface SpaceCodeEditorAppSettings { + appLifecycleManagement?: outputs.sagemaker.SpaceAppLifecycleManagement; /** * Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. */ @@ -86240,10 +86580,18 @@ export namespace sagemaker { fileSystemId: string; } + export interface SpaceIdleSettings { + /** + * The space idle timeout value set in minutes + */ + idleTimeoutInMinutes?: number; + } + /** * The JupyterServer app settings. */ export interface SpaceJupyterLabAppSettings { + appLifecycleManagement?: outputs.sagemaker.SpaceAppLifecycleManagement; /** * A list of CodeRepositories available for use with JupyterLab apps. */ @@ -86360,10 +86708,15 @@ export namespace sagemaker { ebsStorageSettings?: outputs.sagemaker.SpaceEbsStorageSettings; } + export interface UserProfileAppLifecycleManagement { + idleSettings?: outputs.sagemaker.UserProfileIdleSettings; + } + /** * The CodeEditor app settings. */ export interface UserProfileCodeEditorAppSettings { + appLifecycleManagement?: outputs.sagemaker.UserProfileAppLifecycleManagement; /** * A list of custom images for use for CodeEditor apps. */ @@ -86456,10 +86809,18 @@ export namespace sagemaker { fileSystemPath?: string; } + export interface UserProfileIdleSettings { + idleTimeoutInMinutes?: number; + lifecycleManagement?: enums.sagemaker.UserProfileLifecycleManagement; + maxIdleTimeoutInMinutes?: number; + minIdleTimeoutInMinutes?: number; + } + /** * The JupyterLab app settings. */ export interface UserProfileJupyterLabAppSettings { + appLifecycleManagement?: outputs.sagemaker.UserProfileAppLifecycleManagement; /** * A list of CodeRepositories available for use with JupyterLab apps. */ diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index 466d60ecc8..f4c26e0977 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -330,6 +330,8 @@ paymentcryptography = __paymentcryptography import pulumi_aws_native.pcaconnectorad as __pcaconnectorad pcaconnectorad = __pcaconnectorad + import pulumi_aws_native.pcaconnectorscep as __pcaconnectorscep + pcaconnectorscep = __pcaconnectorscep import pulumi_aws_native.personalize as __personalize personalize = __personalize import pulumi_aws_native.pinpoint as __pinpoint @@ -607,6 +609,7 @@ panorama = _utilities.lazy_import('pulumi_aws_native.panorama') paymentcryptography = _utilities.lazy_import('pulumi_aws_native.paymentcryptography') pcaconnectorad = _utilities.lazy_import('pulumi_aws_native.pcaconnectorad') + pcaconnectorscep = _utilities.lazy_import('pulumi_aws_native.pcaconnectorscep') personalize = _utilities.lazy_import('pulumi_aws_native.personalize') pinpoint = _utilities.lazy_import('pulumi_aws_native.pinpoint') pipes = _utilities.lazy_import('pulumi_aws_native.pipes') @@ -2278,8 +2281,17 @@ "mod": "medialive", "fqn": "pulumi_aws_native.medialive", "classes": { + "aws-native:medialive:ChannelPlacementGroup": "ChannelPlacementGroup", + "aws-native:medialive:CloudWatchAlarmTemplate": "CloudWatchAlarmTemplate", + "aws-native:medialive:CloudWatchAlarmTemplateGroup": "CloudWatchAlarmTemplateGroup", + "aws-native:medialive:Cluster": "Cluster", + "aws-native:medialive:EventBridgeRuleTemplate": "EventBridgeRuleTemplate", + "aws-native:medialive:EventBridgeRuleTemplateGroup": "EventBridgeRuleTemplateGroup", "aws-native:medialive:Multiplex": "Multiplex", - "aws-native:medialive:Multiplexprogram": "Multiplexprogram" + "aws-native:medialive:Multiplexprogram": "Multiplexprogram", + "aws-native:medialive:Network": "Network", + "aws-native:medialive:SdiSource": "SdiSource", + "aws-native:medialive:SignalMap": "SignalMap" } }, { @@ -2516,6 +2528,15 @@ "aws-native:pcaconnectorad:TemplateGroupAccessControlEntry": "TemplateGroupAccessControlEntry" } }, + { + "pkg": "aws-native", + "mod": "pcaconnectorscep", + "fqn": "pulumi_aws_native.pcaconnectorscep", + "classes": { + "aws-native:pcaconnectorscep:Challenge": "Challenge", + "aws-native:pcaconnectorscep:Connector": "Connector" + } + }, { "pkg": "aws-native", "mod": "personalize", @@ -2834,6 +2855,7 @@ "classes": { "aws-native:sagemaker:App": "App", "aws-native:sagemaker:AppImageConfig": "AppImageConfig", + "aws-native:sagemaker:Cluster": "Cluster", "aws-native:sagemaker:DataQualityJobDefinition": "DataQualityJobDefinition", "aws-native:sagemaker:Device": "Device", "aws-native:sagemaker:DeviceFleet": "DeviceFleet", @@ -2980,6 +3002,7 @@ "mod": "sns", "fqn": "pulumi_aws_native.sns", "classes": { + "aws-native:sns:Subscription": "Subscription", "aws-native:sns:Topic": "Topic", "aws-native:sns:TopicInlinePolicy": "TopicInlinePolicy", "aws-native:sns:TopicPolicy": "TopicPolicy" diff --git a/sdk/python/pulumi_aws_native/amplify/_enums.py b/sdk/python/pulumi_aws_native/amplify/_enums.py index 711ed896d4..156f02e573 100644 --- a/sdk/python/pulumi_aws_native/amplify/_enums.py +++ b/sdk/python/pulumi_aws_native/amplify/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'AppAutoBranchCreationConfigStage', + 'AppCacheConfigType', 'AppPlatform', 'BranchStage', 'DomainCertificateCertificateType', @@ -24,9 +25,23 @@ class AppAutoBranchCreationConfigStage(str, Enum): DEVELOPMENT = "DEVELOPMENT" +class AppCacheConfigType(str, Enum): + """ + The type of cache configuration to use for an Amplify app. + + The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + + The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + """ + AMPLIFY_MANAGED = "AMPLIFY_MANAGED" + AMPLIFY_MANAGED_NO_COOKIES = "AMPLIFY_MANAGED_NO_COOKIES" + + class AppPlatform(str, Enum): """ The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + + If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . """ WEB = "WEB" WEB_DYNAMIC = "WEB_DYNAMIC" diff --git a/sdk/python/pulumi_aws_native/amplify/_inputs.py b/sdk/python/pulumi_aws_native/amplify/_inputs.py index 19c315acf3..66acc2212b 100644 --- a/sdk/python/pulumi_aws_native/amplify/_inputs.py +++ b/sdk/python/pulumi_aws_native/amplify/_inputs.py @@ -13,6 +13,7 @@ __all__ = [ 'AppAutoBranchCreationConfigArgs', 'AppBasicAuthConfigArgs', + 'AppCacheConfigArgs', 'AppCustomRuleArgs', 'AppEnvironmentVariableArgs', 'BranchBackendArgs', @@ -284,6 +285,37 @@ def username(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "username", value) +@pulumi.input_type +class AppCacheConfigArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['AppCacheConfigType']] = None): + """ + :param pulumi.Input['AppCacheConfigType'] type: The type of cache configuration to use for an Amplify app. + + The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + + The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['AppCacheConfigType']]: + """ + The type of cache configuration to use for an Amplify app. + + The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + + The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['AppCacheConfigType']]): + pulumi.set(self, "type", value) + + @pulumi.input_type class AppCustomRuleArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/amplify/app.py b/sdk/python/pulumi_aws_native/amplify/app.py index a73117dff3..3e0c2eaa8f 100644 --- a/sdk/python/pulumi_aws_native/amplify/app.py +++ b/sdk/python/pulumi_aws_native/amplify/app.py @@ -23,6 +23,7 @@ def __init__(__self__, *, auto_branch_creation_config: Optional[pulumi.Input['AppAutoBranchCreationConfigArgs']] = None, basic_auth_config: Optional[pulumi.Input['AppBasicAuthConfigArgs']] = None, build_spec: Optional[pulumi.Input[str]] = None, + cache_config: Optional[pulumi.Input['AppCacheConfigArgs']] = None, custom_headers: Optional[pulumi.Input[str]] = None, custom_rules: Optional[pulumi.Input[Sequence[pulumi.Input['AppCustomRuleArgs']]]] = None, description: Optional[pulumi.Input[str]] = None, @@ -46,6 +47,7 @@ def __init__(__self__, *, :param pulumi.Input['AppAutoBranchCreationConfigArgs'] auto_branch_creation_config: Sets the configuration for your automatic branch creation. :param pulumi.Input['AppBasicAuthConfigArgs'] basic_auth_config: The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` . :param pulumi.Input[str] build_spec: The build specification (build spec) for an Amplify app. + :param pulumi.Input['AppCacheConfigArgs'] cache_config: The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. :param pulumi.Input[str] custom_headers: The custom HTTP headers for an Amplify app. :param pulumi.Input[Sequence[pulumi.Input['AppCustomRuleArgs']]] custom_rules: The custom rewrite and redirect rules for an Amplify app. :param pulumi.Input[str] description: The description of the Amplify app. @@ -63,6 +65,8 @@ def __init__(__self__, *, Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* . :param pulumi.Input['AppPlatform'] platform: The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + + If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . :param pulumi.Input[str] repository: The Git repository for the Amplify app. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: The tag for an Amplify app. """ @@ -74,6 +78,8 @@ def __init__(__self__, *, pulumi.set(__self__, "basic_auth_config", basic_auth_config) if build_spec is not None: pulumi.set(__self__, "build_spec", build_spec) + if cache_config is not None: + pulumi.set(__self__, "cache_config", cache_config) if custom_headers is not None: pulumi.set(__self__, "custom_headers", custom_headers) if custom_rules is not None: @@ -151,6 +157,18 @@ def build_spec(self) -> Optional[pulumi.Input[str]]: def build_spec(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "build_spec", value) + @property + @pulumi.getter(name="cacheConfig") + def cache_config(self) -> Optional[pulumi.Input['AppCacheConfigArgs']]: + """ + The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + """ + return pulumi.get(self, "cache_config") + + @cache_config.setter + def cache_config(self, value: Optional[pulumi.Input['AppCacheConfigArgs']]): + pulumi.set(self, "cache_config", value) + @property @pulumi.getter(name="customHeaders") def custom_headers(self) -> Optional[pulumi.Input[str]]: @@ -260,6 +278,8 @@ def oauth_token(self, value: Optional[pulumi.Input[str]]): def platform(self) -> Optional[pulumi.Input['AppPlatform']]: """ The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + + If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . """ return pulumi.get(self, "platform") @@ -301,6 +321,7 @@ def __init__(__self__, auto_branch_creation_config: Optional[pulumi.Input[Union['AppAutoBranchCreationConfigArgs', 'AppAutoBranchCreationConfigArgsDict']]] = None, basic_auth_config: Optional[pulumi.Input[Union['AppBasicAuthConfigArgs', 'AppBasicAuthConfigArgsDict']]] = None, build_spec: Optional[pulumi.Input[str]] = None, + cache_config: Optional[pulumi.Input[Union['AppCacheConfigArgs', 'AppCacheConfigArgsDict']]] = None, custom_headers: Optional[pulumi.Input[str]] = None, custom_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppCustomRuleArgs', 'AppCustomRuleArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, @@ -328,6 +349,7 @@ def __init__(__self__, :param pulumi.Input[Union['AppAutoBranchCreationConfigArgs', 'AppAutoBranchCreationConfigArgsDict']] auto_branch_creation_config: Sets the configuration for your automatic branch creation. :param pulumi.Input[Union['AppBasicAuthConfigArgs', 'AppBasicAuthConfigArgsDict']] basic_auth_config: The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format `user:password` . :param pulumi.Input[str] build_spec: The build specification (build spec) for an Amplify app. + :param pulumi.Input[Union['AppCacheConfigArgs', 'AppCacheConfigArgsDict']] cache_config: The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. :param pulumi.Input[str] custom_headers: The custom HTTP headers for an Amplify app. :param pulumi.Input[Sequence[pulumi.Input[Union['AppCustomRuleArgs', 'AppCustomRuleArgsDict']]]] custom_rules: The custom rewrite and redirect rules for an Amplify app. :param pulumi.Input[str] description: The description of the Amplify app. @@ -345,6 +367,8 @@ def __init__(__self__, Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see [Migrating an existing OAuth app to the Amplify GitHub App](https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth) in the *Amplify User Guide* . :param pulumi.Input['AppPlatform'] platform: The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + + If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . :param pulumi.Input[str] repository: The Git repository for the Amplify app. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: The tag for an Amplify app. """ @@ -376,6 +400,7 @@ def _internal_init(__self__, auto_branch_creation_config: Optional[pulumi.Input[Union['AppAutoBranchCreationConfigArgs', 'AppAutoBranchCreationConfigArgsDict']]] = None, basic_auth_config: Optional[pulumi.Input[Union['AppBasicAuthConfigArgs', 'AppBasicAuthConfigArgsDict']]] = None, build_spec: Optional[pulumi.Input[str]] = None, + cache_config: Optional[pulumi.Input[Union['AppCacheConfigArgs', 'AppCacheConfigArgsDict']]] = None, custom_headers: Optional[pulumi.Input[str]] = None, custom_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppCustomRuleArgs', 'AppCustomRuleArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, @@ -400,6 +425,7 @@ def _internal_init(__self__, __props__.__dict__["auto_branch_creation_config"] = auto_branch_creation_config __props__.__dict__["basic_auth_config"] = basic_auth_config __props__.__dict__["build_spec"] = build_spec + __props__.__dict__["cache_config"] = cache_config __props__.__dict__["custom_headers"] = custom_headers __props__.__dict__["custom_rules"] = custom_rules __props__.__dict__["description"] = description @@ -444,6 +470,7 @@ def get(resource_name: str, __props__.__dict__["auto_branch_creation_config"] = None __props__.__dict__["basic_auth_config"] = None __props__.__dict__["build_spec"] = None + __props__.__dict__["cache_config"] = None __props__.__dict__["custom_headers"] = None __props__.__dict__["custom_rules"] = None __props__.__dict__["default_domain"] = None @@ -520,6 +547,14 @@ def build_spec(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "build_spec") + @property + @pulumi.getter(name="cacheConfig") + def cache_config(self) -> pulumi.Output[Optional['outputs.AppCacheConfig']]: + """ + The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + """ + return pulumi.get(self, "cache_config") + @property @pulumi.getter(name="customHeaders") def custom_headers(self) -> pulumi.Output[Optional[str]]: @@ -605,6 +640,8 @@ def oauth_token(self) -> pulumi.Output[Optional[str]]: def platform(self) -> pulumi.Output[Optional['AppPlatform']]: """ The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + + If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . """ return pulumi.get(self, "platform") diff --git a/sdk/python/pulumi_aws_native/amplify/get_app.py b/sdk/python/pulumi_aws_native/amplify/get_app.py index fd609dc57b..3e05d1394c 100644 --- a/sdk/python/pulumi_aws_native/amplify/get_app.py +++ b/sdk/python/pulumi_aws_native/amplify/get_app.py @@ -21,7 +21,7 @@ @pulumi.output_type class GetAppResult: - def __init__(__self__, app_id=None, app_name=None, arn=None, build_spec=None, custom_headers=None, custom_rules=None, default_domain=None, description=None, enable_branch_auto_deletion=None, environment_variables=None, iam_service_role=None, name=None, platform=None, repository=None, tags=None): + def __init__(__self__, app_id=None, app_name=None, arn=None, build_spec=None, cache_config=None, custom_headers=None, custom_rules=None, default_domain=None, description=None, enable_branch_auto_deletion=None, environment_variables=None, iam_service_role=None, name=None, platform=None, repository=None, tags=None): if app_id and not isinstance(app_id, str): raise TypeError("Expected argument 'app_id' to be a str") pulumi.set(__self__, "app_id", app_id) @@ -34,6 +34,9 @@ def __init__(__self__, app_id=None, app_name=None, arn=None, build_spec=None, cu if build_spec and not isinstance(build_spec, str): raise TypeError("Expected argument 'build_spec' to be a str") pulumi.set(__self__, "build_spec", build_spec) + if cache_config and not isinstance(cache_config, dict): + raise TypeError("Expected argument 'cache_config' to be a dict") + pulumi.set(__self__, "cache_config", cache_config) if custom_headers and not isinstance(custom_headers, str): raise TypeError("Expected argument 'custom_headers' to be a str") pulumi.set(__self__, "custom_headers", custom_headers) @@ -100,6 +103,14 @@ def build_spec(self) -> Optional[str]: """ return pulumi.get(self, "build_spec") + @property + @pulumi.getter(name="cacheConfig") + def cache_config(self) -> Optional['outputs.AppCacheConfig']: + """ + The cache configuration for the Amplify app. If you don't specify the cache configuration `type` , Amplify uses the default `AMPLIFY_MANAGED` setting. + """ + return pulumi.get(self, "cache_config") + @property @pulumi.getter(name="customHeaders") def custom_headers(self) -> Optional[str]: @@ -171,6 +182,8 @@ def name(self) -> Optional[str]: def platform(self) -> Optional['AppPlatform']: """ The platform for the Amplify app. For a static app, set the platform type to `WEB` . For a dynamic server-side rendered (SSR) app, set the platform type to `WEB_COMPUTE` . For an app requiring Amplify Hosting's original SSR support only, set the platform type to `WEB_DYNAMIC` . + + If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to `WEB_COMPUTE` and set the artifacts `baseDirectory` to `.next` in the application's build settings. For an example of the build specification settings, see [Amplify build settings for a Next.js 14 SSG application](https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14) in the *Amplify Hosting User Guide* . """ return pulumi.get(self, "platform") @@ -201,6 +214,7 @@ def __await__(self): app_name=self.app_name, arn=self.arn, build_spec=self.build_spec, + cache_config=self.cache_config, custom_headers=self.custom_headers, custom_rules=self.custom_rules, default_domain=self.default_domain, @@ -232,6 +246,7 @@ def get_app(arn: Optional[str] = None, app_name=pulumi.get(__ret__, 'app_name'), arn=pulumi.get(__ret__, 'arn'), build_spec=pulumi.get(__ret__, 'build_spec'), + cache_config=pulumi.get(__ret__, 'cache_config'), custom_headers=pulumi.get(__ret__, 'custom_headers'), custom_rules=pulumi.get(__ret__, 'custom_rules'), default_domain=pulumi.get(__ret__, 'default_domain'), diff --git a/sdk/python/pulumi_aws_native/amplify/outputs.py b/sdk/python/pulumi_aws_native/amplify/outputs.py index d6b5bffa1f..d16670b572 100644 --- a/sdk/python/pulumi_aws_native/amplify/outputs.py +++ b/sdk/python/pulumi_aws_native/amplify/outputs.py @@ -14,6 +14,7 @@ __all__ = [ 'AppAutoBranchCreationConfig', 'AppBasicAuthConfig', + 'AppCacheConfig', 'AppCustomRule', 'AppEnvironmentVariable', 'BranchBackend', @@ -280,6 +281,33 @@ def username(self) -> Optional[str]: return pulumi.get(self, "username") +@pulumi.output_type +class AppCacheConfig(dict): + def __init__(__self__, *, + type: Optional['AppCacheConfigType'] = None): + """ + :param 'AppCacheConfigType' type: The type of cache configuration to use for an Amplify app. + + The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + + The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional['AppCacheConfigType']: + """ + The type of cache configuration to use for an Amplify app. + + The `AMPLIFY_MANAGED` cache configuration automatically applies an optimized cache configuration for your app based on its platform, routing rules, and rewrite rules. This is the default setting. + + The `AMPLIFY_MANAGED_NO_COOKIES` cache configuration type is the same as `AMPLIFY_MANAGED` , except that it excludes all cookies from the cache key. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class AppCustomRule(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/applicationsignals/_enums.py b/sdk/python/pulumi_aws_native/applicationsignals/_enums.py index f1d065cb40..e1b89139e6 100644 --- a/sdk/python/pulumi_aws_native/applicationsignals/_enums.py +++ b/sdk/python/pulumi_aws_native/applicationsignals/_enums.py @@ -6,6 +6,9 @@ __all__ = [ 'ServiceLevelObjectiveDurationUnit', + 'ServiceLevelObjectiveEvaluationType', + 'ServiceLevelObjectiveRequestBasedSliComparisonOperator', + 'ServiceLevelObjectiveRequestBasedSliMetricMetricType', 'ServiceLevelObjectiveSliComparisonOperator', 'ServiceLevelObjectiveSliMetricMetricType', ] @@ -19,6 +22,32 @@ class ServiceLevelObjectiveDurationUnit(str, Enum): MONTH = "MONTH" +class ServiceLevelObjectiveEvaluationType(str, Enum): + """ + Displays whether this is a period-based SLO or a request-based SLO. + """ + PERIOD_BASED = "PeriodBased" + REQUEST_BASED = "RequestBased" + + +class ServiceLevelObjectiveRequestBasedSliComparisonOperator(str, Enum): + """ + The arithmetic operation used when comparing the specified metric to the threshold. + """ + GREATER_THAN_OR_EQUAL_TO = "GreaterThanOrEqualTo" + LESS_THAN_OR_EQUAL_TO = "LessThanOrEqualTo" + LESS_THAN = "LessThan" + GREATER_THAN = "GreaterThan" + + +class ServiceLevelObjectiveRequestBasedSliMetricMetricType(str, Enum): + """ + If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + """ + LATENCY = "LATENCY" + AVAILABILITY = "AVAILABILITY" + + class ServiceLevelObjectiveSliComparisonOperator(str, Enum): """ The arithmetic operation used when comparing the specified metric to the threshold. diff --git a/sdk/python/pulumi_aws_native/applicationsignals/_inputs.py b/sdk/python/pulumi_aws_native/applicationsignals/_inputs.py index 034eedf688..bd06e9d1cf 100644 --- a/sdk/python/pulumi_aws_native/applicationsignals/_inputs.py +++ b/sdk/python/pulumi_aws_native/applicationsignals/_inputs.py @@ -18,6 +18,9 @@ 'ServiceLevelObjectiveMetricDataQueryArgs', 'ServiceLevelObjectiveMetricStatArgs', 'ServiceLevelObjectiveMetricArgs', + 'ServiceLevelObjectiveMonitoredRequestCountMetricArgs', + 'ServiceLevelObjectiveRequestBasedSliMetricArgs', + 'ServiceLevelObjectiveRequestBasedSliArgs', 'ServiceLevelObjectiveRollingIntervalArgs', 'ServiceLevelObjectiveSliMetricArgs', 'ServiceLevelObjectiveSliArgs', @@ -428,6 +431,201 @@ def namespace(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "namespace", value) +@pulumi.input_type +class ServiceLevelObjectiveMonitoredRequestCountMetricArgs: + def __init__(__self__, *, + bad_count_metric: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]] = None, + good_count_metric: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]] = None): + """ + This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + :param pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]] bad_count_metric: If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + :param pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]] good_count_metric: If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + """ + if bad_count_metric is not None: + pulumi.set(__self__, "bad_count_metric", bad_count_metric) + if good_count_metric is not None: + pulumi.set(__self__, "good_count_metric", good_count_metric) + + @property + @pulumi.getter(name="badCountMetric") + def bad_count_metric(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]]: + """ + If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + """ + return pulumi.get(self, "bad_count_metric") + + @bad_count_metric.setter + def bad_count_metric(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]]): + pulumi.set(self, "bad_count_metric", value) + + @property + @pulumi.getter(name="goodCountMetric") + def good_count_metric(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]]: + """ + If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + """ + return pulumi.get(self, "good_count_metric") + + @good_count_metric.setter + def good_count_metric(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]]): + pulumi.set(self, "good_count_metric", value) + + +@pulumi.input_type +class ServiceLevelObjectiveRequestBasedSliMetricArgs: + def __init__(__self__, *, + key_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metric_type: Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricMetricType']] = None, + monitored_request_count_metric: Optional[pulumi.Input['ServiceLevelObjectiveMonitoredRequestCountMetricArgs']] = None, + operation_name: Optional[pulumi.Input[str]] = None, + total_request_count_metric: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]] = None): + """ + This structure contains the information about the metric that is used for a request-based SLO. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + + - `Type` designates the type of object that this SLO is related to. + - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Environment` specifies the location where this object is hosted, or what it belongs to. + :param pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricMetricType'] metric_type: If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + :param pulumi.Input['ServiceLevelObjectiveMonitoredRequestCountMetricArgs'] monitored_request_count_metric: Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + :param pulumi.Input[str] operation_name: If the SLO monitors a specific operation of the service, this field displays that operation name. + :param pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]] total_request_count_metric: This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + """ + if key_attributes is not None: + pulumi.set(__self__, "key_attributes", key_attributes) + if metric_type is not None: + pulumi.set(__self__, "metric_type", metric_type) + if monitored_request_count_metric is not None: + pulumi.set(__self__, "monitored_request_count_metric", monitored_request_count_metric) + if operation_name is not None: + pulumi.set(__self__, "operation_name", operation_name) + if total_request_count_metric is not None: + pulumi.set(__self__, "total_request_count_metric", total_request_count_metric) + + @property + @pulumi.getter(name="keyAttributes") + def key_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + + - `Type` designates the type of object that this SLO is related to. + - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Environment` specifies the location where this object is hosted, or what it belongs to. + """ + return pulumi.get(self, "key_attributes") + + @key_attributes.setter + def key_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "key_attributes", value) + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricMetricType']]: + """ + If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + """ + return pulumi.get(self, "metric_type") + + @metric_type.setter + def metric_type(self, value: Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricMetricType']]): + pulumi.set(self, "metric_type", value) + + @property + @pulumi.getter(name="monitoredRequestCountMetric") + def monitored_request_count_metric(self) -> Optional[pulumi.Input['ServiceLevelObjectiveMonitoredRequestCountMetricArgs']]: + """ + Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + """ + return pulumi.get(self, "monitored_request_count_metric") + + @monitored_request_count_metric.setter + def monitored_request_count_metric(self, value: Optional[pulumi.Input['ServiceLevelObjectiveMonitoredRequestCountMetricArgs']]): + pulumi.set(self, "monitored_request_count_metric", value) + + @property + @pulumi.getter(name="operationName") + def operation_name(self) -> Optional[pulumi.Input[str]]: + """ + If the SLO monitors a specific operation of the service, this field displays that operation name. + """ + return pulumi.get(self, "operation_name") + + @operation_name.setter + def operation_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "operation_name", value) + + @property + @pulumi.getter(name="totalRequestCountMetric") + def total_request_count_metric(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]]: + """ + This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + """ + return pulumi.get(self, "total_request_count_metric") + + @total_request_count_metric.setter + def total_request_count_metric(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceLevelObjectiveMetricDataQueryArgs']]]]): + pulumi.set(self, "total_request_count_metric", value) + + +@pulumi.input_type +class ServiceLevelObjectiveRequestBasedSliArgs: + def __init__(__self__, *, + request_based_sli_metric: pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricArgs'], + comparison_operator: Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliComparisonOperator']] = None, + metric_threshold: Optional[pulumi.Input[float]] = None): + """ + This structure contains information about the performance metric that a request-based SLO monitors. + :param pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricArgs'] request_based_sli_metric: A structure that contains information about the metric that the SLO monitors. + :param pulumi.Input['ServiceLevelObjectiveRequestBasedSliComparisonOperator'] comparison_operator: The arithmetic operation used when comparing the specified metric to the threshold. + :param pulumi.Input[float] metric_threshold: The value that the SLI metric is compared to. + """ + pulumi.set(__self__, "request_based_sli_metric", request_based_sli_metric) + if comparison_operator is not None: + pulumi.set(__self__, "comparison_operator", comparison_operator) + if metric_threshold is not None: + pulumi.set(__self__, "metric_threshold", metric_threshold) + + @property + @pulumi.getter(name="requestBasedSliMetric") + def request_based_sli_metric(self) -> pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricArgs']: + """ + A structure that contains information about the metric that the SLO monitors. + """ + return pulumi.get(self, "request_based_sli_metric") + + @request_based_sli_metric.setter + def request_based_sli_metric(self, value: pulumi.Input['ServiceLevelObjectiveRequestBasedSliMetricArgs']): + pulumi.set(self, "request_based_sli_metric", value) + + @property + @pulumi.getter(name="comparisonOperator") + def comparison_operator(self) -> Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliComparisonOperator']]: + """ + The arithmetic operation used when comparing the specified metric to the threshold. + """ + return pulumi.get(self, "comparison_operator") + + @comparison_operator.setter + def comparison_operator(self, value: Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliComparisonOperator']]): + pulumi.set(self, "comparison_operator", value) + + @property + @pulumi.getter(name="metricThreshold") + def metric_threshold(self) -> Optional[pulumi.Input[float]]: + """ + The value that the SLI metric is compared to. + """ + return pulumi.get(self, "metric_threshold") + + @metric_threshold.setter + def metric_threshold(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "metric_threshold", value) + + @pulumi.input_type class ServiceLevelObjectiveRollingIntervalArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/applicationsignals/get_service_level_objective.py b/sdk/python/pulumi_aws_native/applicationsignals/get_service_level_objective.py index 5291b6594a..c93be07783 100644 --- a/sdk/python/pulumi_aws_native/applicationsignals/get_service_level_objective.py +++ b/sdk/python/pulumi_aws_native/applicationsignals/get_service_level_objective.py @@ -21,7 +21,7 @@ @pulumi.output_type class GetServiceLevelObjectiveResult: - def __init__(__self__, arn=None, created_time=None, description=None, goal=None, last_updated_time=None, sli=None, tags=None): + def __init__(__self__, arn=None, created_time=None, description=None, evaluation_type=None, goal=None, last_updated_time=None, request_based_sli=None, sli=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -31,12 +31,18 @@ def __init__(__self__, arn=None, created_time=None, description=None, goal=None, if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if evaluation_type and not isinstance(evaluation_type, str): + raise TypeError("Expected argument 'evaluation_type' to be a str") + pulumi.set(__self__, "evaluation_type", evaluation_type) if goal and not isinstance(goal, dict): raise TypeError("Expected argument 'goal' to be a dict") pulumi.set(__self__, "goal", goal) if last_updated_time and not isinstance(last_updated_time, int): raise TypeError("Expected argument 'last_updated_time' to be a int") pulumi.set(__self__, "last_updated_time", last_updated_time) + if request_based_sli and not isinstance(request_based_sli, dict): + raise TypeError("Expected argument 'request_based_sli' to be a dict") + pulumi.set(__self__, "request_based_sli", request_based_sli) if sli and not isinstance(sli, dict): raise TypeError("Expected argument 'sli' to be a dict") pulumi.set(__self__, "sli", sli) @@ -68,6 +74,14 @@ def description(self) -> Optional[str]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="evaluationType") + def evaluation_type(self) -> Optional['ServiceLevelObjectiveEvaluationType']: + """ + Displays whether this is a period-based SLO or a request-based SLO. + """ + return pulumi.get(self, "evaluation_type") + @property @pulumi.getter def goal(self) -> Optional['outputs.ServiceLevelObjectiveGoal']: @@ -84,11 +98,19 @@ def last_updated_time(self) -> Optional[int]: """ return pulumi.get(self, "last_updated_time") + @property + @pulumi.getter(name="requestBasedSli") + def request_based_sli(self) -> Optional['outputs.ServiceLevelObjectiveRequestBasedSli']: + """ + A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + """ + return pulumi.get(self, "request_based_sli") + @property @pulumi.getter def sli(self) -> Optional['outputs.ServiceLevelObjectiveSli']: """ - A structure containing information about the performance metric that this SLO monitors. + A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. """ return pulumi.get(self, "sli") @@ -112,8 +134,10 @@ def __await__(self): arn=self.arn, created_time=self.created_time, description=self.description, + evaluation_type=self.evaluation_type, goal=self.goal, last_updated_time=self.last_updated_time, + request_based_sli=self.request_based_sli, sli=self.sli, tags=self.tags) @@ -135,8 +159,10 @@ def get_service_level_objective(arn: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), created_time=pulumi.get(__ret__, 'created_time'), description=pulumi.get(__ret__, 'description'), + evaluation_type=pulumi.get(__ret__, 'evaluation_type'), goal=pulumi.get(__ret__, 'goal'), last_updated_time=pulumi.get(__ret__, 'last_updated_time'), + request_based_sli=pulumi.get(__ret__, 'request_based_sli'), sli=pulumi.get(__ret__, 'sli'), tags=pulumi.get(__ret__, 'tags')) diff --git a/sdk/python/pulumi_aws_native/applicationsignals/outputs.py b/sdk/python/pulumi_aws_native/applicationsignals/outputs.py index 9cba3bb619..a544d9b818 100644 --- a/sdk/python/pulumi_aws_native/applicationsignals/outputs.py +++ b/sdk/python/pulumi_aws_native/applicationsignals/outputs.py @@ -19,6 +19,9 @@ 'ServiceLevelObjectiveMetric', 'ServiceLevelObjectiveMetricDataQuery', 'ServiceLevelObjectiveMetricStat', + 'ServiceLevelObjectiveMonitoredRequestCountMetric', + 'ServiceLevelObjectiveRequestBasedSli', + 'ServiceLevelObjectiveRequestBasedSliMetric', 'ServiceLevelObjectiveRollingInterval', 'ServiceLevelObjectiveSli', 'ServiceLevelObjectiveSliMetric', @@ -459,6 +462,235 @@ def unit(self) -> Optional[str]: return pulumi.get(self, "unit") +@pulumi.output_type +class ServiceLevelObjectiveMonitoredRequestCountMetric(dict): + """ + This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "badCountMetric": + suggest = "bad_count_metric" + elif key == "goodCountMetric": + suggest = "good_count_metric" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceLevelObjectiveMonitoredRequestCountMetric. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceLevelObjectiveMonitoredRequestCountMetric.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceLevelObjectiveMonitoredRequestCountMetric.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bad_count_metric: Optional[Sequence['outputs.ServiceLevelObjectiveMetricDataQuery']] = None, + good_count_metric: Optional[Sequence['outputs.ServiceLevelObjectiveMetricDataQuery']] = None): + """ + This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` is divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + :param Sequence['ServiceLevelObjectiveMetricDataQuery'] bad_count_metric: If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + :param Sequence['ServiceLevelObjectiveMetricDataQuery'] good_count_metric: If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + """ + if bad_count_metric is not None: + pulumi.set(__self__, "bad_count_metric", bad_count_metric) + if good_count_metric is not None: + pulumi.set(__self__, "good_count_metric", good_count_metric) + + @property + @pulumi.getter(name="badCountMetric") + def bad_count_metric(self) -> Optional[Sequence['outputs.ServiceLevelObjectiveMetricDataQuery']]: + """ + If you want to count "bad requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "bad requests" in this structure. + """ + return pulumi.get(self, "bad_count_metric") + + @property + @pulumi.getter(name="goodCountMetric") + def good_count_metric(self) -> Optional[Sequence['outputs.ServiceLevelObjectiveMetricDataQuery']]: + """ + If you want to count "good requests" to determine the percentage of successful requests for this request-based SLO, specify the metric to use as "good requests" in this structure. + """ + return pulumi.get(self, "good_count_metric") + + +@pulumi.output_type +class ServiceLevelObjectiveRequestBasedSli(dict): + """ + This structure contains information about the performance metric that a request-based SLO monitors. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "requestBasedSliMetric": + suggest = "request_based_sli_metric" + elif key == "comparisonOperator": + suggest = "comparison_operator" + elif key == "metricThreshold": + suggest = "metric_threshold" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceLevelObjectiveRequestBasedSli. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceLevelObjectiveRequestBasedSli.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceLevelObjectiveRequestBasedSli.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + request_based_sli_metric: 'outputs.ServiceLevelObjectiveRequestBasedSliMetric', + comparison_operator: Optional['ServiceLevelObjectiveRequestBasedSliComparisonOperator'] = None, + metric_threshold: Optional[float] = None): + """ + This structure contains information about the performance metric that a request-based SLO monitors. + :param 'ServiceLevelObjectiveRequestBasedSliMetric' request_based_sli_metric: A structure that contains information about the metric that the SLO monitors. + :param 'ServiceLevelObjectiveRequestBasedSliComparisonOperator' comparison_operator: The arithmetic operation used when comparing the specified metric to the threshold. + :param float metric_threshold: The value that the SLI metric is compared to. + """ + pulumi.set(__self__, "request_based_sli_metric", request_based_sli_metric) + if comparison_operator is not None: + pulumi.set(__self__, "comparison_operator", comparison_operator) + if metric_threshold is not None: + pulumi.set(__self__, "metric_threshold", metric_threshold) + + @property + @pulumi.getter(name="requestBasedSliMetric") + def request_based_sli_metric(self) -> 'outputs.ServiceLevelObjectiveRequestBasedSliMetric': + """ + A structure that contains information about the metric that the SLO monitors. + """ + return pulumi.get(self, "request_based_sli_metric") + + @property + @pulumi.getter(name="comparisonOperator") + def comparison_operator(self) -> Optional['ServiceLevelObjectiveRequestBasedSliComparisonOperator']: + """ + The arithmetic operation used when comparing the specified metric to the threshold. + """ + return pulumi.get(self, "comparison_operator") + + @property + @pulumi.getter(name="metricThreshold") + def metric_threshold(self) -> Optional[float]: + """ + The value that the SLI metric is compared to. + """ + return pulumi.get(self, "metric_threshold") + + +@pulumi.output_type +class ServiceLevelObjectiveRequestBasedSliMetric(dict): + """ + This structure contains the information about the metric that is used for a request-based SLO. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keyAttributes": + suggest = "key_attributes" + elif key == "metricType": + suggest = "metric_type" + elif key == "monitoredRequestCountMetric": + suggest = "monitored_request_count_metric" + elif key == "operationName": + suggest = "operation_name" + elif key == "totalRequestCountMetric": + suggest = "total_request_count_metric" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceLevelObjectiveRequestBasedSliMetric. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceLevelObjectiveRequestBasedSliMetric.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceLevelObjectiveRequestBasedSliMetric.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key_attributes: Optional[Mapping[str, str]] = None, + metric_type: Optional['ServiceLevelObjectiveRequestBasedSliMetricMetricType'] = None, + monitored_request_count_metric: Optional['outputs.ServiceLevelObjectiveMonitoredRequestCountMetric'] = None, + operation_name: Optional[str] = None, + total_request_count_metric: Optional[Sequence['outputs.ServiceLevelObjectiveMetricDataQuery']] = None): + """ + This structure contains the information about the metric that is used for a request-based SLO. + :param Mapping[str, str] key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + + - `Type` designates the type of object that this SLO is related to. + - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Environment` specifies the location where this object is hosted, or what it belongs to. + :param 'ServiceLevelObjectiveRequestBasedSliMetricMetricType' metric_type: If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + :param 'ServiceLevelObjectiveMonitoredRequestCountMetric' monitored_request_count_metric: Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + :param str operation_name: If the SLO monitors a specific operation of the service, this field displays that operation name. + :param Sequence['ServiceLevelObjectiveMetricDataQuery'] total_request_count_metric: This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + """ + if key_attributes is not None: + pulumi.set(__self__, "key_attributes", key_attributes) + if metric_type is not None: + pulumi.set(__self__, "metric_type", metric_type) + if monitored_request_count_metric is not None: + pulumi.set(__self__, "monitored_request_count_metric", monitored_request_count_metric) + if operation_name is not None: + pulumi.set(__self__, "operation_name", operation_name) + if total_request_count_metric is not None: + pulumi.set(__self__, "total_request_count_metric", total_request_count_metric) + + @property + @pulumi.getter(name="keyAttributes") + def key_attributes(self) -> Optional[Mapping[str, str]]: + """ + This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. + + - `Type` designates the type of object that this SLO is related to. + - `ResourceType` specifies the type of the resource. This field is used only when the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Name` specifies the name of the object. This is used only if the value of the `Type` field is `Service` , `RemoteService` , or `AWS::Service` . + - `Identifier` identifies the resource objects of this resource. This is used only if the value of the `Type` field is `Resource` or `AWS::Resource` . + - `Environment` specifies the location where this object is hosted, or what it belongs to. + """ + return pulumi.get(self, "key_attributes") + + @property + @pulumi.getter(name="metricType") + def metric_type(self) -> Optional['ServiceLevelObjectiveRequestBasedSliMetricMetricType']: + """ + If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used. + """ + return pulumi.get(self, "metric_type") + + @property + @pulumi.getter(name="monitoredRequestCountMetric") + def monitored_request_count_metric(self) -> Optional['outputs.ServiceLevelObjectiveMonitoredRequestCountMetric']: + """ + Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in `TotalRequestCountMetric` will be divided by the number found for `MonitoredRequestCountMetric` to determine the percentage of successful requests that this SLO tracks. + """ + return pulumi.get(self, "monitored_request_count_metric") + + @property + @pulumi.getter(name="operationName") + def operation_name(self) -> Optional[str]: + """ + If the SLO monitors a specific operation of the service, this field displays that operation name. + """ + return pulumi.get(self, "operation_name") + + @property + @pulumi.getter(name="totalRequestCountMetric") + def total_request_count_metric(self) -> Optional[Sequence['outputs.ServiceLevelObjectiveMetricDataQuery']]: + """ + This structure defines the metric that is used as the "total requests" number for a request-based SLO. The number observed for this metric is divided by the number of "good requests" or "bad requests" that is observed for the metric defined in `MonitoredRequestCountMetric`. + """ + return pulumi.get(self, "total_request_count_metric") + + @pulumi.output_type class ServiceLevelObjectiveRollingInterval(dict): """ diff --git a/sdk/python/pulumi_aws_native/applicationsignals/service_level_objective.py b/sdk/python/pulumi_aws_native/applicationsignals/service_level_objective.py index 50cb8fe1f5..d4dee30272 100644 --- a/sdk/python/pulumi_aws_native/applicationsignals/service_level_objective.py +++ b/sdk/python/pulumi_aws_native/applicationsignals/service_level_objective.py @@ -19,43 +19,36 @@ @pulumi.input_type class ServiceLevelObjectiveArgs: def __init__(__self__, *, - sli: pulumi.Input['ServiceLevelObjectiveSliArgs'], description: Optional[pulumi.Input[str]] = None, goal: Optional[pulumi.Input['ServiceLevelObjectiveGoalArgs']] = None, name: Optional[pulumi.Input[str]] = None, + request_based_sli: Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliArgs']] = None, + sli: Optional[pulumi.Input['ServiceLevelObjectiveSliArgs']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a ServiceLevelObjective resource. - :param pulumi.Input['ServiceLevelObjectiveSliArgs'] sli: A structure containing information about the performance metric that this SLO monitors. :param pulumi.Input[str] description: An optional description for this SLO. Default is 'No description' :param pulumi.Input['ServiceLevelObjectiveGoalArgs'] goal: This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. :param pulumi.Input[str] name: The name of this SLO. + :param pulumi.Input['ServiceLevelObjectiveRequestBasedSliArgs'] request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + :param pulumi.Input['ServiceLevelObjectiveSliArgs'] sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. """ - pulumi.set(__self__, "sli", sli) if description is not None: pulumi.set(__self__, "description", description) if goal is not None: pulumi.set(__self__, "goal", goal) if name is not None: pulumi.set(__self__, "name", name) + if request_based_sli is not None: + pulumi.set(__self__, "request_based_sli", request_based_sli) + if sli is not None: + pulumi.set(__self__, "sli", sli) if tags is not None: pulumi.set(__self__, "tags", tags) - @property - @pulumi.getter - def sli(self) -> pulumi.Input['ServiceLevelObjectiveSliArgs']: - """ - A structure containing information about the performance metric that this SLO monitors. - """ - return pulumi.get(self, "sli") - - @sli.setter - def sli(self, value: pulumi.Input['ServiceLevelObjectiveSliArgs']): - pulumi.set(self, "sli", value) - @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -92,6 +85,30 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="requestBasedSli") + def request_based_sli(self) -> Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliArgs']]: + """ + A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + """ + return pulumi.get(self, "request_based_sli") + + @request_based_sli.setter + def request_based_sli(self, value: Optional[pulumi.Input['ServiceLevelObjectiveRequestBasedSliArgs']]): + pulumi.set(self, "request_based_sli", value) + + @property + @pulumi.getter + def sli(self) -> Optional[pulumi.Input['ServiceLevelObjectiveSliArgs']]: + """ + A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. + """ + return pulumi.get(self, "sli") + + @sli.setter + def sli(self, value: Optional[pulumi.Input['ServiceLevelObjectiveSliArgs']]): + pulumi.set(self, "sli", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -115,6 +132,7 @@ def __init__(__self__, description: Optional[pulumi.Input[str]] = None, goal: Optional[pulumi.Input[Union['ServiceLevelObjectiveGoalArgs', 'ServiceLevelObjectiveGoalArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, + request_based_sli: Optional[pulumi.Input[Union['ServiceLevelObjectiveRequestBasedSliArgs', 'ServiceLevelObjectiveRequestBasedSliArgsDict']]] = None, sli: Optional[pulumi.Input[Union['ServiceLevelObjectiveSliArgs', 'ServiceLevelObjectiveSliArgsDict']]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): @@ -126,7 +144,8 @@ def __init__(__self__, :param pulumi.Input[str] description: An optional description for this SLO. Default is 'No description' :param pulumi.Input[Union['ServiceLevelObjectiveGoalArgs', 'ServiceLevelObjectiveGoalArgsDict']] goal: This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold. :param pulumi.Input[str] name: The name of this SLO. - :param pulumi.Input[Union['ServiceLevelObjectiveSliArgs', 'ServiceLevelObjectiveSliArgsDict']] sli: A structure containing information about the performance metric that this SLO monitors. + :param pulumi.Input[Union['ServiceLevelObjectiveRequestBasedSliArgs', 'ServiceLevelObjectiveRequestBasedSliArgsDict']] request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + :param pulumi.Input[Union['ServiceLevelObjectiveSliArgs', 'ServiceLevelObjectiveSliArgsDict']] sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. @@ -135,7 +154,7 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: ServiceLevelObjectiveArgs, + args: Optional[ServiceLevelObjectiveArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ Resource Type definition for AWS::ApplicationSignals::ServiceLevelObjective @@ -158,6 +177,7 @@ def _internal_init(__self__, description: Optional[pulumi.Input[str]] = None, goal: Optional[pulumi.Input[Union['ServiceLevelObjectiveGoalArgs', 'ServiceLevelObjectiveGoalArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, + request_based_sli: Optional[pulumi.Input[Union['ServiceLevelObjectiveRequestBasedSliArgs', 'ServiceLevelObjectiveRequestBasedSliArgsDict']]] = None, sli: Optional[pulumi.Input[Union['ServiceLevelObjectiveSliArgs', 'ServiceLevelObjectiveSliArgsDict']]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): @@ -172,12 +192,12 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["goal"] = goal __props__.__dict__["name"] = name - if sli is None and not opts.urn: - raise TypeError("Missing required property 'sli'") + __props__.__dict__["request_based_sli"] = request_based_sli __props__.__dict__["sli"] = sli __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["created_time"] = None + __props__.__dict__["evaluation_type"] = None __props__.__dict__["last_updated_time"] = None replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) @@ -206,9 +226,11 @@ def get(resource_name: str, __props__.__dict__["arn"] = None __props__.__dict__["created_time"] = None __props__.__dict__["description"] = None + __props__.__dict__["evaluation_type"] = None __props__.__dict__["goal"] = None __props__.__dict__["last_updated_time"] = None __props__.__dict__["name"] = None + __props__.__dict__["request_based_sli"] = None __props__.__dict__["sli"] = None __props__.__dict__["tags"] = None return ServiceLevelObjective(resource_name, opts=opts, __props__=__props__) @@ -237,6 +259,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="evaluationType") + def evaluation_type(self) -> pulumi.Output['ServiceLevelObjectiveEvaluationType']: + """ + Displays whether this is a period-based SLO or a request-based SLO. + """ + return pulumi.get(self, "evaluation_type") + @property @pulumi.getter def goal(self) -> pulumi.Output[Optional['outputs.ServiceLevelObjectiveGoal']]: @@ -261,11 +291,19 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="requestBasedSli") + def request_based_sli(self) -> pulumi.Output[Optional['outputs.ServiceLevelObjectiveRequestBasedSli']]: + """ + A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO. + """ + return pulumi.get(self, "request_based_sli") + @property @pulumi.getter - def sli(self) -> pulumi.Output['outputs.ServiceLevelObjectiveSli']: + def sli(self) -> pulumi.Output[Optional['outputs.ServiceLevelObjectiveSli']]: """ - A structure containing information about the performance metric that this SLO monitors. + A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO. """ return pulumi.get(self, "sli") diff --git a/sdk/python/pulumi_aws_native/athena/_inputs.py b/sdk/python/pulumi_aws_native/athena/_inputs.py index 4d9e4e9bf6..425fcdd69b 100644 --- a/sdk/python/pulumi_aws_native/athena/_inputs.py +++ b/sdk/python/pulumi_aws_native/athena/_inputs.py @@ -68,7 +68,7 @@ def __init__(__self__, *, s3_acl_option: pulumi.Input['WorkGroupS3AclOption']): """ Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results - :param pulumi.Input['WorkGroupS3AclOption'] s3_acl_option: The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + :param pulumi.Input['WorkGroupS3AclOption'] s3_acl_option: The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . """ pulumi.set(__self__, "s3_acl_option", s3_acl_option) @@ -76,7 +76,7 @@ def __init__(__self__, *, @pulumi.getter(name="s3AclOption") def s3_acl_option(self) -> pulumi.Input['WorkGroupS3AclOption']: """ - The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . """ return pulumi.get(self, "s3_acl_option") diff --git a/sdk/python/pulumi_aws_native/athena/outputs.py b/sdk/python/pulumi_aws_native/athena/outputs.py index a4f596d09a..91f734bbe8 100644 --- a/sdk/python/pulumi_aws_native/athena/outputs.py +++ b/sdk/python/pulumi_aws_native/athena/outputs.py @@ -118,7 +118,7 @@ def __init__(__self__, *, s3_acl_option: 'WorkGroupS3AclOption'): """ Indicates that an Amazon S3 canned ACL should be set to control ownership of stored query results - :param 'WorkGroupS3AclOption' s3_acl_option: The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + :param 'WorkGroupS3AclOption' s3_acl_option: The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . """ pulumi.set(__self__, "s3_acl_option", s3_acl_option) @@ -126,7 +126,7 @@ def __init__(__self__, *, @pulumi.getter(name="s3AclOption") def s3_acl_option(self) -> 'WorkGroupS3AclOption': """ - The Amazon S3 canned ACL that Athena should specify when storing query results. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . + The Amazon S3 canned ACL that Athena should specify when storing query results, including data files inserted by Athena as the result of statements like CTAS or INSERT INTO. Currently the only supported canned ACL is `BUCKET_OWNER_FULL_CONTROL` . If a query runs in a workgroup and the workgroup overrides client-side settings, then the Amazon S3 canned ACL specified in the workgroup's settings is used for all queries that run in the workgroup. For more information about Amazon S3 canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* . """ return pulumi.get(self, "s3_acl_option") diff --git a/sdk/python/pulumi_aws_native/cloudformation/get_stack.py b/sdk/python/pulumi_aws_native/cloudformation/get_stack.py index 9538ddad56..4d77deacdb 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/get_stack.py +++ b/sdk/python/pulumi_aws_native/cloudformation/get_stack.py @@ -180,7 +180,7 @@ def last_update_time(self) -> Optional[str]: @pulumi.getter(name="notificationArns") def notification_arns(self) -> Optional[Sequence[str]]: """ - The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). """ return pulumi.get(self, "notification_arns") @@ -212,7 +212,7 @@ def parent_id(self) -> Optional[str]: """ For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. - For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . """ return pulumi.get(self, "parent_id") @@ -232,7 +232,7 @@ def root_id(self) -> Optional[str]: """ For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. - For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . """ return pulumi.get(self, "root_id") @@ -274,7 +274,7 @@ def stack_status_reason(self) -> Optional[str]: @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: """ - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/cloudformation/stack.py b/sdk/python/pulumi_aws_native/cloudformation/stack.py index d7f912b9bf..1fd6d459c0 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/stack.py +++ b/sdk/python/pulumi_aws_native/cloudformation/stack.py @@ -76,7 +76,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] enable_termination_protection: Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see [Protecting a Stack From Being Deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) in the *AWS CloudFormation User Guide* . Termination protection is deactivated on stacks by default. For [nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) , termination protection is set on the root stack and can't be changed directly on the nested stack. - :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_arns: The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_arns: The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. > If you use the `Ref` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type `String` . In other words, you can't pass values that are of type `CommaDelimitedList` to nested stacks. @@ -95,7 +95,7 @@ def __init__(__self__, *, Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::CloudFormation::Stack` for more information about the expected schema for this property. :param pulumi.Input[str] stack_policy_url: Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can specify either the `StackPolicyBody` or the `StackPolicyURL` parameter, but not both. :param pulumi.Input[str] stack_status_reason: Success/failure message associated with the stack status. - :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. :param Any template_body: Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to [Template anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) in the AWS CloudFormation User Guide. Conditional: You must specify either the `TemplateBody` or the `TemplateURL` parameter, but not both. @@ -228,7 +228,7 @@ def enable_termination_protection(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="notificationArns") def notification_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). """ return pulumi.get(self, "notification_arns") @@ -324,7 +324,7 @@ def stack_status_reason(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: """ - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. """ return pulumi.get(self, "tags") @@ -444,7 +444,7 @@ def __init__(__self__, :param pulumi.Input[bool] enable_termination_protection: Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see [Protecting a Stack From Being Deleted](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) in the *AWS CloudFormation User Guide* . Termination protection is deactivated on stacks by default. For [nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) , termination protection is set on the root stack and can't be changed directly on the nested stack. - :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_arns: The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + :param pulumi.Input[Sequence[pulumi.Input[str]]] notification_arns: The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. > If you use the `Ref` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type `String` . In other words, you can't pass values that are of type `CommaDelimitedList` to nested stacks. @@ -463,7 +463,7 @@ def __init__(__self__, Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::CloudFormation::Stack` for more information about the expected schema for this property. :param pulumi.Input[str] stack_policy_url: Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can specify either the `StackPolicyBody` or the `StackPolicyURL` parameter, but not both. :param pulumi.Input[str] stack_status_reason: Success/failure message associated with the stack status. - :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. :param Any template_body: Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to [Template anatomy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) in the AWS CloudFormation User Guide. Conditional: You must specify either the `TemplateBody` or the `TemplateURL` parameter, but not both. @@ -693,7 +693,7 @@ def last_update_time(self) -> pulumi.Output[str]: @pulumi.getter(name="notificationArns") def notification_arns(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). + The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI). """ return pulumi.get(self, "notification_arns") @@ -725,7 +725,7 @@ def parent_id(self) -> pulumi.Output[str]: """ For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack. - For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . """ return pulumi.get(self, "parent_id") @@ -745,7 +745,7 @@ def root_id(self) -> pulumi.Output[str]: """ For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs. - For more information, see [Working with Nested Stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . + For more information, see [Embed stacks within other stacks using nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) in the *AWS CloudFormation User Guide* . """ return pulumi.get(self, "root_id") @@ -805,7 +805,7 @@ def stack_status_reason(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: """ - Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. + Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/codebuild/_enums.py b/sdk/python/pulumi_aws_native/codebuild/_enums.py index 30ccc0b0fb..4a9e46be07 100644 --- a/sdk/python/pulumi_aws_native/codebuild/_enums.py +++ b/sdk/python/pulumi_aws_native/codebuild/_enums.py @@ -13,6 +13,8 @@ class FleetComputeType(str, Enum): """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -44,6 +46,8 @@ class FleetComputeType(str, Enum): class FleetEnvironmentType(str, Enum): """ + > Updating this field is not allowed for `MAC_ARM` . + The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). diff --git a/sdk/python/pulumi_aws_native/codebuild/fleet.py b/sdk/python/pulumi_aws_native/codebuild/fleet.py index 60ee6648e8..26133e373a 100644 --- a/sdk/python/pulumi_aws_native/codebuild/fleet.py +++ b/sdk/python/pulumi_aws_native/codebuild/fleet.py @@ -31,7 +31,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a Fleet resource. :param pulumi.Input[int] base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. - :param pulumi.Input['FleetComputeType'] compute_type: Information about the compute resources the compute fleet uses. Available values include: + :param pulumi.Input['FleetComputeType'] compute_type: > Updating this field is not allowed for `MAC_ARM` . + + Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. @@ -52,7 +54,9 @@ def __init__(__self__, *, - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* - :param pulumi.Input['FleetEnvironmentType'] environment_type: The environment type of the compute fleet. + :param pulumi.Input['FleetEnvironmentType'] environment_type: > Updating this field is not allowed for `MAC_ARM` . + + The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). @@ -62,8 +66,12 @@ def __init__(__self__, *, For more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* . :param pulumi.Input[str] fleet_service_role: The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . - :param pulumi.Input['FleetVpcConfigArgs'] fleet_vpc_config: Information about the VPC configuration that AWS CodeBuild accesses. - :param pulumi.Input[str] image_id: The Amazon Machine Image (AMI) of the compute fleet. + :param pulumi.Input['FleetVpcConfigArgs'] fleet_vpc_config: > Updating this field is not allowed for `MAC_ARM` . + + Information about the VPC configuration that AWS CodeBuild accesses. + :param pulumi.Input[str] image_id: > Updating this field is not allowed for `MAC_ARM` . + + The Amazon Machine Image (AMI) of the compute fleet. :param pulumi.Input[str] name: The name of the compute fleet. :param pulumi.Input['FleetOverflowBehavior'] overflow_behavior: The compute fleet overflow behavior. @@ -110,6 +118,8 @@ def base_capacity(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="computeType") def compute_type(self) -> Optional[pulumi.Input['FleetComputeType']]: """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -142,6 +152,8 @@ def compute_type(self, value: Optional[pulumi.Input['FleetComputeType']]): @pulumi.getter(name="environmentType") def environment_type(self) -> Optional[pulumi.Input['FleetEnvironmentType']]: """ + > Updating this field is not allowed for `MAC_ARM` . + The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -174,6 +186,8 @@ def fleet_service_role(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="fleetVpcConfig") def fleet_vpc_config(self) -> Optional[pulumi.Input['FleetVpcConfigArgs']]: """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the VPC configuration that AWS CodeBuild accesses. """ return pulumi.get(self, "fleet_vpc_config") @@ -186,6 +200,8 @@ def fleet_vpc_config(self, value: Optional[pulumi.Input['FleetVpcConfigArgs']]): @pulumi.getter(name="imageId") def image_id(self) -> Optional[pulumi.Input[str]]: """ + > Updating this field is not allowed for `MAC_ARM` . + The Amazon Machine Image (AMI) of the compute fleet. """ return pulumi.get(self, "image_id") @@ -259,7 +275,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] base_capacity: The initial number of machines allocated to the compute fleet, which defines the number of builds that can run in parallel. - :param pulumi.Input['FleetComputeType'] compute_type: Information about the compute resources the compute fleet uses. Available values include: + :param pulumi.Input['FleetComputeType'] compute_type: > Updating this field is not allowed for `MAC_ARM` . + + Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. - `BUILD_GENERAL1_MEDIUM` : Use up to 7 GB memory and 4 vCPUs for builds. @@ -280,7 +298,9 @@ def __init__(__self__, - For environment type `ARM_CONTAINER` , you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds. For more information, see [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild User Guide.* - :param pulumi.Input['FleetEnvironmentType'] environment_type: The environment type of the compute fleet. + :param pulumi.Input['FleetEnvironmentType'] environment_type: > Updating this field is not allowed for `MAC_ARM` . + + The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). - The environment type `LINUX_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), South America (São Paulo), and Asia Pacific (Mumbai). @@ -290,8 +310,12 @@ def __init__(__self__, For more information, see [Build environment compute types](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html) in the *AWS CodeBuild user guide* . :param pulumi.Input[str] fleet_service_role: The service role associated with the compute fleet. For more information, see [Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the *AWS CodeBuild User Guide* . - :param pulumi.Input[Union['FleetVpcConfigArgs', 'FleetVpcConfigArgsDict']] fleet_vpc_config: Information about the VPC configuration that AWS CodeBuild accesses. - :param pulumi.Input[str] image_id: The Amazon Machine Image (AMI) of the compute fleet. + :param pulumi.Input[Union['FleetVpcConfigArgs', 'FleetVpcConfigArgsDict']] fleet_vpc_config: > Updating this field is not allowed for `MAC_ARM` . + + Information about the VPC configuration that AWS CodeBuild accesses. + :param pulumi.Input[str] image_id: > Updating this field is not allowed for `MAC_ARM` . + + The Amazon Machine Image (AMI) of the compute fleet. :param pulumi.Input[str] name: The name of the compute fleet. :param pulumi.Input['FleetOverflowBehavior'] overflow_behavior: The compute fleet overflow behavior. @@ -409,6 +433,8 @@ def base_capacity(self) -> pulumi.Output[Optional[int]]: @pulumi.getter(name="computeType") def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -437,6 +463,8 @@ def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: @pulumi.getter(name="environmentType") def environment_type(self) -> pulumi.Output[Optional['FleetEnvironmentType']]: """ + > Updating this field is not allowed for `MAC_ARM` . + The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -461,6 +489,8 @@ def fleet_service_role(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="fleetVpcConfig") def fleet_vpc_config(self) -> pulumi.Output[Optional['outputs.FleetVpcConfig']]: """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the VPC configuration that AWS CodeBuild accesses. """ return pulumi.get(self, "fleet_vpc_config") @@ -469,6 +499,8 @@ def fleet_vpc_config(self) -> pulumi.Output[Optional['outputs.FleetVpcConfig']]: @pulumi.getter(name="imageId") def image_id(self) -> pulumi.Output[Optional[str]]: """ + > Updating this field is not allowed for `MAC_ARM` . + The Amazon Machine Image (AMI) of the compute fleet. """ return pulumi.get(self, "image_id") diff --git a/sdk/python/pulumi_aws_native/codebuild/get_fleet.py b/sdk/python/pulumi_aws_native/codebuild/get_fleet.py index 308769aac9..68622ba690 100644 --- a/sdk/python/pulumi_aws_native/codebuild/get_fleet.py +++ b/sdk/python/pulumi_aws_native/codebuild/get_fleet.py @@ -73,6 +73,8 @@ def base_capacity(self) -> Optional[int]: @pulumi.getter(name="computeType") def compute_type(self) -> Optional['FleetComputeType']: """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the compute resources the compute fleet uses. Available values include: - `BUILD_GENERAL1_SMALL` : Use up to 3 GB memory and 2 vCPUs for builds. @@ -101,6 +103,8 @@ def compute_type(self) -> Optional['FleetComputeType']: @pulumi.getter(name="environmentType") def environment_type(self) -> Optional['FleetEnvironmentType']: """ + > Updating this field is not allowed for `MAC_ARM` . + The environment type of the compute fleet. - The environment type `ARM_CONTAINER` is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Singapore), Asia Pacific (Sydney), EU (Frankfurt), and South America (São Paulo). @@ -125,6 +129,8 @@ def fleet_service_role(self) -> Optional[str]: @pulumi.getter(name="fleetVpcConfig") def fleet_vpc_config(self) -> Optional['outputs.FleetVpcConfig']: """ + > Updating this field is not allowed for `MAC_ARM` . + Information about the VPC configuration that AWS CodeBuild accesses. """ return pulumi.get(self, "fleet_vpc_config") @@ -133,6 +139,8 @@ def fleet_vpc_config(self) -> Optional['outputs.FleetVpcConfig']: @pulumi.getter(name="imageId") def image_id(self) -> Optional[str]: """ + > Updating this field is not allowed for `MAC_ARM` . + The Amazon Machine Image (AMI) of the compute fleet. """ return pulumi.get(self, "image_id") diff --git a/sdk/python/pulumi_aws_native/cognito/_inputs.py b/sdk/python/pulumi_aws_native/cognito/_inputs.py index f00d62c7e3..22a10b3747 100644 --- a/sdk/python/pulumi_aws_native/cognito/_inputs.py +++ b/sdk/python/pulumi_aws_native/cognito/_inputs.py @@ -509,13 +509,15 @@ def __init__(__self__, *, invite_message_template: Optional[pulumi.Input['UserPoolInviteMessageTemplateArgs']] = None, unused_account_validity_days: Optional[pulumi.Input[int]] = None): """ - :param pulumi.Input[bool] allow_admin_create_user_only: Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + :param pulumi.Input[bool] allow_admin_create_user_only: The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. :param pulumi.Input['UserPoolInviteMessageTemplateArgs'] invite_message_template: The message template to be used for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . - :param pulumi.Input[int] unused_account_validity_days: The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + :param pulumi.Input[int] unused_account_validity_days: This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . - > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + + The default value for this parameter is 7. """ if allow_admin_create_user_only is not None: pulumi.set(__self__, "allow_admin_create_user_only", allow_admin_create_user_only) @@ -528,7 +530,7 @@ def __init__(__self__, *, @pulumi.getter(name="allowAdminCreateUserOnly") def allow_admin_create_user_only(self) -> Optional[pulumi.Input[bool]]: """ - Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. """ return pulumi.get(self, "allow_admin_create_user_only") @@ -554,9 +556,11 @@ def invite_message_template(self, value: Optional[pulumi.Input['UserPoolInviteMe @pulumi.getter(name="unusedAccountValidityDays") def unused_account_validity_days(self) -> Optional[pulumi.Input[int]]: """ - The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . + + The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. - > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + The default value for this parameter is 7. """ return pulumi.get(self, "unused_account_validity_days") @@ -592,9 +596,9 @@ def __init__(__self__, *, user_data_shared: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. - :param pulumi.Input[str] application_id: The application ID for an Amazon Pinpoint application. - :param pulumi.Input[str] external_id: The external ID. - :param pulumi.Input[str] role_arn: The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + :param pulumi.Input[str] application_id: Your Amazon Pinpoint project ID. + :param pulumi.Input[str] external_id: The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. + :param pulumi.Input[str] role_arn: The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. :param pulumi.Input[bool] user_data_shared: If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics. """ if application_arn is not None: @@ -624,7 +628,7 @@ def application_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="applicationId") def application_id(self) -> Optional[pulumi.Input[str]]: """ - The application ID for an Amazon Pinpoint application. + Your Amazon Pinpoint project ID. """ return pulumi.get(self, "application_id") @@ -636,7 +640,7 @@ def application_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="externalId") def external_id(self) -> Optional[pulumi.Input[str]]: """ - The external ID. + The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. """ return pulumi.get(self, "external_id") @@ -648,7 +652,7 @@ def external_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[pulumi.Input[str]]: """ - The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. """ return pulumi.get(self, "role_arn") @@ -676,9 +680,9 @@ def __init__(__self__, *, id_token: Optional[pulumi.Input[str]] = None, refresh_token: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] access_token: A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. - :param pulumi.Input[str] id_token: A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. - :param pulumi.Input[str] refresh_token: A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + :param pulumi.Input[str] access_token: A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. + :param pulumi.Input[str] id_token: A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. + :param pulumi.Input[str] refresh_token: A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. """ if access_token is not None: pulumi.set(__self__, "access_token", access_token) @@ -691,7 +695,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessToken") def access_token(self) -> Optional[pulumi.Input[str]]: """ - A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. """ return pulumi.get(self, "access_token") @@ -703,7 +707,7 @@ def access_token(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="idToken") def id_token(self) -> Optional[pulumi.Input[str]]: """ - A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. """ return pulumi.get(self, "id_token") @@ -715,7 +719,7 @@ def id_token(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="refreshToken") def refresh_token(self) -> Optional[pulumi.Input[str]]: """ - A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. """ return pulumi.get(self, "refresh_token") @@ -1070,24 +1074,22 @@ def __init__(__self__, *, user_migration: Optional[pulumi.Input[str]] = None, verify_auth_challenge_response: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] create_auth_challenge: Creates an authentication challenge. + :param pulumi.Input[str] create_auth_challenge: The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . :param pulumi.Input['UserPoolCustomEmailSenderArgs'] custom_email_sender: A custom email sender AWS Lambda trigger. - :param pulumi.Input[str] custom_message: A custom Message AWS Lambda trigger. + :param pulumi.Input[str] custom_message: A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. :param pulumi.Input['UserPoolCustomSmsSenderArgs'] custom_sms_sender: A custom SMS sender AWS Lambda trigger. - :param pulumi.Input[str] define_auth_challenge: Defines the authentication challenge. + :param pulumi.Input[str] define_auth_challenge: The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . :param pulumi.Input[str] kms_key_id: The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . - :param pulumi.Input[str] post_authentication: A post-authentication AWS Lambda trigger. - :param pulumi.Input[str] post_confirmation: A post-confirmation AWS Lambda trigger. - :param pulumi.Input[str] pre_authentication: A pre-authentication AWS Lambda trigger. - :param pulumi.Input[str] pre_sign_up: A pre-registration AWS Lambda trigger. - :param pulumi.Input[str] pre_token_generation: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + :param pulumi.Input[str] post_authentication: The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. + :param pulumi.Input[str] post_confirmation: The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. + :param pulumi.Input[str] pre_authentication: The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. + :param pulumi.Input[str] pre_sign_up: The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. + :param pulumi.Input[str] pre_token_generation: The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - - You can set `` - :param pulumi.Input['UserPoolPreTokenGenerationConfigArgs'] pre_token_generation_config: The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . - :param pulumi.Input[str] user_migration: The user migration Lambda config type. - :param pulumi.Input[str] verify_auth_challenge_response: Verifies the authentication challenge response. + :param pulumi.Input['UserPoolPreTokenGenerationConfigArgs'] pre_token_generation_config: The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + :param pulumi.Input[str] user_migration: The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. + :param pulumi.Input[str] verify_auth_challenge_response: The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ if create_auth_challenge is not None: pulumi.set(__self__, "create_auth_challenge", create_auth_challenge) @@ -1122,7 +1124,7 @@ def __init__(__self__, *, @pulumi.getter(name="createAuthChallenge") def create_auth_challenge(self) -> Optional[pulumi.Input[str]]: """ - Creates an authentication challenge. + The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ return pulumi.get(self, "create_auth_challenge") @@ -1146,7 +1148,7 @@ def custom_email_sender(self, value: Optional[pulumi.Input['UserPoolCustomEmailS @pulumi.getter(name="customMessage") def custom_message(self) -> Optional[pulumi.Input[str]]: """ - A custom Message AWS Lambda trigger. + A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. """ return pulumi.get(self, "custom_message") @@ -1170,7 +1172,7 @@ def custom_sms_sender(self, value: Optional[pulumi.Input['UserPoolCustomSmsSende @pulumi.getter(name="defineAuthChallenge") def define_auth_challenge(self) -> Optional[pulumi.Input[str]]: """ - Defines the authentication challenge. + The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ return pulumi.get(self, "define_auth_challenge") @@ -1194,7 +1196,7 @@ def kms_key_id(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="postAuthentication") def post_authentication(self) -> Optional[pulumi.Input[str]]: """ - A post-authentication AWS Lambda trigger. + The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. """ return pulumi.get(self, "post_authentication") @@ -1206,7 +1208,7 @@ def post_authentication(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="postConfirmation") def post_confirmation(self) -> Optional[pulumi.Input[str]]: """ - A post-confirmation AWS Lambda trigger. + The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. """ return pulumi.get(self, "post_confirmation") @@ -1218,7 +1220,7 @@ def post_confirmation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preAuthentication") def pre_authentication(self) -> Optional[pulumi.Input[str]]: """ - A pre-authentication AWS Lambda trigger. + The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. """ return pulumi.get(self, "pre_authentication") @@ -1230,7 +1232,7 @@ def pre_authentication(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preSignUp") def pre_sign_up(self) -> Optional[pulumi.Input[str]]: """ - A pre-registration AWS Lambda trigger. + The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. """ return pulumi.get(self, "pre_sign_up") @@ -1242,11 +1244,9 @@ def pre_sign_up(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preTokenGeneration") def pre_token_generation(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - - You can set `` """ return pulumi.get(self, "pre_token_generation") @@ -1258,7 +1258,7 @@ def pre_token_generation(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="preTokenGenerationConfig") def pre_token_generation_config(self) -> Optional[pulumi.Input['UserPoolPreTokenGenerationConfigArgs']]: """ - The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . """ return pulumi.get(self, "pre_token_generation_config") @@ -1270,7 +1270,7 @@ def pre_token_generation_config(self, value: Optional[pulumi.Input['UserPoolPreT @pulumi.getter(name="userMigration") def user_migration(self) -> Optional[pulumi.Input[str]]: """ - The user migration Lambda config type. + The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. """ return pulumi.get(self, "user_migration") @@ -1282,7 +1282,7 @@ def user_migration(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="verifyAuthChallengeResponse") def verify_auth_challenge_response(self) -> Optional[pulumi.Input[str]]: """ - Verifies the authentication challenge response. + The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ return pulumi.get(self, "verify_auth_challenge_response") @@ -1345,10 +1345,10 @@ def __init__(__self__, *, :param pulumi.Input[int] password_history_size: The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. - :param pulumi.Input[bool] require_lowercase: In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. - :param pulumi.Input[bool] require_numbers: In the password policy that you have set, refers to whether you have required users to use at least one number in their password. - :param pulumi.Input[bool] require_symbols: In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. - :param pulumi.Input[bool] require_uppercase: In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + :param pulumi.Input[bool] require_lowercase: The requirement in a password policy that users must include at least one lowercase letter in their password. + :param pulumi.Input[bool] require_numbers: The requirement in a password policy that users must include at least one number in their password. + :param pulumi.Input[bool] require_symbols: The requirement in a password policy that users must include at least one symbol in their password. + :param pulumi.Input[bool] require_uppercase: The requirement in a password policy that users must include at least one uppercase letter in their password. :param pulumi.Input[int] temporary_password_validity_days: The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value. > When you set `TemporaryPasswordValidityDays` for a user pool, you can no longer set a value for the legacy `UnusedAccountValidityDays` parameter in that user pool. @@ -1398,7 +1398,7 @@ def password_history_size(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="requireLowercase") def require_lowercase(self) -> Optional[pulumi.Input[bool]]: """ - In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + The requirement in a password policy that users must include at least one lowercase letter in their password. """ return pulumi.get(self, "require_lowercase") @@ -1410,7 +1410,7 @@ def require_lowercase(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="requireNumbers") def require_numbers(self) -> Optional[pulumi.Input[bool]]: """ - In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + The requirement in a password policy that users must include at least one number in their password. """ return pulumi.get(self, "require_numbers") @@ -1422,7 +1422,7 @@ def require_numbers(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="requireSymbols") def require_symbols(self) -> Optional[pulumi.Input[bool]]: """ - In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + The requirement in a password policy that users must include at least one symbol in their password. """ return pulumi.get(self, "require_symbols") @@ -1434,7 +1434,7 @@ def require_symbols(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="requireUppercase") def require_uppercase(self) -> Optional[pulumi.Input[bool]]: """ - In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + The requirement in a password policy that users must include at least one uppercase letter in their password. """ return pulumi.get(self, "require_uppercase") @@ -1462,7 +1462,7 @@ class UserPoolPoliciesArgs: def __init__(__self__, *, password_policy: Optional[pulumi.Input['UserPoolPasswordPolicyArgs']] = None): """ - :param pulumi.Input['UserPoolPasswordPolicyArgs'] password_policy: The password policy. + :param pulumi.Input['UserPoolPasswordPolicyArgs'] password_policy: The password policy settings for a user pool, including complexity, history, and length requirements. """ if password_policy is not None: pulumi.set(__self__, "password_policy", password_policy) @@ -1471,7 +1471,7 @@ def __init__(__self__, *, @pulumi.getter(name="passwordPolicy") def password_policy(self) -> Optional[pulumi.Input['UserPoolPasswordPolicyArgs']]: """ - The password policy. + The password policy settings for a user pool, including complexity, history, and length requirements. """ return pulumi.get(self, "password_policy") @@ -1568,8 +1568,8 @@ def __init__(__self__, *, scope_description: pulumi.Input[str], scope_name: pulumi.Input[str]): """ - :param pulumi.Input[str] scope_description: A description of the scope. - :param pulumi.Input[str] scope_name: The name of the scope. + :param pulumi.Input[str] scope_description: A friendly description of a custom scope. + :param pulumi.Input[str] scope_name: The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . """ pulumi.set(__self__, "scope_description", scope_description) pulumi.set(__self__, "scope_name", scope_name) @@ -1578,7 +1578,7 @@ def __init__(__self__, *, @pulumi.getter(name="scopeDescription") def scope_description(self) -> pulumi.Input[str]: """ - A description of the scope. + A friendly description of a custom scope. """ return pulumi.get(self, "scope_description") @@ -1590,7 +1590,7 @@ def scope_description(self, value: pulumi.Input[str]): @pulumi.getter(name="scopeName") def scope_name(self) -> pulumi.Input[str]: """ - The name of the scope. + The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . """ return pulumi.get(self, "scope_name") @@ -1605,13 +1605,13 @@ def __init__(__self__, *, event_action: pulumi.Input[str], notify: pulumi.Input[bool]): """ - :param pulumi.Input[str] event_action: The action to take in response to the account takeover action. Valid values are as follows: + :param pulumi.Input[str] event_action: The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: - - `BLOCK` Choosing this action will block the request. - - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - - `NO_ACTION` Allow the user to sign in. - :param pulumi.Input[bool] notify: Flag specifying whether to send a notification. + - `BLOCK` : Block the request. + - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + - `NO_ACTION` : Take no action. Permit sign-in. + :param pulumi.Input[bool] notify: Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. """ pulumi.set(__self__, "event_action", event_action) pulumi.set(__self__, "notify", notify) @@ -1620,12 +1620,12 @@ def __init__(__self__, *, @pulumi.getter(name="eventAction") def event_action(self) -> pulumi.Input[str]: """ - The action to take in response to the account takeover action. Valid values are as follows: + The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: - - `BLOCK` Choosing this action will block the request. - - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - - `NO_ACTION` Allow the user to sign in. + - `BLOCK` : Block the request. + - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + - `NO_ACTION` : Take no action. Permit sign-in. """ return pulumi.get(self, "event_action") @@ -1637,7 +1637,7 @@ def event_action(self, value: pulumi.Input[str]): @pulumi.getter def notify(self) -> pulumi.Input[bool]: """ - Flag specifying whether to send a notification. + Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. """ return pulumi.get(self, "notify") @@ -1653,9 +1653,9 @@ def __init__(__self__, *, low_action: Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs']] = None, medium_action: Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs']] = None): """ - :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs'] high_action: Action to take for a high risk. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs'] low_action: Action to take for a low risk. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs'] medium_action: Action to take for a medium risk. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs'] high_action: The action that you assign to a high-risk assessment by advanced security features. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs'] low_action: The action that you assign to a low-risk assessment by advanced security features. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs'] medium_action: The action that you assign to a medium-risk assessment by advanced security features. """ if high_action is not None: pulumi.set(__self__, "high_action", high_action) @@ -1668,7 +1668,7 @@ def __init__(__self__, *, @pulumi.getter(name="highAction") def high_action(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs']]: """ - Action to take for a high risk. + The action that you assign to a high-risk assessment by advanced security features. """ return pulumi.get(self, "high_action") @@ -1680,7 +1680,7 @@ def high_action(self, value: Optional[pulumi.Input['UserPoolRiskConfigurationAtt @pulumi.getter(name="lowAction") def low_action(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs']]: """ - Action to take for a low risk. + The action that you assign to a low-risk assessment by advanced security features. """ return pulumi.get(self, "low_action") @@ -1692,7 +1692,7 @@ def low_action(self, value: Optional[pulumi.Input['UserPoolRiskConfigurationAtta @pulumi.getter(name="mediumAction") def medium_action(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionTypeArgs']]: """ - Action to take for a medium risk. + The action that you assign to a medium-risk assessment by advanced security features. """ return pulumi.get(self, "medium_action") @@ -1707,8 +1707,8 @@ def __init__(__self__, *, actions: pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs'], notify_configuration: Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs']] = None): """ - :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs'] actions: Account takeover risk configuration actions. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs'] notify_configuration: The notify configuration used to construct email notifications. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs'] actions: A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs'] notify_configuration: The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. """ pulumi.set(__self__, "actions", actions) if notify_configuration is not None: @@ -1718,7 +1718,7 @@ def __init__(__self__, *, @pulumi.getter def actions(self) -> pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverActionsTypeArgs']: """ - Account takeover risk configuration actions. + A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. """ return pulumi.get(self, "actions") @@ -1730,7 +1730,7 @@ def actions(self, value: pulumi.Input['UserPoolRiskConfigurationAttachmentAccoun @pulumi.getter(name="notifyConfiguration") def notify_configuration(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyConfigurationTypeArgs']]: """ - The notify configuration used to construct email notifications. + The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. """ return pulumi.get(self, "notify_configuration") @@ -1744,7 +1744,7 @@ class UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs: def __init__(__self__, *, event_action: pulumi.Input[str]): """ - :param pulumi.Input[str] event_action: The event action. + :param pulumi.Input[str] event_action: The action that Amazon Cognito takes when it detects compromised credentials. """ pulumi.set(__self__, "event_action", event_action) @@ -1752,7 +1752,7 @@ def __init__(__self__, *, @pulumi.getter(name="eventAction") def event_action(self) -> pulumi.Input[str]: """ - The event action. + The action that Amazon Cognito takes when it detects compromised credentials. """ return pulumi.get(self, "event_action") @@ -1767,8 +1767,8 @@ def __init__(__self__, *, actions: pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs'], event_filter: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - :param pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs'] actions: The compromised credentials risk configuration actions. - :param pulumi.Input[Sequence[pulumi.Input[str]]] event_filter: Perform the action for these events. The default is to perform all events if no event filter is specified. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs'] actions: Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_filter: Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. """ pulumi.set(__self__, "actions", actions) if event_filter is not None: @@ -1778,7 +1778,7 @@ def __init__(__self__, *, @pulumi.getter def actions(self) -> pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsTypeArgs']: """ - The compromised credentials risk configuration actions. + Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. """ return pulumi.get(self, "actions") @@ -1790,7 +1790,7 @@ def actions(self, value: pulumi.Input['UserPoolRiskConfigurationAttachmentCompro @pulumi.getter(name="eventFilter") def event_filter(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Perform the action for these events. The default is to perform all events if no event filter is specified. + Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. """ return pulumi.get(self, "event_filter") @@ -1810,11 +1810,11 @@ def __init__(__self__, *, reply_to: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] source_arn: The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs'] block_email: Email template used when a detected risk event is blocked. - :param pulumi.Input[str] from_: The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs'] mfa_email: The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs'] no_action_email: The email template used when a detected risk event is allowed. - :param pulumi.Input[str] reply_to: The destination to which the receiver of an email should reply to. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs'] block_email: The template for the email message that your user pool sends when a detected risk event is blocked. + :param pulumi.Input[str] from_: The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs'] mfa_email: The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs'] no_action_email: The template for the email message that your user pool sends when no action is taken in response to a detected risk. + :param pulumi.Input[str] reply_to: The reply-to email address of an email template. """ pulumi.set(__self__, "source_arn", source_arn) if block_email is not None: @@ -1844,7 +1844,7 @@ def source_arn(self, value: pulumi.Input[str]): @pulumi.getter(name="blockEmail") def block_email(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs']]: """ - Email template used when a detected risk event is blocked. + The template for the email message that your user pool sends when a detected risk event is blocked. """ return pulumi.get(self, "block_email") @@ -1856,7 +1856,7 @@ def block_email(self, value: Optional[pulumi.Input['UserPoolRiskConfigurationAtt @pulumi.getter(name="from") def from_(self) -> Optional[pulumi.Input[str]]: """ - The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. """ return pulumi.get(self, "from_") @@ -1868,7 +1868,7 @@ def from_(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="mfaEmail") def mfa_email(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs']]: """ - The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. """ return pulumi.get(self, "mfa_email") @@ -1880,7 +1880,7 @@ def mfa_email(self, value: Optional[pulumi.Input['UserPoolRiskConfigurationAttac @pulumi.getter(name="noActionEmail") def no_action_email(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentNotifyEmailTypeArgs']]: """ - The email template used when a detected risk event is allowed. + The template for the email message that your user pool sends when no action is taken in response to a detected risk. """ return pulumi.get(self, "no_action_email") @@ -1892,7 +1892,7 @@ def no_action_email(self, value: Optional[pulumi.Input['UserPoolRiskConfiguratio @pulumi.getter(name="replyTo") def reply_to(self) -> Optional[pulumi.Input[str]]: """ - The destination to which the receiver of an email should reply to. + The reply-to email address of an email template. """ return pulumi.get(self, "reply_to") @@ -1908,9 +1908,9 @@ def __init__(__self__, *, html_body: Optional[pulumi.Input[str]] = None, text_body: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] subject: The email subject. - :param pulumi.Input[str] html_body: The email HTML body. - :param pulumi.Input[str] text_body: The email text body. + :param pulumi.Input[str] subject: The subject of the threat protection email notification. + :param pulumi.Input[str] html_body: The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. + :param pulumi.Input[str] text_body: The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. """ pulumi.set(__self__, "subject", subject) if html_body is not None: @@ -1922,7 +1922,7 @@ def __init__(__self__, *, @pulumi.getter def subject(self) -> pulumi.Input[str]: """ - The email subject. + The subject of the threat protection email notification. """ return pulumi.get(self, "subject") @@ -1934,7 +1934,7 @@ def subject(self, value: pulumi.Input[str]): @pulumi.getter(name="htmlBody") def html_body(self) -> Optional[pulumi.Input[str]]: """ - The email HTML body. + The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. """ return pulumi.get(self, "html_body") @@ -1946,7 +1946,7 @@ def html_body(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="textBody") def text_body(self) -> Optional[pulumi.Input[str]]: """ - The email text body. + The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. """ return pulumi.get(self, "text_body") @@ -1961,8 +1961,8 @@ def __init__(__self__, *, blocked_ip_range_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, skipped_ip_range_list: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_ip_range_list: Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. - :param pulumi.Input[Sequence[pulumi.Input[str]]] skipped_ip_range_list: Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + :param pulumi.Input[Sequence[pulumi.Input[str]]] blocked_ip_range_list: An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. + :param pulumi.Input[Sequence[pulumi.Input[str]]] skipped_ip_range_list: An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. """ if blocked_ip_range_list is not None: pulumi.set(__self__, "blocked_ip_range_list", blocked_ip_range_list) @@ -1973,7 +1973,7 @@ def __init__(__self__, *, @pulumi.getter(name="blockedIpRangeList") def blocked_ip_range_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. """ return pulumi.get(self, "blocked_ip_range_list") @@ -1985,7 +1985,7 @@ def blocked_ip_range_list(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @pulumi.getter(name="skippedIpRangeList") def skipped_ip_range_list(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. """ return pulumi.get(self, "skipped_ip_range_list") @@ -2187,7 +2187,7 @@ def __init__(__self__, *, min_length: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] max_length: The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer. - :param pulumi.Input[str] min_length: The minimum length. + :param pulumi.Input[str] min_length: The minimum length of a string attribute value. """ if max_length is not None: pulumi.set(__self__, "max_length", max_length) @@ -2210,7 +2210,7 @@ def max_length(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="minLength") def min_length(self) -> Optional[pulumi.Input[str]]: """ - The minimum length. + The minimum length of a string attribute value. """ return pulumi.get(self, "min_length") @@ -2297,8 +2297,8 @@ def __init__(__self__, *, Valid values include: - - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. """ if case_sensitive is not None: pulumi.set(__self__, "case_sensitive", case_sensitive) @@ -2311,8 +2311,8 @@ def case_sensitive(self) -> Optional[pulumi.Input[bool]]: Valid values include: - - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. """ return pulumi.get(self, "case_sensitive") @@ -2331,7 +2331,9 @@ def __init__(__self__, *, email_subject_by_link: Optional[pulumi.Input[str]] = None, sms_message: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] default_email_option: The default email option. + :param pulumi.Input[str] default_email_option: The configuration of verification emails to contain a clickable link or a verification code. + + For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . :param pulumi.Input[str] email_message: The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. :param pulumi.Input[str] email_message_by_link: The email message template for sending a confirmation link to the user. You can set an `EmailMessageByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. :param pulumi.Input[str] email_subject: The subject line for the email message template. You can set an `EmailSubject` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. @@ -2355,7 +2357,9 @@ def __init__(__self__, *, @pulumi.getter(name="defaultEmailOption") def default_email_option(self) -> Optional[pulumi.Input[str]]: """ - The default email option. + The configuration of verification emails to contain a clickable link or a verification code. + + For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . """ return pulumi.get(self, "default_email_option") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool.py index 619e1e327f..ef73789aac 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool.py @@ -114,7 +114,9 @@ def account_recovery_setting(self) -> Optional['outputs.UserPoolAccountRecoveryS @pulumi.getter(name="adminCreateUserConfig") def admin_create_user_config(self) -> Optional['outputs.UserPoolAdminCreateUserConfig']: """ - The configuration for creating a new user profile. + The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ return pulumi.get(self, "admin_create_user_config") @@ -194,13 +196,7 @@ def email_verification_subject(self) -> Optional[str]: @pulumi.getter(name="lambdaConfig") def lambda_config(self) -> Optional['outputs.UserPoolLambdaConfig']: """ - The Lambda trigger configuration information for the new user pool. - - > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - > - > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - > - > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. """ return pulumi.get(self, "lambda_config") @@ -220,7 +216,9 @@ def mfa_configuration(self) -> Optional[str]: @pulumi.getter def policies(self) -> Optional['outputs.UserPoolPolicies']: """ - The policy associated with a user pool. + A list of user pool policies. Contains the policy that sets password-complexity requirements. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ return pulumi.get(self, "policies") @@ -340,7 +338,9 @@ def username_configuration(self) -> Optional['outputs.UserPoolUsernameConfigurat @pulumi.getter(name="verificationMessageTemplate") def verification_message_template(self) -> Optional['outputs.UserPoolVerificationMessageTemplate']: """ - The template for the verification message that the user sees when the app requests permission to access the user's information. + The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + + Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. """ return pulumi.get(self, "verification_message_template") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py index 3c81d7f965..a76fb95e3b 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py @@ -294,9 +294,9 @@ def prevent_user_existence_errors(self) -> Optional[str]: @pulumi.getter(name="readAttributes") def read_attributes(self) -> Optional[Sequence[str]]: """ - The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. - When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. """ return pulumi.get(self, "read_attributes") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py index 08613c9f44..77b33bd881 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_risk_configuration_attachment.py @@ -34,7 +34,7 @@ def __init__(__self__, account_takeover_risk_configuration=None, compromised_cre @pulumi.getter(name="accountTakeoverRiskConfiguration") def account_takeover_risk_configuration(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType']: """ - The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + The settings for automated responses and notification templates for adaptive authentication with advanced security features. """ return pulumi.get(self, "account_takeover_risk_configuration") @@ -42,7 +42,7 @@ def account_takeover_risk_configuration(self) -> Optional['outputs.UserPoolRiskC @pulumi.getter(name="compromisedCredentialsRiskConfiguration") def compromised_credentials_risk_configuration(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType']: """ - The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. """ return pulumi.get(self, "compromised_credentials_risk_configuration") @@ -50,7 +50,7 @@ def compromised_credentials_risk_configuration(self) -> Optional['outputs.UserPo @pulumi.getter(name="riskExceptionConfiguration") def risk_exception_configuration(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType']: """ - The configuration to override the risk decision. + Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. """ return pulumi.get(self, "risk_exception_configuration") @@ -74,7 +74,7 @@ def get_user_pool_risk_configuration_attachment(client_id: Optional[str] = None, :param str client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). - :param str user_pool_id: The user pool ID. + :param str user_pool_id: The ID of the user pool that has the risk configuration applied. """ __args__ = dict() __args__['clientId'] = client_id @@ -97,6 +97,6 @@ def get_user_pool_risk_configuration_attachment_output(client_id: Optional[pulum :param str client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). - :param str user_pool_id: The user pool ID. + :param str user_pool_id: The ID of the user pool that has the risk configuration applied. """ ... diff --git a/sdk/python/pulumi_aws_native/cognito/outputs.py b/sdk/python/pulumi_aws_native/cognito/outputs.py index 3b5c2cfc0e..3c5226c8ad 100644 --- a/sdk/python/pulumi_aws_native/cognito/outputs.py +++ b/sdk/python/pulumi_aws_native/cognito/outputs.py @@ -632,13 +632,15 @@ def __init__(__self__, *, invite_message_template: Optional['outputs.UserPoolInviteMessageTemplate'] = None, unused_account_validity_days: Optional[int] = None): """ - :param bool allow_admin_create_user_only: Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + :param bool allow_admin_create_user_only: The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. :param 'UserPoolInviteMessageTemplate' invite_message_template: The message template to be used for the welcome message to new users. See also [Customizing User Invitation Messages](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization) . - :param int unused_account_validity_days: The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + :param int unused_account_validity_days: This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . - > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. + + The default value for this parameter is 7. """ if allow_admin_create_user_only is not None: pulumi.set(__self__, "allow_admin_create_user_only", allow_admin_create_user_only) @@ -651,7 +653,7 @@ def __init__(__self__, *, @pulumi.getter(name="allowAdminCreateUserOnly") def allow_admin_create_user_only(self) -> Optional[bool]: """ - Set to `True` if only the administrator is allowed to create user profiles. Set to `False` if users can sign themselves up via an app. + The setting for allowing self-service sign-up. When `true` , only administrators can create new user profiles. When `false` , users can register themselves and create a new user profile with the [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) operation. """ return pulumi.get(self, "allow_admin_create_user_only") @@ -669,9 +671,11 @@ def invite_message_template(self) -> Optional['outputs.UserPoolInviteMessageTemp @pulumi.getter(name="unusedAccountValidityDays") def unused_account_validity_days(self) -> Optional[int]: """ - The user account expiration limit, in days, after which a new account that hasn't signed in is no longer usable. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `"RESEND"` for the `MessageAction` parameter. The default value for this parameter is 7. + This parameter is no longer in use. Configure the duration of temporary passwords with the `TemporaryPasswordValidityDays` parameter of [PasswordPolicyType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html) . For older user pools that have a `UnusedAccountValidityDays` configuration, that value is effective until you set a value for `TemporaryPasswordValidityDays` . + + The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call `AdminCreateUser` again, specifying `RESEND` for the `MessageAction` parameter. - > If you set a value for `TemporaryPasswordValidityDays` in `PasswordPolicy` , that value will be used, and `UnusedAccountValidityDays` will be no longer be an available parameter for that user pool. + The default value for this parameter is 7. """ return pulumi.get(self, "unused_account_validity_days") @@ -741,9 +745,9 @@ def __init__(__self__, *, user_data_shared: Optional[bool] = None): """ :param str application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares. - :param str application_id: The application ID for an Amazon Pinpoint application. - :param str external_id: The external ID. - :param str role_arn: The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + :param str application_id: Your Amazon Pinpoint project ID. + :param str external_id: The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. + :param str role_arn: The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. :param bool user_data_shared: If `UserDataShared` is `true` , Amazon Cognito includes user data in the events that it publishes to Amazon Pinpoint analytics. """ if application_arn is not None: @@ -769,7 +773,7 @@ def application_arn(self) -> Optional[str]: @pulumi.getter(name="applicationId") def application_id(self) -> Optional[str]: """ - The application ID for an Amazon Pinpoint application. + Your Amazon Pinpoint project ID. """ return pulumi.get(self, "application_id") @@ -777,7 +781,7 @@ def application_id(self) -> Optional[str]: @pulumi.getter(name="externalId") def external_id(self) -> Optional[str]: """ - The external ID. + The [external ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint. """ return pulumi.get(self, "external_id") @@ -785,7 +789,7 @@ def external_id(self) -> Optional[str]: @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: """ - The ARN of an AWS Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics. + The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics. """ return pulumi.get(self, "role_arn") @@ -826,9 +830,9 @@ def __init__(__self__, *, id_token: Optional[str] = None, refresh_token: Optional[str] = None): """ - :param str access_token: A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. - :param str id_token: A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. - :param str refresh_token: A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + :param str access_token: A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. + :param str id_token: A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. + :param str refresh_token: A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. """ if access_token is not None: pulumi.set(__self__, "access_token", access_token) @@ -841,7 +845,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessToken") def access_token(self) -> Optional[str]: """ - A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is hours. `AccessTokenValidity` duration can range from five minutes to one day. + A time unit for the value that you set in the `AccessTokenValidity` parameter. The default `AccessTokenValidity` time unit is `hours` . `AccessTokenValidity` duration can range from five minutes to one day. """ return pulumi.get(self, "access_token") @@ -849,7 +853,7 @@ def access_token(self) -> Optional[str]: @pulumi.getter(name="idToken") def id_token(self) -> Optional[str]: """ - A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is hours. `IdTokenValidity` duration can range from five minutes to one day. + A time unit for the value that you set in the `IdTokenValidity` parameter. The default `IdTokenValidity` time unit is `hours` . `IdTokenValidity` duration can range from five minutes to one day. """ return pulumi.get(self, "id_token") @@ -857,7 +861,7 @@ def id_token(self) -> Optional[str]: @pulumi.getter(name="refreshToken") def refresh_token(self) -> Optional[str]: """ - A time unit of `seconds` , `minutes` , `hours` , or `days` for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is days. `RefreshTokenValidity` duration can range from 60 minutes to 10 years. + A time unit for the value that you set in the `RefreshTokenValidity` parameter. The default `RefreshTokenValidity` time unit is `days` . `RefreshTokenValidity` duration can range from 60 minutes to 10 years. """ return pulumi.get(self, "refresh_token") @@ -1311,24 +1315,22 @@ def __init__(__self__, *, user_migration: Optional[str] = None, verify_auth_challenge_response: Optional[str] = None): """ - :param str create_auth_challenge: Creates an authentication challenge. + :param str create_auth_challenge: The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . :param 'UserPoolCustomEmailSender' custom_email_sender: A custom email sender AWS Lambda trigger. - :param str custom_message: A custom Message AWS Lambda trigger. + :param str custom_message: A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. :param 'UserPoolCustomSmsSender' custom_sms_sender: A custom SMS sender AWS Lambda trigger. - :param str define_auth_challenge: Defines the authentication challenge. + :param str define_auth_challenge: The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . :param str kms_key_id: The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to `CustomEmailSender` and `CustomSMSSender` . - :param str post_authentication: A post-authentication AWS Lambda trigger. - :param str post_confirmation: A post-confirmation AWS Lambda trigger. - :param str pre_authentication: A pre-authentication AWS Lambda trigger. - :param str pre_sign_up: A pre-registration AWS Lambda trigger. - :param str pre_token_generation: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + :param str post_authentication: The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. + :param str post_confirmation: The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. + :param str pre_authentication: The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. + :param str pre_sign_up: The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. + :param str pre_token_generation: The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - - You can set `` - :param 'UserPoolPreTokenGenerationConfig' pre_token_generation_config: The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . - :param str user_migration: The user migration Lambda config type. - :param str verify_auth_challenge_response: Verifies the authentication challenge response. + :param 'UserPoolPreTokenGenerationConfig' pre_token_generation_config: The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + :param str user_migration: The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. + :param str verify_auth_challenge_response: The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ if create_auth_challenge is not None: pulumi.set(__self__, "create_auth_challenge", create_auth_challenge) @@ -1363,7 +1365,7 @@ def __init__(__self__, *, @pulumi.getter(name="createAuthChallenge") def create_auth_challenge(self) -> Optional[str]: """ - Creates an authentication challenge. + The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ return pulumi.get(self, "create_auth_challenge") @@ -1379,7 +1381,7 @@ def custom_email_sender(self) -> Optional['outputs.UserPoolCustomEmailSender']: @pulumi.getter(name="customMessage") def custom_message(self) -> Optional[str]: """ - A custom Message AWS Lambda trigger. + A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user. """ return pulumi.get(self, "custom_message") @@ -1395,7 +1397,7 @@ def custom_sms_sender(self) -> Optional['outputs.UserPoolCustomSmsSender']: @pulumi.getter(name="defineAuthChallenge") def define_auth_challenge(self) -> Optional[str]: """ - Defines the authentication challenge. + The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ return pulumi.get(self, "define_auth_challenge") @@ -1411,7 +1413,7 @@ def kms_key_id(self) -> Optional[str]: @pulumi.getter(name="postAuthentication") def post_authentication(self) -> Optional[str]: """ - A post-authentication AWS Lambda trigger. + The configuration of a [post authentication Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html) in a user pool. This trigger can take custom actions after a user signs in. """ return pulumi.get(self, "post_authentication") @@ -1419,7 +1421,7 @@ def post_authentication(self) -> Optional[str]: @pulumi.getter(name="postConfirmation") def post_confirmation(self) -> Optional[str]: """ - A post-confirmation AWS Lambda trigger. + The configuration of a [post confirmation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html) in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number. """ return pulumi.get(self, "post_confirmation") @@ -1427,7 +1429,7 @@ def post_confirmation(self) -> Optional[str]: @pulumi.getter(name="preAuthentication") def pre_authentication(self) -> Optional[str]: """ - A pre-authentication AWS Lambda trigger. + The configuration of a [pre authentication trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html) in a user pool. This trigger can evaluate and modify user sign-in events. """ return pulumi.get(self, "pre_authentication") @@ -1435,7 +1437,7 @@ def pre_authentication(self) -> Optional[str]: @pulumi.getter(name="preSignUp") def pre_sign_up(self) -> Optional[str]: """ - A pre-registration AWS Lambda trigger. + The configuration of a [pre sign-up Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html) in a user pool. This trigger evaluates new users and can bypass confirmation, [link a federated user profile](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-identity-federation-consolidate-users.html) , or block sign-up requests. """ return pulumi.get(self, "pre_sign_up") @@ -1443,11 +1445,9 @@ def pre_sign_up(self) -> Optional[str]: @pulumi.getter(name="preTokenGeneration") def pre_token_generation(self) -> Optional[str]: """ - The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. + The legacy configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. Set this parameter for legacy purposes. If you also set an ARN in `PreTokenGenerationConfig` , its value must be identical to `PreTokenGeneration` . For new instances of pre token generation triggers, set the `LambdaArn` of `PreTokenGenerationConfig` . - - You can set `` """ return pulumi.get(self, "pre_token_generation") @@ -1455,7 +1455,7 @@ def pre_token_generation(self) -> Optional[str]: @pulumi.getter(name="preTokenGenerationConfig") def pre_token_generation_config(self) -> Optional['outputs.UserPoolPreTokenGenerationConfig']: """ - The detailed configuration of a pre token generation trigger. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . + The detailed configuration of a [pre token generation Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html) in a user pool. If you also set an ARN in `PreTokenGeneration` , its value must be identical to `PreTokenGenerationConfig` . """ return pulumi.get(self, "pre_token_generation_config") @@ -1463,7 +1463,7 @@ def pre_token_generation_config(self) -> Optional['outputs.UserPoolPreTokenGener @pulumi.getter(name="userMigration") def user_migration(self) -> Optional[str]: """ - The user migration Lambda config type. + The configuration of a [migrate user Lambda trigger](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-migrate-user.html) in a user pool. This trigger can create user profiles when users sign in or attempt to reset their password with credentials that don't exist yet. """ return pulumi.get(self, "user_migration") @@ -1471,7 +1471,7 @@ def user_migration(self) -> Optional[str]: @pulumi.getter(name="verifyAuthChallengeResponse") def verify_auth_challenge_response(self) -> Optional[str]: """ - Verifies the authentication challenge response. + The configuration of a verify auth challenge Lambda trigger, one of three triggers in the sequence of the [custom authentication challenge triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html) . """ return pulumi.get(self, "verify_auth_challenge_response") @@ -1570,10 +1570,10 @@ def __init__(__self__, *, :param int password_history_size: The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. - :param bool require_lowercase: In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. - :param bool require_numbers: In the password policy that you have set, refers to whether you have required users to use at least one number in their password. - :param bool require_symbols: In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. - :param bool require_uppercase: In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + :param bool require_lowercase: The requirement in a password policy that users must include at least one lowercase letter in their password. + :param bool require_numbers: The requirement in a password policy that users must include at least one number in their password. + :param bool require_symbols: The requirement in a password policy that users must include at least one symbol in their password. + :param bool require_uppercase: The requirement in a password policy that users must include at least one uppercase letter in their password. :param int temporary_password_validity_days: The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password. Defaults to `7` . If you submit a value of `0` , Amazon Cognito treats it as a null value and sets `TemporaryPasswordValidityDays` to its default value. > When you set `TemporaryPasswordValidityDays` for a user pool, you can no longer set a value for the legacy `UnusedAccountValidityDays` parameter in that user pool. @@ -1615,7 +1615,7 @@ def password_history_size(self) -> Optional[int]: @pulumi.getter(name="requireLowercase") def require_lowercase(self) -> Optional[bool]: """ - In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password. + The requirement in a password policy that users must include at least one lowercase letter in their password. """ return pulumi.get(self, "require_lowercase") @@ -1623,7 +1623,7 @@ def require_lowercase(self) -> Optional[bool]: @pulumi.getter(name="requireNumbers") def require_numbers(self) -> Optional[bool]: """ - In the password policy that you have set, refers to whether you have required users to use at least one number in their password. + The requirement in a password policy that users must include at least one number in their password. """ return pulumi.get(self, "require_numbers") @@ -1631,7 +1631,7 @@ def require_numbers(self) -> Optional[bool]: @pulumi.getter(name="requireSymbols") def require_symbols(self) -> Optional[bool]: """ - In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password. + The requirement in a password policy that users must include at least one symbol in their password. """ return pulumi.get(self, "require_symbols") @@ -1639,7 +1639,7 @@ def require_symbols(self) -> Optional[bool]: @pulumi.getter(name="requireUppercase") def require_uppercase(self) -> Optional[bool]: """ - In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password. + The requirement in a password policy that users must include at least one uppercase letter in their password. """ return pulumi.get(self, "require_uppercase") @@ -1676,7 +1676,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, password_policy: Optional['outputs.UserPoolPasswordPolicy'] = None): """ - :param 'UserPoolPasswordPolicy' password_policy: The password policy. + :param 'UserPoolPasswordPolicy' password_policy: The password policy settings for a user pool, including complexity, history, and length requirements. """ if password_policy is not None: pulumi.set(__self__, "password_policy", password_policy) @@ -1685,7 +1685,7 @@ def __init__(__self__, *, @pulumi.getter(name="passwordPolicy") def password_policy(self) -> Optional['outputs.UserPoolPasswordPolicy']: """ - The password policy. + The password policy settings for a user pool, including complexity, history, and length requirements. """ return pulumi.get(self, "password_policy") @@ -1800,8 +1800,8 @@ def __init__(__self__, *, scope_description: str, scope_name: str): """ - :param str scope_description: A description of the scope. - :param str scope_name: The name of the scope. + :param str scope_description: A friendly description of a custom scope. + :param str scope_name: The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . """ pulumi.set(__self__, "scope_description", scope_description) pulumi.set(__self__, "scope_name", scope_name) @@ -1810,7 +1810,7 @@ def __init__(__self__, *, @pulumi.getter(name="scopeDescription") def scope_description(self) -> str: """ - A description of the scope. + A friendly description of a custom scope. """ return pulumi.get(self, "scope_description") @@ -1818,7 +1818,7 @@ def scope_description(self) -> str: @pulumi.getter(name="scopeName") def scope_name(self) -> str: """ - The name of the scope. + The name of the scope. Amazon Cognito renders custom scopes in the format `resourceServerIdentifier/ScopeName` . For example, if this parameter is `exampleScope` in the resource server with the identifier `exampleResourceServer` , you request and receive the scope `exampleResourceServer/exampleScope` . """ return pulumi.get(self, "scope_name") @@ -1846,13 +1846,13 @@ def __init__(__self__, *, event_action: str, notify: bool): """ - :param str event_action: The action to take in response to the account takeover action. Valid values are as follows: + :param str event_action: The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: - - `BLOCK` Choosing this action will block the request. - - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - - `NO_ACTION` Allow the user to sign in. - :param bool notify: Flag specifying whether to send a notification. + - `BLOCK` : Block the request. + - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + - `NO_ACTION` : Take no action. Permit sign-in. + :param bool notify: Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. """ pulumi.set(__self__, "event_action", event_action) pulumi.set(__self__, "notify", notify) @@ -1861,12 +1861,12 @@ def __init__(__self__, *, @pulumi.getter(name="eventAction") def event_action(self) -> str: """ - The action to take in response to the account takeover action. Valid values are as follows: + The action to take for the attempted account takeover action for the associated risk level. Valid values are as follows: - - `BLOCK` Choosing this action will block the request. - - `MFA_IF_CONFIGURED` Present an MFA challenge if user has configured it, else allow the request. - - `MFA_REQUIRED` Present an MFA challenge if user has configured it, else block the request. - - `NO_ACTION` Allow the user to sign in. + - `BLOCK` : Block the request. + - `MFA_IF_CONFIGURED` : Present an MFA challenge if possible. MFA is possible if the user pool has active MFA methods that the user can set up. For example, if the user pool only supports SMS message MFA but the user doesn't have a phone number attribute, MFA setup isn't possible. If MFA setup isn't possible, allow the request. + - `MFA_REQUIRED` : Present an MFA challenge if possible. Block the request if a user hasn't set up MFA. To sign in with required MFA, users must have an email address or phone number attribute, or a registered TOTP factor. + - `NO_ACTION` : Take no action. Permit sign-in. """ return pulumi.get(self, "event_action") @@ -1874,7 +1874,7 @@ def event_action(self) -> str: @pulumi.getter def notify(self) -> bool: """ - Flag specifying whether to send a notification. + Determines whether Amazon Cognito sends a user a notification message when your user pools assesses a user's session at the associated risk level. """ return pulumi.get(self, "notify") @@ -1907,9 +1907,9 @@ def __init__(__self__, *, low_action: Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType'] = None, medium_action: Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType'] = None): """ - :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionType' high_action: Action to take for a high risk. - :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionType' low_action: Action to take for a low risk. - :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionType' medium_action: Action to take for a medium risk. + :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionType' high_action: The action that you assign to a high-risk assessment by advanced security features. + :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionType' low_action: The action that you assign to a low-risk assessment by advanced security features. + :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionType' medium_action: The action that you assign to a medium-risk assessment by advanced security features. """ if high_action is not None: pulumi.set(__self__, "high_action", high_action) @@ -1922,7 +1922,7 @@ def __init__(__self__, *, @pulumi.getter(name="highAction") def high_action(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType']: """ - Action to take for a high risk. + The action that you assign to a high-risk assessment by advanced security features. """ return pulumi.get(self, "high_action") @@ -1930,7 +1930,7 @@ def high_action(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentAc @pulumi.getter(name="lowAction") def low_action(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType']: """ - Action to take for a low risk. + The action that you assign to a low-risk assessment by advanced security features. """ return pulumi.get(self, "low_action") @@ -1938,7 +1938,7 @@ def low_action(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentAcc @pulumi.getter(name="mediumAction") def medium_action(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionType']: """ - Action to take for a medium risk. + The action that you assign to a medium-risk assessment by advanced security features. """ return pulumi.get(self, "medium_action") @@ -1966,8 +1966,8 @@ def __init__(__self__, *, actions: 'outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType', notify_configuration: Optional['outputs.UserPoolRiskConfigurationAttachmentNotifyConfigurationType'] = None): """ - :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType' actions: Account takeover risk configuration actions. - :param 'UserPoolRiskConfigurationAttachmentNotifyConfigurationType' notify_configuration: The notify configuration used to construct email notifications. + :param 'UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType' actions: A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. + :param 'UserPoolRiskConfigurationAttachmentNotifyConfigurationType' notify_configuration: The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. """ pulumi.set(__self__, "actions", actions) if notify_configuration is not None: @@ -1977,7 +1977,7 @@ def __init__(__self__, *, @pulumi.getter def actions(self) -> 'outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverActionsType': """ - Account takeover risk configuration actions. + A list of account-takeover actions for each level of risk that Amazon Cognito might assess with advanced security features. """ return pulumi.get(self, "actions") @@ -1985,7 +1985,7 @@ def actions(self) -> 'outputs.UserPoolRiskConfigurationAttachmentAccountTakeover @pulumi.getter(name="notifyConfiguration") def notify_configuration(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentNotifyConfigurationType']: """ - The notify configuration used to construct email notifications. + The settings for composing and sending an email message when advanced security features assesses a risk level with adaptive authentication. When you choose to notify users in `AccountTakeoverRiskConfiguration` , Amazon Cognito sends an email message using the method and template that you set with this data type. """ return pulumi.get(self, "notify_configuration") @@ -2012,7 +2012,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, event_action: str): """ - :param str event_action: The event action. + :param str event_action: The action that Amazon Cognito takes when it detects compromised credentials. """ pulumi.set(__self__, "event_action", event_action) @@ -2020,7 +2020,7 @@ def __init__(__self__, *, @pulumi.getter(name="eventAction") def event_action(self) -> str: """ - The event action. + The action that Amazon Cognito takes when it detects compromised credentials. """ return pulumi.get(self, "event_action") @@ -2048,8 +2048,8 @@ def __init__(__self__, *, actions: 'outputs.UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType', event_filter: Optional[Sequence[str]] = None): """ - :param 'UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType' actions: The compromised credentials risk configuration actions. - :param Sequence[str] event_filter: Perform the action for these events. The default is to perform all events if no event filter is specified. + :param 'UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType' actions: Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. + :param Sequence[str] event_filter: Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. """ pulumi.set(__self__, "actions", actions) if event_filter is not None: @@ -2059,7 +2059,7 @@ def __init__(__self__, *, @pulumi.getter def actions(self) -> 'outputs.UserPoolRiskConfigurationAttachmentCompromisedCredentialsActionsType': """ - The compromised credentials risk configuration actions. + Settings for the actions that you want your user pool to take when Amazon Cognito detects compromised credentials. """ return pulumi.get(self, "actions") @@ -2067,7 +2067,7 @@ def actions(self) -> 'outputs.UserPoolRiskConfigurationAttachmentCompromisedCred @pulumi.getter(name="eventFilter") def event_filter(self) -> Optional[Sequence[str]]: """ - Perform the action for these events. The default is to perform all events if no event filter is specified. + Settings for the sign-in activity where you want to configure compromised-credentials actions. Defaults to all events. """ return pulumi.get(self, "event_filter") @@ -2110,11 +2110,11 @@ def __init__(__self__, *, reply_to: Optional[str] = None): """ :param str source_arn: The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the `From` parameter. - :param 'UserPoolRiskConfigurationAttachmentNotifyEmailType' block_email: Email template used when a detected risk event is blocked. - :param str from_: The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. - :param 'UserPoolRiskConfigurationAttachmentNotifyEmailType' mfa_email: The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. - :param 'UserPoolRiskConfigurationAttachmentNotifyEmailType' no_action_email: The email template used when a detected risk event is allowed. - :param str reply_to: The destination to which the receiver of an email should reply to. + :param 'UserPoolRiskConfigurationAttachmentNotifyEmailType' block_email: The template for the email message that your user pool sends when a detected risk event is blocked. + :param str from_: The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + :param 'UserPoolRiskConfigurationAttachmentNotifyEmailType' mfa_email: The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. + :param 'UserPoolRiskConfigurationAttachmentNotifyEmailType' no_action_email: The template for the email message that your user pool sends when no action is taken in response to a detected risk. + :param str reply_to: The reply-to email address of an email template. """ pulumi.set(__self__, "source_arn", source_arn) if block_email is not None: @@ -2140,7 +2140,7 @@ def source_arn(self) -> str: @pulumi.getter(name="blockEmail") def block_email(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentNotifyEmailType']: """ - Email template used when a detected risk event is blocked. + The template for the email message that your user pool sends when a detected risk event is blocked. """ return pulumi.get(self, "block_email") @@ -2148,7 +2148,7 @@ def block_email(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentNo @pulumi.getter(name="from") def from_(self) -> Optional[str]: """ - The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. + The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES. """ return pulumi.get(self, "from_") @@ -2156,7 +2156,7 @@ def from_(self) -> Optional[str]: @pulumi.getter(name="mfaEmail") def mfa_email(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentNotifyEmailType']: """ - The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk. + The template for the email message that your user pool sends when MFA is challenged in response to a detected risk. """ return pulumi.get(self, "mfa_email") @@ -2164,7 +2164,7 @@ def mfa_email(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentNoti @pulumi.getter(name="noActionEmail") def no_action_email(self) -> Optional['outputs.UserPoolRiskConfigurationAttachmentNotifyEmailType']: """ - The email template used when a detected risk event is allowed. + The template for the email message that your user pool sends when no action is taken in response to a detected risk. """ return pulumi.get(self, "no_action_email") @@ -2172,7 +2172,7 @@ def no_action_email(self) -> Optional['outputs.UserPoolRiskConfigurationAttachme @pulumi.getter(name="replyTo") def reply_to(self) -> Optional[str]: """ - The destination to which the receiver of an email should reply to. + The reply-to email address of an email template. """ return pulumi.get(self, "reply_to") @@ -2203,9 +2203,9 @@ def __init__(__self__, *, html_body: Optional[str] = None, text_body: Optional[str] = None): """ - :param str subject: The email subject. - :param str html_body: The email HTML body. - :param str text_body: The email text body. + :param str subject: The subject of the threat protection email notification. + :param str html_body: The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. + :param str text_body: The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. """ pulumi.set(__self__, "subject", subject) if html_body is not None: @@ -2217,7 +2217,7 @@ def __init__(__self__, *, @pulumi.getter def subject(self) -> str: """ - The email subject. + The subject of the threat protection email notification. """ return pulumi.get(self, "subject") @@ -2225,7 +2225,7 @@ def subject(self) -> str: @pulumi.getter(name="htmlBody") def html_body(self) -> Optional[str]: """ - The email HTML body. + The body of an email notification formatted in HTML. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. """ return pulumi.get(self, "html_body") @@ -2233,7 +2233,7 @@ def html_body(self) -> Optional[str]: @pulumi.getter(name="textBody") def text_body(self) -> Optional[str]: """ - The email text body. + The body of an email notification formatted in plaintext. Choose an `HtmlBody` or a `TextBody` to send an HTML-formatted or plaintext message, respectively. """ return pulumi.get(self, "text_body") @@ -2263,8 +2263,8 @@ def __init__(__self__, *, blocked_ip_range_list: Optional[Sequence[str]] = None, skipped_ip_range_list: Optional[Sequence[str]] = None): """ - :param Sequence[str] blocked_ip_range_list: Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. - :param Sequence[str] skipped_ip_range_list: Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + :param Sequence[str] blocked_ip_range_list: An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. + :param Sequence[str] skipped_ip_range_list: An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. """ if blocked_ip_range_list is not None: pulumi.set(__self__, "blocked_ip_range_list", blocked_ip_range_list) @@ -2275,7 +2275,7 @@ def __init__(__self__, *, @pulumi.getter(name="blockedIpRangeList") def blocked_ip_range_list(self) -> Optional[Sequence[str]]: """ - Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix. + An always-block IP address list. Overrides the risk decision and always blocks authentication requests. This parameter is displayed and set in CIDR notation. """ return pulumi.get(self, "blocked_ip_range_list") @@ -2283,7 +2283,7 @@ def blocked_ip_range_list(self) -> Optional[Sequence[str]]: @pulumi.getter(name="skippedIpRangeList") def skipped_ip_range_list(self) -> Optional[Sequence[str]]: """ - Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation. + An always-allow IP address list. Risk detection isn't performed on the IP addresses in this range list. This parameter is displayed and set in CIDR notation. """ return pulumi.get(self, "skipped_ip_range_list") @@ -2504,7 +2504,7 @@ def __init__(__self__, *, min_length: Optional[str] = None): """ :param str max_length: The maximum length of a string attribute value. Must be a number less than or equal to `2^1023` , represented as a string with a length of 131072 characters or fewer. - :param str min_length: The minimum length. + :param str min_length: The minimum length of a string attribute value. """ if max_length is not None: pulumi.set(__self__, "max_length", max_length) @@ -2523,7 +2523,7 @@ def max_length(self) -> Optional[str]: @pulumi.getter(name="minLength") def min_length(self) -> Optional[str]: """ - The minimum length. + The minimum length of a string attribute value. """ return pulumi.get(self, "min_length") @@ -2628,8 +2628,8 @@ def __init__(__self__, *, Valid values include: - - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. """ if case_sensitive is not None: pulumi.set(__self__, "case_sensitive", case_sensitive) @@ -2642,8 +2642,8 @@ def case_sensitive(self) -> Optional[bool]: Valid values include: - - **True** - Enables case sensitivity for all username input. When this option is set to `True` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. - - **False** - Enables case insensitivity for all username input. For example, when this option is set to `False` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. + - **true** - Enables case sensitivity for all username input. When this option is set to `true` , users must sign in using the exact capitalization of their given username, such as "UserName". This is the default value. + - **false** - Enables case insensitivity for all username input. For example, when this option is set to `false` , users can sign in using `username` , `USERNAME` , or `UserName` . This option also enables both `preferred_username` and `email` alias to be case insensitive, in addition to the `username` attribute. """ return pulumi.get(self, "case_sensitive") @@ -2685,7 +2685,9 @@ def __init__(__self__, *, email_subject_by_link: Optional[str] = None, sms_message: Optional[str] = None): """ - :param str default_email_option: The default email option. + :param str default_email_option: The configuration of verification emails to contain a clickable link or a verification code. + + For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . :param str email_message: The template for email messages that Amazon Cognito sends to your users. You can set an `EmailMessage` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. :param str email_message_by_link: The email message template for sending a confirmation link to the user. You can set an `EmailMessageByLink` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. :param str email_subject: The subject line for the email message template. You can set an `EmailSubject` template only if the value of [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` . When your [EmailSendingAccount](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount) is `DEVELOPER` , your user pool sends email messages with your own Amazon SES configuration. @@ -2709,7 +2711,9 @@ def __init__(__self__, *, @pulumi.getter(name="defaultEmailOption") def default_email_option(self) -> Optional[str]: """ - The default email option. + The configuration of verification emails to contain a clickable link or a verification code. + + For link, your template body must contain link text in the format `{##Click here##}` . "Click here" in the example is a customizable string. For code, your template body must contain a code placeholder in the format `{####}` . """ return pulumi.get(self, "default_email_option") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool.py b/sdk/python/pulumi_aws_native/cognito/user_pool.py index f3e5cc73c1..392ac4a110 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool.py @@ -43,7 +43,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a UserPool resource. :param pulumi.Input['UserPoolAccountRecoverySettingArgs'] account_recovery_setting: Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. - :param pulumi.Input['UserPoolAdminCreateUserConfigArgs'] admin_create_user_config: The configuration for creating a new user profile. + :param pulumi.Input['UserPoolAdminCreateUserConfigArgs'] admin_create_user_config: The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . :param pulumi.Input[Sequence[pulumi.Input[str]]] alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . > This user pool property cannot be updated. @@ -65,19 +67,15 @@ def __init__(__self__, *, - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` - :param pulumi.Input['UserPoolLambdaConfigArgs'] lambda_config: The Lambda trigger configuration information for the new user pool. - - > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - > - > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - > - > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + :param pulumi.Input['UserPoolLambdaConfigArgs'] lambda_config: A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. :param pulumi.Input[str] mfa_configuration: The multi-factor authentication (MFA) configuration. Valid values include: - `OFF` MFA won't be used for any users. - `ON` MFA is required for all users to sign in. - `OPTIONAL` MFA will be required only for individual users who have an MFA factor activated. - :param pulumi.Input['UserPoolPoliciesArgs'] policies: The policy associated with a user pool. + :param pulumi.Input['UserPoolPoliciesArgs'] policies: A list of user pool policies. Contains the policy that sets password-complexity requirements. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . :param pulumi.Input[Sequence[pulumi.Input['UserPoolSchemaAttributeArgs']]] schema: The schema attributes for the new user pool. These attributes can be standard or custom attributes. > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. @@ -96,7 +94,9 @@ def __init__(__self__, *, This user pool property cannot be updated. :param pulumi.Input['UserPoolUsernameConfigurationArgs'] username_configuration: You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. - :param pulumi.Input['UserPoolVerificationMessageTemplateArgs'] verification_message_template: The template for the verification message that the user sees when the app requests permission to access the user's information. + :param pulumi.Input['UserPoolVerificationMessageTemplateArgs'] verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + + Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. """ if account_recovery_setting is not None: pulumi.set(__self__, "account_recovery_setting", account_recovery_setting) @@ -163,7 +163,9 @@ def account_recovery_setting(self, value: Optional[pulumi.Input['UserPoolAccount @pulumi.getter(name="adminCreateUserConfig") def admin_create_user_config(self) -> Optional[pulumi.Input['UserPoolAdminCreateUserConfigArgs']]: """ - The configuration for creating a new user profile. + The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ return pulumi.get(self, "admin_create_user_config") @@ -284,13 +286,7 @@ def enabled_mfas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]] @pulumi.getter(name="lambdaConfig") def lambda_config(self) -> Optional[pulumi.Input['UserPoolLambdaConfigArgs']]: """ - The Lambda trigger configuration information for the new user pool. - - > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - > - > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - > - > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. """ return pulumi.get(self, "lambda_config") @@ -318,7 +314,9 @@ def mfa_configuration(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def policies(self) -> Optional[pulumi.Input['UserPoolPoliciesArgs']]: """ - The policy associated with a user pool. + A list of user pool policies. Contains the policy that sets password-complexity requirements. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ return pulumi.get(self, "policies") @@ -458,7 +456,9 @@ def username_configuration(self, value: Optional[pulumi.Input['UserPoolUsernameC @pulumi.getter(name="verificationMessageTemplate") def verification_message_template(self) -> Optional[pulumi.Input['UserPoolVerificationMessageTemplateArgs']]: """ - The template for the verification message that the user sees when the app requests permission to access the user's information. + The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + + Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. """ return pulumi.get(self, "verification_message_template") @@ -503,7 +503,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['UserPoolAccountRecoverySettingArgs', 'UserPoolAccountRecoverySettingArgsDict']] account_recovery_setting: Use this setting to define which verified available method a user can use to recover their password when they call `ForgotPassword` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email. - :param pulumi.Input[Union['UserPoolAdminCreateUserConfigArgs', 'UserPoolAdminCreateUserConfigArgsDict']] admin_create_user_config: The configuration for creating a new user profile. + :param pulumi.Input[Union['UserPoolAdminCreateUserConfigArgs', 'UserPoolAdminCreateUserConfigArgsDict']] admin_create_user_config: The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . :param pulumi.Input[Sequence[pulumi.Input[str]]] alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . > This user pool property cannot be updated. @@ -525,19 +527,15 @@ def __init__(__self__, - `SOFTWARE_TOKEN_MFA` - Enables software token MFA for the user pool. Allowed values: `SMS_MFA` | `SOFTWARE_TOKEN_MFA` - :param pulumi.Input[Union['UserPoolLambdaConfigArgs', 'UserPoolLambdaConfigArgsDict']] lambda_config: The Lambda trigger configuration information for the new user pool. - - > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - > - > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - > - > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + :param pulumi.Input[Union['UserPoolLambdaConfigArgs', 'UserPoolLambdaConfigArgsDict']] lambda_config: A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. :param pulumi.Input[str] mfa_configuration: The multi-factor authentication (MFA) configuration. Valid values include: - `OFF` MFA won't be used for any users. - `ON` MFA is required for all users to sign in. - `OPTIONAL` MFA will be required only for individual users who have an MFA factor activated. - :param pulumi.Input[Union['UserPoolPoliciesArgs', 'UserPoolPoliciesArgsDict']] policies: The policy associated with a user pool. + :param pulumi.Input[Union['UserPoolPoliciesArgs', 'UserPoolPoliciesArgsDict']] policies: A list of user pool policies. Contains the policy that sets password-complexity requirements. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . :param pulumi.Input[Sequence[pulumi.Input[Union['UserPoolSchemaAttributeArgs', 'UserPoolSchemaAttributeArgsDict']]]] schema: The schema attributes for the new user pool. These attributes can be standard or custom attributes. > During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute. @@ -556,7 +554,9 @@ def __init__(__self__, This user pool property cannot be updated. :param pulumi.Input[Union['UserPoolUsernameConfigurationArgs', 'UserPoolUsernameConfigurationArgsDict']] username_configuration: You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to `False` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set. - :param pulumi.Input[Union['UserPoolVerificationMessageTemplateArgs', 'UserPoolVerificationMessageTemplateArgsDict']] verification_message_template: The template for the verification message that the user sees when the app requests permission to access the user's information. + :param pulumi.Input[Union['UserPoolVerificationMessageTemplateArgs', 'UserPoolVerificationMessageTemplateArgsDict']] verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + + Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. """ ... @overload @@ -707,7 +707,9 @@ def account_recovery_setting(self) -> pulumi.Output[Optional['outputs.UserPoolAc @pulumi.getter(name="adminCreateUserConfig") def admin_create_user_config(self) -> pulumi.Output[Optional['outputs.UserPoolAdminCreateUserConfig']]: """ - The configuration for creating a new user profile. + The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ return pulumi.get(self, "admin_create_user_config") @@ -800,13 +802,7 @@ def enabled_mfas(self) -> pulumi.Output[Optional[Sequence[str]]]: @pulumi.getter(name="lambdaConfig") def lambda_config(self) -> pulumi.Output[Optional['outputs.UserPoolLambdaConfig']]: """ - The Lambda trigger configuration information for the new user pool. - - > In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function. - > - > For more information on using the Lambda API to add permission, see [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) . - > - > For adding permission using the AWS CLI , see [add-permission](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html) . + A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. """ return pulumi.get(self, "lambda_config") @@ -826,7 +822,9 @@ def mfa_configuration(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def policies(self) -> pulumi.Output[Optional['outputs.UserPoolPolicies']]: """ - The policy associated with a user pool. + A list of user pool policies. Contains the policy that sets password-complexity requirements. + + This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ return pulumi.get(self, "policies") @@ -946,7 +944,9 @@ def username_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolUser @pulumi.getter(name="verificationMessageTemplate") def verification_message_template(self) -> pulumi.Output[Optional['outputs.UserPoolVerificationMessageTemplate']]: """ - The template for the verification message that the user sees when the app requests permission to access the user's information. + The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. + + Set the email message type that corresponds to your `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK` , specify an `EmailMessageByLink` and leave `EmailMessage` blank. For `CONFIRM_WITH_CODE` , specify an `EmailMessage` and leave `EmailMessageByLink` blank. When you supply both parameters with either choice, Amazon Cognito returns an error. """ return pulumi.get(self, "verification_message_template") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_client.py b/sdk/python/pulumi_aws_native/cognito/user_pool_client.py index ce1f9ec12b..579fe19fdd 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_client.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_client.py @@ -119,9 +119,9 @@ def __init__(__self__, *, The default time unit for `IdTokenValidity` in an API request is hours. :param pulumi.Input[Sequence[pulumi.Input[str]]] logout_urls: A list of allowed logout URLs for the IdPs. :param pulumi.Input[str] prevent_user_existence_errors: Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. - :param pulumi.Input[Sequence[pulumi.Input[str]]] read_attributes: The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + :param pulumi.Input[Sequence[pulumi.Input[str]]] read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. - When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. :param pulumi.Input[int] refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. @@ -449,9 +449,9 @@ def prevent_user_existence_errors(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="readAttributes") def read_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. - When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. """ return pulumi.get(self, "read_attributes") @@ -627,9 +627,9 @@ def __init__(__self__, The default time unit for `IdTokenValidity` in an API request is hours. :param pulumi.Input[Sequence[pulumi.Input[str]]] logout_urls: A list of allowed logout URLs for the IdPs. :param pulumi.Input[str] prevent_user_existence_errors: Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to `ENABLED` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to `LEGACY` , those APIs will return a `UserNotFoundException` exception if the user does not exist in the user pool. - :param pulumi.Input[Sequence[pulumi.Input[str]]] read_attributes: The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + :param pulumi.Input[Sequence[pulumi.Input[str]]] read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. - When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. :param pulumi.Input[int] refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for `RefreshTokenValidity` as `seconds` , `minutes` , `hours` , or `days` , set a `TokenValidityUnits` value in your API request. For example, when you set `RefreshTokenValidity` as `10` and `TokenValidityUnits` as `days` , your user can refresh their session and retrieve new access and ID tokens for 10 days. @@ -989,9 +989,9 @@ def prevent_user_existence_errors(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="readAttributes") def read_attributes(self) -> pulumi.Output[Optional[Sequence[str]]]: """ - The list of user attributes that you want your app client to have read-only access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. + The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) API request to retrieve and display your user's profile data. - When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. + When you don't specify the `ReadAttributes` for your app client, your app can read the values of `email_verified` , `phone_number_verified` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, `ReadAttributes` doesn't return any information. Amazon Cognito only populates `ReadAttributes` in the API response if you have specified your own custom set of read attributes. """ return pulumi.get(self, "read_attributes") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py b/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py index 549f76741e..f3ec558031 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_risk_configuration_attachment.py @@ -24,10 +24,10 @@ def __init__(__self__, *, """ The set of arguments for constructing a UserPoolRiskConfigurationAttachment resource. :param pulumi.Input[str] client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). - :param pulumi.Input[str] user_pool_id: The user pool ID. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs'] account_takeover_risk_configuration: The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. - :param pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs'] compromised_credentials_risk_configuration: The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . - :param pulumi.Input['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs'] risk_exception_configuration: The configuration to override the risk decision. + :param pulumi.Input[str] user_pool_id: The ID of the user pool that has the risk configuration applied. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs'] account_takeover_risk_configuration: The settings for automated responses and notification templates for adaptive authentication with advanced security features. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs'] compromised_credentials_risk_configuration: Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. + :param pulumi.Input['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs'] risk_exception_configuration: Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. """ pulumi.set(__self__, "client_id", client_id) pulumi.set(__self__, "user_pool_id", user_pool_id) @@ -54,7 +54,7 @@ def client_id(self, value: pulumi.Input[str]): @pulumi.getter(name="userPoolId") def user_pool_id(self) -> pulumi.Input[str]: """ - The user pool ID. + The ID of the user pool that has the risk configuration applied. """ return pulumi.get(self, "user_pool_id") @@ -66,7 +66,7 @@ def user_pool_id(self, value: pulumi.Input[str]): @pulumi.getter(name="accountTakeoverRiskConfiguration") def account_takeover_risk_configuration(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs']]: """ - The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + The settings for automated responses and notification templates for adaptive authentication with advanced security features. """ return pulumi.get(self, "account_takeover_risk_configuration") @@ -78,7 +78,7 @@ def account_takeover_risk_configuration(self, value: Optional[pulumi.Input['User @pulumi.getter(name="compromisedCredentialsRiskConfiguration") def compromised_credentials_risk_configuration(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs']]: """ - The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. """ return pulumi.get(self, "compromised_credentials_risk_configuration") @@ -90,7 +90,7 @@ def compromised_credentials_risk_configuration(self, value: Optional[pulumi.Inpu @pulumi.getter(name="riskExceptionConfiguration") def risk_exception_configuration(self) -> Optional[pulumi.Input['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs']]: """ - The configuration to override the risk decision. + Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. """ return pulumi.get(self, "risk_exception_configuration") @@ -115,11 +115,11 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgsDict']] account_takeover_risk_configuration: The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationTypeArgsDict']] account_takeover_risk_configuration: The settings for automated responses and notification templates for adaptive authentication with advanced security features. :param pulumi.Input[str] client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to `ALL` ). - :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgsDict']] compromised_credentials_risk_configuration: The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . - :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgsDict']] risk_exception_configuration: The configuration to override the risk decision. - :param pulumi.Input[str] user_pool_id: The user pool ID. + :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationTypeArgsDict']] compromised_credentials_risk_configuration: Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. + :param pulumi.Input[Union['UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgs', 'UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationTypeArgsDict']] risk_exception_configuration: Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. + :param pulumi.Input[str] user_pool_id: The ID of the user pool that has the risk configuration applied. """ ... @overload @@ -203,7 +203,7 @@ def get(resource_name: str, @pulumi.getter(name="accountTakeoverRiskConfiguration") def account_takeover_risk_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolRiskConfigurationAttachmentAccountTakeoverRiskConfigurationType']]: """ - The account takeover risk configuration object, including the `NotifyConfiguration` object and `Actions` to take if there is an account takeover. + The settings for automated responses and notification templates for adaptive authentication with advanced security features. """ return pulumi.get(self, "account_takeover_risk_configuration") @@ -219,7 +219,7 @@ def client_id(self) -> pulumi.Output[str]: @pulumi.getter(name="compromisedCredentialsRiskConfiguration") def compromised_credentials_risk_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolRiskConfigurationAttachmentCompromisedCredentialsRiskConfigurationType']]: """ - The compromised credentials risk configuration object, including the `EventFilter` and the `EventAction` . + Settings for compromised-credentials actions and authentication types with advanced security features in full-function `ENFORCED` mode. """ return pulumi.get(self, "compromised_credentials_risk_configuration") @@ -227,7 +227,7 @@ def compromised_credentials_risk_configuration(self) -> pulumi.Output[Optional[' @pulumi.getter(name="riskExceptionConfiguration") def risk_exception_configuration(self) -> pulumi.Output[Optional['outputs.UserPoolRiskConfigurationAttachmentRiskExceptionConfigurationType']]: """ - The configuration to override the risk decision. + Exceptions to the risk evaluation configuration, including always-allow and always-block IP address ranges. """ return pulumi.get(self, "risk_exception_configuration") @@ -235,7 +235,7 @@ def risk_exception_configuration(self) -> pulumi.Output[Optional['outputs.UserPo @pulumi.getter(name="userPoolId") def user_pool_id(self) -> pulumi.Output[str]: """ - The user pool ID. + The ID of the user pool that has the risk configuration applied. """ return pulumi.get(self, "user_pool_id") diff --git a/sdk/python/pulumi_aws_native/databrew/get_ruleset.py b/sdk/python/pulumi_aws_native/databrew/get_ruleset.py index ee19835217..e13a075a58 100644 --- a/sdk/python/pulumi_aws_native/databrew/get_ruleset.py +++ b/sdk/python/pulumi_aws_native/databrew/get_ruleset.py @@ -9,7 +9,6 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs -from .. import outputs as _root_outputs from ._enums import * __all__ = [ @@ -21,16 +20,13 @@ @pulumi.output_type class GetRulesetResult: - def __init__(__self__, description=None, rules=None, tags=None): + def __init__(__self__, description=None, rules=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) if rules and not isinstance(rules, list): raise TypeError("Expected argument 'rules' to be a list") pulumi.set(__self__, "rules", rules) - if tags and not isinstance(tags, list): - raise TypeError("Expected argument 'tags' to be a list") - pulumi.set(__self__, "tags", tags) @property @pulumi.getter @@ -48,16 +44,6 @@ def rules(self) -> Optional[Sequence['outputs.RulesetRule']]: """ return pulumi.get(self, "rules") - @property - @pulumi.getter - def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: - """ - An array of key-value pairs to apply to this resource. - - For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . - """ - return pulumi.get(self, "tags") - class AwaitableGetRulesetResult(GetRulesetResult): # pylint: disable=using-constant-test @@ -66,8 +52,7 @@ def __await__(self): yield self return GetRulesetResult( description=self.description, - rules=self.rules, - tags=self.tags) + rules=self.rules) def get_ruleset(name: Optional[str] = None, @@ -85,8 +70,7 @@ def get_ruleset(name: Optional[str] = None, return AwaitableGetRulesetResult( description=pulumi.get(__ret__, 'description'), - rules=pulumi.get(__ret__, 'rules'), - tags=pulumi.get(__ret__, 'tags')) + rules=pulumi.get(__ret__, 'rules')) @_utilities.lift_output_func(get_ruleset) diff --git a/sdk/python/pulumi_aws_native/databrew/ruleset.py b/sdk/python/pulumi_aws_native/databrew/ruleset.py index 255fa5aabe..bf42d916e8 100644 --- a/sdk/python/pulumi_aws_native/databrew/ruleset.py +++ b/sdk/python/pulumi_aws_native/databrew/ruleset.py @@ -23,14 +23,14 @@ def __init__(__self__, *, target_arn: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]] = None): """ The set of arguments for constructing a Ruleset resource. :param pulumi.Input[Sequence[pulumi.Input['RulesetRuleArgs']]] rules: List of the data quality rules in the ruleset :param pulumi.Input[str] target_arn: Arn of the target resource (dataset) to apply the ruleset to :param pulumi.Input[str] description: Description of the Ruleset :param pulumi.Input[str] name: Name of the Ruleset - :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . """ @@ -93,7 +93,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]]: """ An array of key-value pairs to apply to this resource. @@ -102,7 +102,7 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagA return pulumi.get(self, "tags") @tags.setter - def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]]): pulumi.set(self, "tags", value) @@ -114,7 +114,7 @@ def __init__(__self__, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RulesetRuleArgs', 'RulesetRuleArgsDict']]]]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]]] = None, target_arn: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -125,7 +125,7 @@ def __init__(__self__, :param pulumi.Input[str] description: Description of the Ruleset :param pulumi.Input[str] name: Name of the Ruleset :param pulumi.Input[Sequence[pulumi.Input[Union['RulesetRuleArgs', 'RulesetRuleArgsDict']]]] rules: List of the data quality rules in the ruleset - :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]] tags: An array of key-value pairs to apply to this resource. For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) . :param pulumi.Input[str] target_arn: Arn of the target resource (dataset) to apply the ruleset to @@ -157,7 +157,7 @@ def _internal_init(__self__, description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RulesetRuleArgs', 'RulesetRuleArgsDict']]]]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]]] = None, target_arn: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -177,7 +177,7 @@ def _internal_init(__self__, if target_arn is None and not opts.urn: raise TypeError("Missing required property 'target_arn'") __props__.__dict__["target_arn"] = target_arn - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "targetArn"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "tags[*]", "targetArn"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Ruleset, __self__).__init__( 'aws-native:databrew:Ruleset', @@ -234,7 +234,7 @@ def rules(self) -> pulumi.Output[Sequence['outputs.RulesetRule']]: @property @pulumi.getter - def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.CreateOnlyTag']]]: """ An array of key-value pairs to apply to this resource. diff --git a/sdk/python/pulumi_aws_native/ecs/_enums.py b/sdk/python/pulumi_aws_native/ecs/_enums.py index 9a51736e16..73b331eb44 100644 --- a/sdk/python/pulumi_aws_native/ecs/_enums.py +++ b/sdk/python/pulumi_aws_native/ecs/_enums.py @@ -131,6 +131,7 @@ class ServicePlacementStrategyType(str, Enum): class ServicePropagateTags(str, Enum): """ Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. The default is ``NONE``. """ SERVICE = "SERVICE" diff --git a/sdk/python/pulumi_aws_native/ecs/_inputs.py b/sdk/python/pulumi_aws_native/ecs/_inputs.py index a86dd32448..71d01fda36 100644 --- a/sdk/python/pulumi_aws_native/ecs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ecs/_inputs.py @@ -678,11 +678,11 @@ def __init__(__self__, *, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, subnets: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. :param pulumi.Input['ServiceAwsVpcConfigurationAssignPublicIp'] assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``. - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. All specified security groups must be from the same VPC. - :param pulumi.Input[Sequence[pulumi.Input[str]]] subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. All specified subnets must be from the same VPC. """ if assign_public_ip is not None: @@ -708,7 +708,7 @@ def assign_public_ip(self, value: Optional[pulumi.Input['ServiceAwsVpcConfigurat @pulumi.getter(name="securityGroups") def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. All specified security groups must be from the same VPC. """ return pulumi.get(self, "security_groups") @@ -721,7 +721,7 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @pulumi.getter def subnets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. All specified subnets must be from the same VPC. """ return pulumi.get(self, "subnets") @@ -852,12 +852,12 @@ def __init__(__self__, *, The Service Connect configuration of your Amazon ECS service. The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input[bool] enabled: Specifies whether to use Service Connect with this service. - :param pulumi.Input['ServiceLogConfigurationArgs'] log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + :param pulumi.Input['ServiceLogConfigurationArgs'] log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -890,12 +890,12 @@ def enabled(self, value: pulumi.Input[bool]): @pulumi.getter(name="logConfiguration") def log_configuration(self) -> Optional[pulumi.Input['ServiceLogConfigurationArgs']]: """ - The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -1053,7 +1053,7 @@ class ServiceConnectTlsCertificateAuthorityArgs: def __init__(__self__, *, aws_pca_authority_arn: Optional[pulumi.Input[str]] = None): """ - An object that represents the AWS Private Certificate Authority certificate. + The certificate root authority that secures your service. :param pulumi.Input[str] aws_pca_authority_arn: The ARN of the AWS Private Certificate Authority certificate. """ if aws_pca_authority_arn is not None: @@ -1079,7 +1079,7 @@ def __init__(__self__, *, kms_key: Optional[pulumi.Input[str]] = None, role_arn: Optional[pulumi.Input[str]] = None): """ - An object that represents the configuration for Service Connect TLS. + The key that encrypts and decrypts your resources for Service Connect TLS. :param pulumi.Input['ServiceConnectTlsCertificateAuthorityArgs'] issuer_certificate_authority: The signer certificate authority. :param pulumi.Input[str] kms_key: The AWS Key Management Service key. :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS. @@ -1231,12 +1231,14 @@ def __init__(__self__, *, maximum_percent: Optional[pulumi.Input[int]] = None, minimum_healthy_percent: Optional[pulumi.Input[int]] = None): """ - The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. :param pulumi.Input['ServiceDeploymentAlarmsArgs'] alarms: Information about the CloudWatch alarms. :param pulumi.Input['ServiceDeploymentCircuitBreakerArgs'] deployment_circuit_breaker: The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide* :param pulumi.Input[int] maximum_percent: If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. :param pulumi.Input[int] minimum_healthy_percent: If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: + A service is considered healthy if all essential containers within the tasks in the service pass their health checks. @@ -1247,7 +1249,11 @@ def __init__(__self__, *, + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. """ if alarms is not None: pulumi.set(__self__, "alarms", alarms) @@ -1288,7 +1294,9 @@ def deployment_circuit_breaker(self, value: Optional[pulumi.Input['ServiceDeploy def maximum_percent(self) -> Optional[pulumi.Input[int]]: """ If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. """ return pulumi.get(self, "maximum_percent") @@ -1310,7 +1318,11 @@ def minimum_healthy_percent(self) -> Optional[pulumi.Input[int]]: + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. """ return pulumi.get(self, "minimum_healthy_percent") @@ -1499,20 +1511,20 @@ def __init__(__self__, *, options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, secret_options: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceSecretArgs']]]] = None): """ - The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. :param pulumi.Input[str] log_driver: The log driver to use for the container. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] options: The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` :param pulumi.Input[Sequence[pulumi.Input['ServiceSecretArgs']]] secret_options: The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*. @@ -1530,9 +1542,9 @@ def log_driver(self) -> Optional[pulumi.Input[str]]: """ The log driver to use for the container. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. """ return pulumi.get(self, "log_driver") @@ -1785,7 +1797,7 @@ class ServiceNetworkConfigurationArgs: def __init__(__self__, *, awsvpc_configuration: Optional[pulumi.Input['ServiceAwsVpcConfigurationArgs']] = None): """ - The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + The network configuration for a task or service. :param pulumi.Input['ServiceAwsVpcConfigurationArgs'] awsvpc_configuration: The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC. """ @@ -1812,7 +1824,8 @@ def __init__(__self__, *, type: pulumi.Input['ServicePlacementConstraintType'], expression: Optional[pulumi.Input[str]] = None): """ - The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + If you're using the Fargate launch type, task placement constraints aren't supported. :param pulumi.Input['ServicePlacementConstraintType'] type: The type of constraint. Use ``distinctInstance`` to ensure that each task in a particular group is running on a different container instance. Use ``memberOf`` to restrict the selection to a group of valid candidates. :param pulumi.Input[str] expression: A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is ``distinctInstance``. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*. """ @@ -1851,9 +1864,9 @@ def __init__(__self__, *, type: pulumi.Input['ServicePlacementStrategyType'], field: Optional[pulumi.Input[str]] = None): """ - The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input['ServicePlacementStrategyType'] type: The type of placement strategy. The ``random`` placement strategy randomly places tasks on available candidates. The ``spread`` placement strategy spreads placement across available candidates evenly based on the ``field`` parameter. The ``binpack`` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the ``field`` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task. - :param pulumi.Input[str] field: The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + :param pulumi.Input[str] field: The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. """ pulumi.set(__self__, "type", type) if field is not None: @@ -1875,7 +1888,7 @@ def type(self, value: pulumi.Input['ServicePlacementStrategyType']): @pulumi.getter def field(self) -> Optional[pulumi.Input[str]]: """ - The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. """ return pulumi.get(self, "field") @@ -1892,7 +1905,9 @@ def __init__(__self__, *, port: Optional[pulumi.Input[int]] = None, registry_arn: Optional[pulumi.Input[str]] = None): """ - The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + The details for the service registry. + Each service may be associated with one service registry. Multiple service registries for each service are not supported. + When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. :param pulumi.Input[str] container_name: The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition that your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both. :param pulumi.Input[int] container_port: The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both. :param pulumi.Input[int] port: The port value used if your service discovery service specified an SRV record. This field might be used if both the ``awsvpc`` network mode and SRV records are used. @@ -2220,15 +2235,15 @@ def __init__(__self__, *, working_directory: Optional[pulumi.Input[str]] = None): """ The ``ContainerDefinition`` property specifies a container definition. Container definitions are used in task definitions to describe the different containers that are launched as part of a task. - :param pulumi.Input[str] image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + :param pulumi.Input[str] image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``). + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``). - :param pulumi.Input[str] name: The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. - :param pulumi.Input[Sequence[pulumi.Input[str]]] command: The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. - :param pulumi.Input[int] cpu: The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + :param pulumi.Input[str] name: The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input[str]]] command: The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + :param pulumi.Input[int] cpu: The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -2250,36 +2265,36 @@ def __init__(__self__, *, + Windows platform version ``1.0.0`` or later. If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website. - :param pulumi.Input[bool] disable_networking: When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + :param pulumi.Input[bool] disable_networking: When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. This parameter is not supported for Windows containers. - :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. This parameter is not supported for Windows containers. - :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. This parameter is not supported for Windows containers. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` :param pulumi.Input[Sequence[pulumi.Input[str]]] docker_security_options: A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" :param pulumi.Input[Sequence[pulumi.Input[str]]] entry_point: Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. - :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionKeyValuePairArgs']]] environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionKeyValuePairArgs']]] environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionEnvironmentFileArgs']]] environment_files: A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored. If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying Environment Variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input[bool] essential: If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*. - :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionHostEntryArgs']]] extra_hosts: A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionHostEntryArgs']]] extra_hosts: A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. :param pulumi.Input['TaskDefinitionFirelensConfigurationArgs'] firelens_configuration: The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. - :param pulumi.Input['TaskDefinitionHealthCheckArgs'] health_check: The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. - :param pulumi.Input[str] hostname: The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + :param pulumi.Input['TaskDefinitionHealthCheckArgs'] health_check: The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. + :param pulumi.Input[str] hostname: The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. - :param pulumi.Input[bool] interactive: When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. - :param pulumi.Input[Sequence[pulumi.Input[str]]] links: The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + :param pulumi.Input[bool] interactive: When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input[str]]] links: The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. :param pulumi.Input['TaskDefinitionLinuxParametersArgs'] linux_parameters: Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html). @@ -2294,27 +2309,27 @@ def __init__(__self__, *, If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers. - :param pulumi.Input[int] memory_reservation: The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + :param pulumi.Input[int] memory_reservation: The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionMountPointArgs']]] mount_points: The mount points for data volumes in your container. - This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionPortMappingArgs']]] port_mappings: The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``. Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. This parameter maps to ``PortBindings`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping. After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses. - :param pulumi.Input[bool] privileged: When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + :param pulumi.Input[bool] privileged: When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run This parameter is not supported for Windows containers or tasks run on FARGATElong. - :param pulumi.Input[bool] pseudo_terminal: When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. - :param pulumi.Input[bool] readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + :param pulumi.Input[bool] pseudo_terminal: When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. + :param pulumi.Input[bool] readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. This parameter is not supported for Windows containers. :param pulumi.Input['TaskDefinitionRepositoryCredentialsArgs'] repository_credentials: The private repository authentication credentials to use. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionResourceRequirementArgs']]] resource_requirements: The type and amount of a resource to assign to a container. The only supported resource is a GPU. - :param pulumi.Input['TaskDefinitionRestartPolicyArgs'] restart_policy: The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + :param pulumi.Input['TaskDefinitionRestartPolicyArgs'] restart_policy: The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionSecretArgs']]] secrets: The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input[int] start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state. When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value. @@ -2332,10 +2347,10 @@ def __init__(__self__, *, The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used. For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. The valid values are 2-120 seconds. - :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionSystemControlArgs']]] system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionSystemControlArgs']]] system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionUlimitArgs']]] ulimits: A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` This parameter is not supported for Windows containers. - :param pulumi.Input[str] user: The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + :param pulumi.Input[str] user: The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. + ``user`` @@ -2346,8 +2361,8 @@ def __init__(__self__, *, + ``uid:group`` This parameter is not supported for Windows containers. - :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeFromArgs']]] volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. - :param pulumi.Input[str] working_directory: The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeFromArgs']]] volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. + :param pulumi.Input[str] working_directory: The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. """ pulumi.set(__self__, "image", image) pulumi.set(__self__, "name", name) @@ -2434,7 +2449,7 @@ def __init__(__self__, *, @pulumi.getter def image(self) -> pulumi.Input[str]: """ - The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). @@ -2451,7 +2466,7 @@ def image(self, value: pulumi.Input[str]): @pulumi.getter def name(self) -> pulumi.Input[str]: """ - The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. """ return pulumi.get(self, "name") @@ -2463,7 +2478,7 @@ def name(self, value: pulumi.Input[str]): @pulumi.getter def command(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. """ return pulumi.get(self, "command") @@ -2475,7 +2490,7 @@ def command(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def cpu(self) -> Optional[pulumi.Input[int]]: """ - The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -2530,7 +2545,7 @@ def depends_on(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TaskDef @pulumi.getter(name="disableNetworking") def disable_networking(self) -> Optional[pulumi.Input[bool]]: """ - When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. This parameter is not supported for Windows containers. """ return pulumi.get(self, "disable_networking") @@ -2543,7 +2558,7 @@ def disable_networking(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="dnsSearchDomains") def dns_search_domains(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. This parameter is not supported for Windows containers. """ return pulumi.get(self, "dns_search_domains") @@ -2556,7 +2571,7 @@ def dns_search_domains(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="dnsServers") def dns_servers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. This parameter is not supported for Windows containers. """ return pulumi.get(self, "dns_servers") @@ -2569,7 +2584,7 @@ def dns_servers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter(name="dockerLabels") def docker_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` """ return pulumi.get(self, "docker_labels") @@ -2584,7 +2599,7 @@ def docker_security_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" """ @@ -2599,7 +2614,7 @@ def docker_security_options(self, value: Optional[pulumi.Input[Sequence[pulumi.I def entry_point(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. """ return pulumi.get(self, "entry_point") @@ -2611,7 +2626,7 @@ def entry_point(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] @pulumi.getter def environment(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionKeyValuePairArgs']]]]: """ - The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. """ return pulumi.get(self, "environment") @@ -2651,7 +2666,7 @@ def essential(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="extraHosts") def extra_hosts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionHostEntryArgs']]]]: """ - A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. """ return pulumi.get(self, "extra_hosts") @@ -2676,7 +2691,7 @@ def firelens_configuration(self, value: Optional[pulumi.Input['TaskDefinitionFir @pulumi.getter(name="healthCheck") def health_check(self) -> Optional[pulumi.Input['TaskDefinitionHealthCheckArgs']]: """ - The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. """ return pulumi.get(self, "health_check") @@ -2688,7 +2703,7 @@ def health_check(self, value: Optional[pulumi.Input['TaskDefinitionHealthCheckAr @pulumi.getter def hostname(self) -> Optional[pulumi.Input[str]]: """ - The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. """ return pulumi.get(self, "hostname") @@ -2701,7 +2716,7 @@ def hostname(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def interactive(self) -> Optional[pulumi.Input[bool]]: """ - When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. """ return pulumi.get(self, "interactive") @@ -2713,7 +2728,7 @@ def interactive(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def links(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. """ @@ -2772,7 +2787,7 @@ def memory(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="memoryReservation") def memory_reservation(self) -> Optional[pulumi.Input[int]]: """ - The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. @@ -2789,7 +2804,7 @@ def memory_reservation(self, value: Optional[pulumi.Input[int]]): def mount_points(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionMountPointArgs']]]]: """ The mount points for data volumes in your container. - This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. """ return pulumi.get(self, "mount_points") @@ -2818,7 +2833,7 @@ def port_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Task @pulumi.getter def privileged(self) -> Optional[pulumi.Input[bool]]: """ - When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run This parameter is not supported for Windows containers or tasks run on FARGATElong. """ return pulumi.get(self, "privileged") @@ -2831,7 +2846,7 @@ def privileged(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="pseudoTerminal") def pseudo_terminal(self) -> Optional[pulumi.Input[bool]]: """ - When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. """ return pulumi.get(self, "pseudo_terminal") @@ -2843,7 +2858,7 @@ def pseudo_terminal(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="readonlyRootFilesystem") def readonly_root_filesystem(self) -> Optional[pulumi.Input[bool]]: """ - When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. This parameter is not supported for Windows containers. """ return pulumi.get(self, "readonly_root_filesystem") @@ -2880,7 +2895,7 @@ def resource_requirements(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @pulumi.getter(name="restartPolicy") def restart_policy(self) -> Optional[pulumi.Input['TaskDefinitionRestartPolicyArgs']]: """ - The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. """ return pulumi.get(self, "restart_policy") @@ -2942,7 +2957,7 @@ def stop_timeout(self, value: Optional[pulumi.Input[int]]): @pulumi.getter(name="systemControls") def system_controls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionSystemControlArgs']]]]: """ - A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. """ return pulumi.get(self, "system_controls") @@ -2967,7 +2982,7 @@ def ulimits(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefini @pulumi.getter def user(self) -> Optional[pulumi.Input[str]]: """ - The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. + ``user`` @@ -2989,7 +3004,7 @@ def user(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="volumesFrom") def volumes_from(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeFromArgs']]]]: """ - Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. """ return pulumi.get(self, "volumes_from") @@ -3001,7 +3016,7 @@ def volumes_from(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TaskD @pulumi.getter(name="workingDirectory") def working_directory(self) -> Optional[pulumi.Input[str]]: """ - The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. """ return pulumi.get(self, "working_directory") @@ -3128,9 +3143,9 @@ def __init__(__self__, *, The ``DockerVolumeConfiguration`` property specifies a Docker volume configuration and is used when you use Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify a ``host`` instead. :param pulumi.Input[bool] autoprovision: If this value is ``true``, the Docker volume is created if it doesn't already exist. This field is only used if the ``scope`` is ``shared``. - :param pulumi.Input[str] driver: The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + :param pulumi.Input[str] driver: The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] driver_opts: A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the docker create-volume command and the ``xxopt`` option to docker volume create. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. :param pulumi.Input[str] scope: The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops. """ if autoprovision is not None: @@ -3161,7 +3176,7 @@ def autoprovision(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def driver(self) -> Optional[pulumi.Input[str]]: """ - The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. """ return pulumi.get(self, "driver") @@ -3185,7 +3200,7 @@ def driver_opts(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str @pulumi.getter def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ - Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. """ return pulumi.get(self, "labels") @@ -3378,8 +3393,10 @@ def __init__(__self__, *, credentials_parameter: pulumi.Input[str], domain: pulumi.Input[str]): """ - :param pulumi.Input[str] credentials_parameter: The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. - :param pulumi.Input[str] domain: A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + :param pulumi.Input[str] credentials_parameter: The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + :param pulumi.Input[str] domain: A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. """ pulumi.set(__self__, "credentials_parameter", credentials_parameter) pulumi.set(__self__, "domain", domain) @@ -3388,7 +3405,7 @@ def __init__(__self__, *, @pulumi.getter(name="credentialsParameter") def credentials_parameter(self) -> pulumi.Input[str]: """ - The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. """ return pulumi.get(self, "credentials_parameter") @@ -3400,7 +3417,7 @@ def credentials_parameter(self, value: pulumi.Input[str]): @pulumi.getter def domain(self) -> pulumi.Input[str]: """ - A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. """ return pulumi.get(self, "domain") @@ -3533,7 +3550,7 @@ def __init__(__self__, *, ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command :param pulumi.Input[int] interval: The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds. :param pulumi.Input[int] retries: The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3. :param pulumi.Input[int] start_period: The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off. @@ -3560,7 +3577,7 @@ def command(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command """ return pulumi.get(self, "command") @@ -3731,10 +3748,10 @@ def __init__(__self__, *, drop: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page. - :param pulumi.Input[Sequence[pulumi.Input[str]]] add: The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input[str]]] add: The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` - :param pulumi.Input[Sequence[pulumi.Input[str]]] drop: The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input[str]]] drop: The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` """ if add is not None: @@ -3746,7 +3763,7 @@ def __init__(__self__, *, @pulumi.getter def add(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` """ @@ -3760,7 +3777,7 @@ def add(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.getter def drop(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ - The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` """ return pulumi.get(self, "drop") @@ -3824,7 +3841,7 @@ def __init__(__self__, *, The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html). :param pulumi.Input['TaskDefinitionKernelCapabilitiesArgs'] capabilities: The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later. - :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionDeviceArgs']]] devices: Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionDeviceArgs']]] devices: Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. :param pulumi.Input[bool] init_process_enabled: Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` :param pulumi.Input[int] max_swap: The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to docker run where the value would be the sum of the container memory plus the ``maxSwap`` value. @@ -3871,7 +3888,7 @@ def capabilities(self, value: Optional[pulumi.Input['TaskDefinitionKernelCapabil @pulumi.getter def devices(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionDeviceArgs']]]]: """ - Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. """ return pulumi.get(self, "devices") @@ -4426,9 +4443,10 @@ def __init__(__self__, *, ignored_exit_codes: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None, restart_attempt_period: Optional[pulumi.Input[int]] = None): """ + You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input[bool] enabled: Specifies whether a restart policy is enabled for the container. :param pulumi.Input[Sequence[pulumi.Input[int]]] ignored_exit_codes: A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes. - :param pulumi.Input[int] restart_attempt_period: A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + :param pulumi.Input[int] restart_attempt_period: A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. """ if enabled is not None: pulumi.set(__self__, "enabled", enabled) @@ -4465,7 +4483,7 @@ def ignored_exit_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="restartAttemptPeriod") def restart_attempt_period(self) -> Optional[pulumi.Input[int]]: """ - A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. """ return pulumi.get(self, "restart_attempt_period") @@ -4569,7 +4587,7 @@ def __init__(__self__, *, namespace: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ - A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. diff --git a/sdk/python/pulumi_aws_native/ecs/get_service.py b/sdk/python/pulumi_aws_native/ecs/get_service.py index 4220740f37..62a75cc8a4 100644 --- a/sdk/python/pulumi_aws_native/ecs/get_service.py +++ b/sdk/python/pulumi_aws_native/ecs/get_service.py @@ -182,6 +182,7 @@ def platform_version(self) -> Optional[str]: def propagate_tags(self) -> Optional['ServicePropagateTags']: """ Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. The default is ``NONE``. """ return pulumi.get(self, "propagate_tags") @@ -260,8 +261,8 @@ def get_service(cluster: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServiceResult: """ The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. :param str cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. @@ -299,8 +300,8 @@ def get_service_output(cluster: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServiceResult]: """ The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. :param str cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed. diff --git a/sdk/python/pulumi_aws_native/ecs/outputs.py b/sdk/python/pulumi_aws_native/ecs/outputs.py index b1aa40e74e..fcfcc48285 100644 --- a/sdk/python/pulumi_aws_native/ecs/outputs.py +++ b/sdk/python/pulumi_aws_native/ecs/outputs.py @@ -742,7 +742,7 @@ def value(self) -> Optional[str]: @pulumi.output_type class ServiceAwsVpcConfiguration(dict): """ - An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. """ @staticmethod def __key_warning(key: str): @@ -768,11 +768,11 @@ def __init__(__self__, *, security_groups: Optional[Sequence[str]] = None, subnets: Optional[Sequence[str]] = None): """ - An object representing the networking details for a task or service. For example ``awsvpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` + An object representing the networking details for a task or service. For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}``. :param 'ServiceAwsVpcConfigurationAssignPublicIp' assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED``. - :param Sequence[str] security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + :param Sequence[str] security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. All specified security groups must be from the same VPC. - :param Sequence[str] subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + :param Sequence[str] subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. All specified subnets must be from the same VPC. """ if assign_public_ip is not None: @@ -794,7 +794,7 @@ def assign_public_ip(self) -> Optional['ServiceAwsVpcConfigurationAssignPublicIp @pulumi.getter(name="securityGroups") def security_groups(self) -> Optional[Sequence[str]]: """ - The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration``. + The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration``. All specified security groups must be from the same VPC. """ return pulumi.get(self, "security_groups") @@ -803,7 +803,7 @@ def security_groups(self) -> Optional[Sequence[str]]: @pulumi.getter def subnets(self) -> Optional[Sequence[str]]: """ - The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration``. + The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration``. All specified subnets must be from the same VPC. """ return pulumi.get(self, "subnets") @@ -976,12 +976,12 @@ def __init__(__self__, *, The Service Connect configuration of your Amazon ECS service. The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the *Amazon Elastic Container Service Developer Guide*. :param bool enabled: Specifies whether to use Service Connect with this service. - :param 'ServiceLogConfiguration' log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + :param 'ServiceLogConfiguration' log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -1010,12 +1010,12 @@ def enabled(self) -> bool: @pulumi.getter(name="logConfiguration") def log_configuration(self) -> Optional['outputs.ServiceLogConfiguration']: """ - The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -1161,7 +1161,7 @@ def tls(self) -> Optional['outputs.ServiceConnectTlsConfiguration']: @pulumi.output_type class ServiceConnectTlsCertificateAuthority(dict): """ - An object that represents the AWS Private Certificate Authority certificate. + The certificate root authority that secures your service. """ @staticmethod def __key_warning(key: str): @@ -1183,7 +1183,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, aws_pca_authority_arn: Optional[str] = None): """ - An object that represents the AWS Private Certificate Authority certificate. + The certificate root authority that secures your service. :param str aws_pca_authority_arn: The ARN of the AWS Private Certificate Authority certificate. """ if aws_pca_authority_arn is not None: @@ -1201,7 +1201,7 @@ def aws_pca_authority_arn(self) -> Optional[str]: @pulumi.output_type class ServiceConnectTlsConfiguration(dict): """ - An object that represents the configuration for Service Connect TLS. + The key that encrypts and decrypts your resources for Service Connect TLS. """ @staticmethod def __key_warning(key: str): @@ -1229,7 +1229,7 @@ def __init__(__self__, *, kms_key: Optional[str] = None, role_arn: Optional[str] = None): """ - An object that represents the configuration for Service Connect TLS. + The key that encrypts and decrypts your resources for Service Connect TLS. :param 'ServiceConnectTlsCertificateAuthority' issuer_certificate_authority: The signer certificate authority. :param str kms_key: The AWS Key Management Service key. :param str role_arn: The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS. @@ -1372,7 +1372,7 @@ def rollback(self) -> bool: @pulumi.output_type class ServiceDeploymentConfiguration(dict): """ - The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. """ @staticmethod def __key_warning(key: str): @@ -1401,12 +1401,14 @@ def __init__(__self__, *, maximum_percent: Optional[int] = None, minimum_healthy_percent: Optional[int] = None): """ - The ``DeploymentConfiguration`` property specifies optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks. + Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks. :param 'ServiceDeploymentAlarms' alarms: Information about the CloudWatch alarms. :param 'ServiceDeploymentCircuitBreaker' deployment_circuit_breaker: The deployment circuit breaker can only be used for services using the rolling update (``ECS``) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the *Amazon Elastic Container Service Developer Guide* :param int maximum_percent: If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. :param int minimum_healthy_percent: If a service is using the rolling update (``ECS``) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: + A service is considered healthy if all essential containers within the tasks in the service pass their health checks. @@ -1417,7 +1419,11 @@ def __init__(__self__, *, + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. """ if alarms is not None: pulumi.set(__self__, "alarms", alarms) @@ -1450,7 +1456,9 @@ def deployment_circuit_breaker(self) -> Optional['outputs.ServiceDeploymentCircu def maximum_percent(self) -> Optional[int]: """ If a service is using the rolling update (``ECS``) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service. """ return pulumi.get(self, "maximum_percent") @@ -1468,7 +1476,11 @@ def minimum_healthy_percent(self) -> Optional[int]: + If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. + If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. + The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. + The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent``/100, rounded up to the nearest integer value. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. + You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. + If a service is using either the blue/green (``CODE_DEPLOY``) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service. """ return pulumi.get(self, "minimum_healthy_percent") @@ -1670,12 +1682,12 @@ def target_group_arn(self) -> Optional[str]: @pulumi.output_type class ServiceLogConfiguration(dict): """ - The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. @@ -1704,20 +1716,20 @@ def __init__(__self__, *, options: Optional[Mapping[str, str]] = None, secret_options: Optional[Sequence['outputs.ServiceSecret']] = None): """ - The log configuration for the container. This parameter maps to ``LogConfig`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--log-driver`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/commandline/run/). - By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. For more information about the options for different supported log drivers, see [Configure logging drivers](https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/) in the Docker documentation. + The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. + By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. + Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``,``syslog``, ``splunk``, and ``awsfirelens``. + This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. + For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see [Amazon ECS container agent configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks that are on FARGATElong, because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to. :param str log_driver: The log driver to use for the container. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. :param Mapping[str, str] options: The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` :param Sequence['ServiceSecret'] secret_options: The secrets to pass to the log configuration. For more information, see [Specifying sensitive data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*. @@ -1735,9 +1747,9 @@ def log_driver(self) -> Optional[str]: """ The log driver to use for the container. For tasks on FARGATElong, the supported log drivers are ``awslogs``, ``splunk``, and ``awsfirelens``. - For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``logentries``,``syslog``, ``splunk``, and ``awsfirelens``. - For more information about using the ``awslogs`` log driver, see [Using the awslogs log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. - For more information about using the ``awsfirelens`` log driver, see [Custom log routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. + For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs``, ``fluentd``, ``gelf``, ``json-file``, ``journald``, ``syslog``, ``splunk``, and ``awsfirelens``. + For more information about using the ``awslogs`` log driver, see [Send Amazon ECS logs to CloudWatch](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) in the *Amazon Elastic Container Service Developer Guide*. + For more information about using the ``awsfirelens`` log driver, see [Send Amazon ECS logs to an service or Partner](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html). If you have a custom driver that isn't listed, you can fork the Amazon ECS container agent project that's [available on GitHub](https://docs.aws.amazon.com/https://github.com/aws/amazon-ecs-agent) and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we don't currently provide support for running modified copies of this software. """ return pulumi.get(self, "log_driver") @@ -1969,7 +1981,7 @@ def volume_type(self) -> Optional[str]: @pulumi.output_type class ServiceNetworkConfiguration(dict): """ - The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + The network configuration for a task or service. """ @staticmethod def __key_warning(key: str): @@ -1991,7 +2003,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, awsvpc_configuration: Optional['outputs.ServiceAwsVpcConfiguration'] = None): """ - The ``NetworkConfiguration`` property specifies an object representing the network configuration for a task or service. + The network configuration for a task or service. :param 'ServiceAwsVpcConfiguration' awsvpc_configuration: The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC. """ @@ -2011,13 +2023,15 @@ def awsvpc_configuration(self) -> Optional['outputs.ServiceAwsVpcConfiguration'] @pulumi.output_type class ServicePlacementConstraint(dict): """ - The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + If you're using the Fargate launch type, task placement constraints aren't supported. """ def __init__(__self__, *, type: 'ServicePlacementConstraintType', expression: Optional[str] = None): """ - The ``PlacementConstraint`` property specifies an object representing a constraint on task placement in the task definition. For more information, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + An object representing a constraint on task placement. For more information, see [Task placement constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the *Amazon Elastic Container Service Developer Guide*. + If you're using the Fargate launch type, task placement constraints aren't supported. :param 'ServicePlacementConstraintType' type: The type of constraint. Use ``distinctInstance`` to ensure that each task in a particular group is running on a different container instance. Use ``memberOf`` to restrict the selection to a group of valid candidates. :param str expression: A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is ``distinctInstance``. For more information, see [Cluster query language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the *Amazon Elastic Container Service Developer Guide*. """ @@ -2045,15 +2059,15 @@ def expression(self) -> Optional[str]: @pulumi.output_type class ServicePlacementStrategy(dict): """ - The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. """ def __init__(__self__, *, type: 'ServicePlacementStrategyType', field: Optional[str] = None): """ - The ``PlacementStrategy`` property specifies the task placement strategy for a task or service. For more information, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. + The task placement strategy for a task or service. For more information, see [Task placement strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the *Amazon Elastic Container Service Developer Guide*. :param 'ServicePlacementStrategyType' type: The type of placement strategy. The ``random`` placement strategy randomly places tasks on available candidates. The ``spread`` placement strategy spreads placement across available candidates evenly based on the ``field`` parameter. The ``binpack`` strategy places tasks on available candidates that have the least available amount of the resource that's specified with the ``field`` parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task. - :param str field: The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + :param str field: The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. """ pulumi.set(__self__, "type", type) if field is not None: @@ -2071,7 +2085,7 @@ def type(self) -> 'ServicePlacementStrategyType': @pulumi.getter def field(self) -> Optional[str]: """ - The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``CPU`` and ``MEMORY``. For the ``random`` placement strategy, this field is not used. + The field to apply the placement strategy against. For the ``spread`` placement strategy, valid values are ``instanceId`` (or ``host``, which has the same effect), or any platform or custom attribute that's applied to a container instance, such as ``attribute:ecs.availability-zone``. For the ``binpack`` placement strategy, valid values are ``cpu`` and ``memory``. For the ``random`` placement strategy, this field is not used. """ return pulumi.get(self, "field") @@ -2079,7 +2093,9 @@ def field(self) -> Optional[str]: @pulumi.output_type class ServiceRegistry(dict): """ - The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + The details for the service registry. + Each service may be associated with one service registry. Multiple service registries for each service are not supported. + When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. """ @staticmethod def __key_warning(key: str): @@ -2108,7 +2124,9 @@ def __init__(__self__, *, port: Optional[int] = None, registry_arn: Optional[str] = None): """ - The ``ServiceRegistry`` property specifies details of the service registry. For more information, see [Service Discovery](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the *Amazon Elastic Container Service Developer Guide*. + The details for the service registry. + Each service may be associated with one service registry. Multiple service registries for each service are not supported. + When you add, update, or remove the service registries configuration, Amazon ECS starts a new deployment. New tasks are registered and deregistered to the updated service registry configuration. :param str container_name: The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition that your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both. :param int container_port: The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the ``bridge`` or ``host`` network mode, you must specify a ``containerName`` and ``containerPort`` combination from the task definition. If the task definition your service task specifies uses the ``awsvpc`` network mode and a type SRV DNS record is used, you must specify either a ``containerName`` and ``containerPort`` combination or a ``port`` value. However, you can't specify both. :param int port: The port value used if your service discovery service specified an SRV record. This field might be used if both the ``awsvpc`` network mode and SRV records are used. @@ -2550,15 +2568,15 @@ def __init__(__self__, *, working_directory: Optional[str] = None): """ The ``ContainerDefinition`` property specifies a container definition. Container definitions are used in task definitions to describe the different containers that are launched as part of a task. - :param str image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + :param str image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). + Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent``). + Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu``). - :param str name: The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. - :param Sequence[str] command: The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. - :param int cpu: The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + :param str name: The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. + :param Sequence[str] command: The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + :param int cpu: The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -2580,36 +2598,36 @@ def __init__(__self__, *, + Windows platform version ``1.0.0`` or later. If the task definition is used in a blue/green deployment that uses [AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html), the ``dependsOn`` parameter is not supported. For more information see [Issue #680](https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680) on the on the GitHub website. - :param bool disable_networking: When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + :param bool disable_networking: When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. This parameter is not supported for Windows containers. - :param Sequence[str] dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + :param Sequence[str] dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. This parameter is not supported for Windows containers. - :param Sequence[str] dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + :param Sequence[str] dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. This parameter is not supported for Windows containers. - :param Mapping[str, str] docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + :param Mapping[str, str] docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` :param Sequence[str] docker_security_options: A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" :param Sequence[str] entry_point: Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. - :param Sequence['TaskDefinitionKeyValuePair'] environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. + :param Sequence['TaskDefinitionKeyValuePair'] environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. :param Sequence['TaskDefinitionEnvironmentFile'] environment_files: A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored. If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see [Specifying Environment Variables](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) in the *Amazon Elastic Container Service Developer Guide*. :param bool essential: If the ``essential`` parameter of a container is marked as ``true``, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false``, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see [Application Architecture](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) in the *Amazon Elastic Container Service Developer Guide*. - :param Sequence['TaskDefinitionHostEntry'] extra_hosts: A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + :param Sequence['TaskDefinitionHostEntry'] extra_hosts: A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. :param 'TaskDefinitionFirelensConfiguration' firelens_configuration: The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see [Custom Log Routing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) in the *Amazon Elastic Container Service Developer Guide*. - :param 'TaskDefinitionHealthCheck' health_check: The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. - :param str hostname: The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + :param 'TaskDefinitionHealthCheck' health_check: The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. + :param str hostname: The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. - :param bool interactive: When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. - :param Sequence[str] links: The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + :param bool interactive: When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. + :param Sequence[str] links: The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. :param 'TaskDefinitionLinuxParameters' linux_parameters: Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html). @@ -2624,27 +2642,27 @@ def __init__(__self__, *, If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers. - :param int memory_reservation: The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + :param int memory_reservation: The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers. :param Sequence['TaskDefinitionMountPoint'] mount_points: The mount points for data volumes in your container. - This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. :param Sequence['TaskDefinitionPortMapping'] port_mappings: The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort``. The ``hostPort`` can be left blank or it must be the same value as the ``containerPort``. Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost``. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. This parameter maps to ``PortBindings`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--publish`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). If the network mode of a task definition is set to ``none``, then you can't specify port mappings. If the network mode of a task definition is set to ``host``, then host ports must either be undefined or they must match the container port in the port mapping. After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) responses. - :param bool privileged: When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + :param bool privileged: When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run This parameter is not supported for Windows containers or tasks run on FARGATElong. - :param bool pseudo_terminal: When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. - :param bool readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + :param bool pseudo_terminal: When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. + :param bool readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. This parameter is not supported for Windows containers. :param 'TaskDefinitionRepositoryCredentials' repository_credentials: The private repository authentication credentials to use. :param Sequence['TaskDefinitionResourceRequirement'] resource_requirements: The type and amount of a resource to assign to a container. The only supported resource is a GPU. - :param 'TaskDefinitionRestartPolicy' restart_policy: The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + :param 'TaskDefinitionRestartPolicy' restart_policy: The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. :param Sequence['TaskDefinitionSecret'] secrets: The secrets to pass to the container. For more information, see [Specifying Sensitive Data](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) in the *Amazon Elastic Container Service Developer Guide*. :param int start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE``, ``SUCCESS``, or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state. When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value. @@ -2662,10 +2680,10 @@ def __init__(__self__, *, The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used. For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) in the *Amazon Elastic Container Service Developer Guide*. If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then they contain the required versions of the container agent and ``ecs-init``. For more information, see [Amazon ECS-optimized Linux AMI](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) in the *Amazon Elastic Container Service Developer Guide*. The valid values are 2-120 seconds. - :param Sequence['TaskDefinitionSystemControl'] system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + :param Sequence['TaskDefinitionSystemControl'] system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. :param Sequence['TaskDefinitionUlimit'] ulimits: A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the [Create a container](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section of the [Docker Remote API](https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/) and the ``--ulimit`` option to [docker run](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/). Valid naming values are displayed in the [Ulimit](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html) data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` This parameter is not supported for Windows containers. - :param str user: The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + :param str user: The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. + ``user`` @@ -2676,8 +2694,8 @@ def __init__(__self__, *, + ``uid:group`` This parameter is not supported for Windows containers. - :param Sequence['TaskDefinitionVolumeFrom'] volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. - :param str working_directory: The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + :param Sequence['TaskDefinitionVolumeFrom'] volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. + :param str working_directory: The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. """ pulumi.set(__self__, "image", image) pulumi.set(__self__, "name", name) @@ -2764,7 +2782,7 @@ def __init__(__self__, *, @pulumi.getter def image(self) -> str: """ - The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. + The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``repository-url/image:tag`` or ``repository-url/image@digest``. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. + When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. + Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest``. For example, ``012345678910.dkr.ecr..amazonaws.com/:latest`` or ``012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE``. + Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo``). @@ -2777,7 +2795,7 @@ def image(self) -> str: @pulumi.getter def name(self) -> str: """ - The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run. + The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run. """ return pulumi.get(self, "name") @@ -2785,7 +2803,7 @@ def name(self) -> str: @pulumi.getter def command(self) -> Optional[Sequence[str]]: """ - The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. + The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. """ return pulumi.get(self, "command") @@ -2793,7 +2811,7 @@ def command(self) -> Optional[Sequence[str]]: @pulumi.getter def cpu(self) -> Optional[int]: """ - The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. + The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](https://docs.aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. @@ -2836,7 +2854,7 @@ def depends_on(self) -> Optional[Sequence['outputs.TaskDefinitionContainerDepend @pulumi.getter(name="disableNetworking") def disable_networking(self) -> Optional[bool]: """ - When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. + When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. This parameter is not supported for Windows containers. """ return pulumi.get(self, "disable_networking") @@ -2845,7 +2863,7 @@ def disable_networking(self) -> Optional[bool]: @pulumi.getter(name="dnsSearchDomains") def dns_search_domains(self) -> Optional[Sequence[str]]: """ - A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. + A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. This parameter is not supported for Windows containers. """ return pulumi.get(self, "dns_search_domains") @@ -2854,7 +2872,7 @@ def dns_search_domains(self) -> Optional[Sequence[str]]: @pulumi.getter(name="dnsServers") def dns_servers(self) -> Optional[Sequence[str]]: """ - A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. + A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. This parameter is not supported for Windows containers. """ return pulumi.get(self, "dns_servers") @@ -2863,7 +2881,7 @@ def dns_servers(self) -> Optional[Sequence[str]]: @pulumi.getter(name="dockerLabels") def docker_labels(self) -> Optional[Mapping[str, str]]: """ - A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` + A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` """ return pulumi.get(self, "docker_labels") @@ -2874,7 +2892,7 @@ def docker_security_options(self) -> Optional[Sequence[str]]: A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see [Using gMSAs for Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) and [Using gMSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html) in the *Amazon Elastic Container Service Developer Guide*. - This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. + This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see [Amazon ECS Container Agent Configuration](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) in the *Amazon Elastic Container Service Developer Guide*. Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath" """ @@ -2885,7 +2903,7 @@ def docker_security_options(self) -> Optional[Sequence[str]]: def entry_point(self) -> Optional[Sequence[str]]: """ Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint``, update your container agent or enter your commands and arguments as ``command`` array items instead. - The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run. + The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run. """ return pulumi.get(self, "entry_point") @@ -2893,7 +2911,7 @@ def entry_point(self) -> Optional[Sequence[str]]: @pulumi.getter def environment(self) -> Optional[Sequence['outputs.TaskDefinitionKeyValuePair']]: """ - The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. + The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. We don't recommend that you use plaintext environment variables for sensitive information, such as credential data. """ return pulumi.get(self, "environment") @@ -2921,7 +2939,7 @@ def essential(self) -> Optional[bool]: @pulumi.getter(name="extraHosts") def extra_hosts(self) -> Optional[Sequence['outputs.TaskDefinitionHostEntry']]: """ - A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. + A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode. """ return pulumi.get(self, "extra_hosts") @@ -2938,7 +2956,7 @@ def firelens_configuration(self) -> Optional['outputs.TaskDefinitionFirelensConf @pulumi.getter(name="healthCheck") def health_check(self) -> Optional['outputs.TaskDefinitionHealthCheck']: """ - The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run. + The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run. """ return pulumi.get(self, "health_check") @@ -2946,7 +2964,7 @@ def health_check(self) -> Optional['outputs.TaskDefinitionHealthCheck']: @pulumi.getter def hostname(self) -> Optional[str]: """ - The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. + The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode. """ return pulumi.get(self, "hostname") @@ -2955,7 +2973,7 @@ def hostname(self) -> Optional[str]: @pulumi.getter def interactive(self) -> Optional[bool]: """ - When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run. + When this parameter is ``true``, you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run. """ return pulumi.get(self, "interactive") @@ -2963,7 +2981,7 @@ def interactive(self) -> Optional[bool]: @pulumi.getter def links(self) -> Optional[Sequence[str]]: """ - The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. + The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge``. The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. This parameter is not supported for Windows containers. Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings. """ @@ -3006,7 +3024,7 @@ def memory(self) -> Optional[int]: @pulumi.getter(name="memoryReservation") def memory_reservation(self) -> Optional[int]: """ - The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. + The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation``. If you specify ``memoryReservation``, then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. @@ -3019,7 +3037,7 @@ def memory_reservation(self) -> Optional[int]: def mount_points(self) -> Optional[Sequence['outputs.TaskDefinitionMountPoint']]: """ The mount points for data volumes in your container. - This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. + This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. Windows containers can mount whole directories on the same drive as ``$env:ProgramData``. Windows containers can't mount directories on a different drive, and mount point can't be across drives. """ return pulumi.get(self, "mount_points") @@ -3040,7 +3058,7 @@ def port_mappings(self) -> Optional[Sequence['outputs.TaskDefinitionPortMapping' @pulumi.getter def privileged(self) -> Optional[bool]: """ - When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run + When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run This parameter is not supported for Windows containers or tasks run on FARGATElong. """ return pulumi.get(self, "privileged") @@ -3049,7 +3067,7 @@ def privileged(self) -> Optional[bool]: @pulumi.getter(name="pseudoTerminal") def pseudo_terminal(self) -> Optional[bool]: """ - When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run. + When this parameter is ``true``, a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run. """ return pulumi.get(self, "pseudo_terminal") @@ -3057,7 +3075,7 @@ def pseudo_terminal(self) -> Optional[bool]: @pulumi.getter(name="readonlyRootFilesystem") def readonly_root_filesystem(self) -> Optional[bool]: """ - When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. + When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. This parameter is not supported for Windows containers. """ return pulumi.get(self, "readonly_root_filesystem") @@ -3082,7 +3100,7 @@ def resource_requirements(self) -> Optional[Sequence['outputs.TaskDefinitionReso @pulumi.getter(name="restartPolicy") def restart_policy(self) -> Optional['outputs.TaskDefinitionRestartPolicy']: """ - The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide* . + The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. """ return pulumi.get(self, "restart_policy") @@ -3128,7 +3146,7 @@ def stop_timeout(self) -> Optional[int]: @pulumi.getter(name="systemControls") def system_controls(self) -> Optional[Sequence['outputs.TaskDefinitionSystemControl']]: """ - A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. """ return pulumi.get(self, "system_controls") @@ -3145,7 +3163,7 @@ def ulimits(self) -> Optional[Sequence['outputs.TaskDefinitionUlimit']]: @pulumi.getter def user(self) -> Optional[str]: """ - The user to use inside the container. This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run. + The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. + ``user`` @@ -3163,7 +3181,7 @@ def user(self) -> Optional[str]: @pulumi.getter(name="volumesFrom") def volumes_from(self) -> Optional[Sequence['outputs.TaskDefinitionVolumeFrom']]: """ - Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run. + Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run. """ return pulumi.get(self, "volumes_from") @@ -3171,7 +3189,7 @@ def volumes_from(self) -> Optional[Sequence['outputs.TaskDefinitionVolumeFrom']] @pulumi.getter(name="workingDirectory") def working_directory(self) -> Optional[str]: """ - The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run. + The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run. """ return pulumi.get(self, "working_directory") @@ -3338,9 +3356,9 @@ def __init__(__self__, *, The ``DockerVolumeConfiguration`` property specifies a Docker volume configuration and is used when you use Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify a ``host`` instead. :param bool autoprovision: If this value is ``true``, the Docker volume is created if it doesn't already exist. This field is only used if the ``scope`` is ``shared``. - :param str driver: The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + :param str driver: The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. :param Mapping[str, str] driver_opts: A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the docker create-volume command and the ``xxopt`` option to docker volume create. - :param Mapping[str, str] labels: Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + :param Mapping[str, str] labels: Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. :param str scope: The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops. """ if autoprovision is not None: @@ -3367,7 +3385,7 @@ def autoprovision(self) -> Optional[bool]: @pulumi.getter def driver(self) -> Optional[str]: """ - The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create. + The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create. """ return pulumi.get(self, "driver") @@ -3383,7 +3401,7 @@ def driver_opts(self) -> Optional[Mapping[str, str]]: @pulumi.getter def labels(self) -> Optional[Mapping[str, str]]: """ - Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create. + Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create. """ return pulumi.get(self, "labels") @@ -3596,6 +3614,10 @@ def size_in_gi_b(self) -> Optional[int]: @pulumi.output_type class TaskDefinitionFSxAuthorizationConfig(dict): + """ + The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -3617,8 +3639,10 @@ def __init__(__self__, *, credentials_parameter: str, domain: str): """ - :param str credentials_parameter: The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. - :param str domain: A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + The authorization configuration details for Amazon FSx for Windows File Server file system. See [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) in the *Amazon ECS API Reference*. + For more information and the input format, see [Amazon FSx for Windows File Server Volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) in the *Amazon Elastic Container Service Developer Guide*. + :param str credentials_parameter: The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + :param str domain: A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. """ pulumi.set(__self__, "credentials_parameter", credentials_parameter) pulumi.set(__self__, "domain", domain) @@ -3627,7 +3651,7 @@ def __init__(__self__, *, @pulumi.getter(name="credentialsParameter") def credentials_parameter(self) -> str: """ - The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. + The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an ASMlong secret or SSM Parameter Store parameter. The ARN refers to the stored credentials. """ return pulumi.get(self, "credentials_parameter") @@ -3635,7 +3659,7 @@ def credentials_parameter(self) -> str: @pulumi.getter def domain(self) -> str: """ - A fully qualified domain name hosted by an [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. + A fully qualified domain name hosted by an [](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. """ return pulumi.get(self, "domain") @@ -3798,7 +3822,7 @@ def __init__(__self__, *, ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command :param int interval: The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds. :param int retries: The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3. :param int start_period: The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off. @@ -3825,7 +3849,7 @@ def command(self) -> Optional[Sequence[str]]: ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` - An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command + An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command """ return pulumi.get(self, "command") @@ -4021,10 +4045,10 @@ def __init__(__self__, *, drop: Optional[Sequence[str]] = None): """ The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more detailed information about these Linux capabilities, see the [capabilities(7)](https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html) Linux manual page. - :param Sequence[str] add: The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + :param Sequence[str] add: The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` - :param Sequence[str] drop: The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + :param Sequence[str] drop: The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` """ if add is not None: @@ -4036,7 +4060,7 @@ def __init__(__self__, *, @pulumi.getter def add(self) -> Optional[Sequence[str]]: """ - The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. + The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. Tasks launched on FARGATElong only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` """ @@ -4046,7 +4070,7 @@ def add(self) -> Optional[Sequence[str]]: @pulumi.getter def drop(self) -> Optional[Sequence[str]]: """ - The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. + The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`` """ return pulumi.get(self, "drop") @@ -4125,7 +4149,7 @@ def __init__(__self__, *, The Linux-specific options that are applied to the container, such as Linux [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html). :param 'TaskDefinitionKernelCapabilities' capabilities: The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later. - :param Sequence['TaskDefinitionDevice'] devices: Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + :param Sequence['TaskDefinitionDevice'] devices: Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. :param bool init_process_enabled: Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` :param int max_swap: The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to docker run where the value would be the sum of the container memory plus the ``maxSwap`` value. @@ -4168,7 +4192,7 @@ def capabilities(self) -> Optional['outputs.TaskDefinitionKernelCapabilities']: @pulumi.getter def devices(self) -> Optional[Sequence['outputs.TaskDefinitionDevice']]: """ - Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. + Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported. """ return pulumi.get(self, "devices") @@ -4738,6 +4762,9 @@ def value(self) -> str: @pulumi.output_type class TaskDefinitionRestartPolicy(dict): + """ + You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -4762,9 +4789,10 @@ def __init__(__self__, *, ignored_exit_codes: Optional[Sequence[int]] = None, restart_attempt_period: Optional[int] = None): """ + You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability. When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see [Restart individual containers in Amazon ECS tasks with container restart policies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html) in the *Amazon Elastic Container Service Developer Guide*. :param bool enabled: Specifies whether a restart policy is enabled for the container. :param Sequence[int] ignored_exit_codes: A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes. - :param int restart_attempt_period: A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + :param int restart_attempt_period: A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. """ if enabled is not None: pulumi.set(__self__, "enabled", enabled) @@ -4793,7 +4821,7 @@ def ignored_exit_codes(self) -> Optional[Sequence[int]]: @pulumi.getter(name="restartAttemptPeriod") def restart_attempt_period(self) -> Optional[int]: """ - A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every `restartAttemptPeriod` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum `restartAttemptPeriod` of 60 seconds and a maximum `restartAttemptPeriod` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. + A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted. """ return pulumi.get(self, "restart_attempt_period") @@ -4921,7 +4949,7 @@ def value_from(self) -> str: @pulumi.output_type class TaskDefinitionSystemControl(dict): """ - A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. @@ -4937,7 +4965,7 @@ def __init__(__self__, *, namespace: Optional[str] = None, value: Optional[str] = None): """ - A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. + A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections. We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages: + For tasks that use the ``awsvpc`` network mode including Fargate, if you set ``systemControls`` for any container, it applies to all containers in the task. If you set different ``systemControls`` for multiple containers in a single task, the container that's started last determines which ``systemControls`` take effect. + For tasks that use the ``host`` network mode, the network namespace ``systemControls`` aren't supported. diff --git a/sdk/python/pulumi_aws_native/ecs/service.py b/sdk/python/pulumi_aws_native/ecs/service.py index 404b4f797d..7e733c023d 100644 --- a/sdk/python/pulumi_aws_native/ecs/service.py +++ b/sdk/python/pulumi_aws_native/ecs/service.py @@ -66,6 +66,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['ServicePlacementStrategyArgs']]] placement_strategies: The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service. :param pulumi.Input[str] platform_version: The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input['ServicePropagateTags'] propagate_tags: Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. The default is ``NONE``. :param pulumi.Input[str] role: The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter. If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the ``awsvpc`` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide*. @@ -322,6 +323,7 @@ def platform_version(self, value: Optional[pulumi.Input[str]]): def propagate_tags(self) -> Optional[pulumi.Input['ServicePropagateTags']]: """ Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. The default is ``NONE``. """ return pulumi.get(self, "propagate_tags") @@ -477,8 +479,8 @@ def __init__(__self__, __props__=None): """ The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -504,6 +506,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[Union['ServicePlacementStrategyArgs', 'ServicePlacementStrategyArgsDict']]]] placement_strategies: The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service. :param pulumi.Input[str] platform_version: The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the ``LATEST`` platform version is used. For more information, see [platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide*. :param pulumi.Input['ServicePropagateTags'] propagate_tags: Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. The default is ``NONE``. :param pulumi.Input[str] role: The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition doesn't use the ``awsvpc`` network mode. If you specify the ``role`` parameter, you must also specify a load balancer object with the ``loadBalancers`` parameter. If your account has already created the Amazon ECS service-linked role, that role is used for your service unless you specify a role here. The service-linked role is required if your task definition uses the ``awsvpc`` network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you don't specify a role here. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the *Amazon Elastic Container Service Developer Guide*. @@ -541,8 +544,8 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None): """ The ``AWS::ECS::Service`` resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers. - The stack update fails if you change any properties that require replacement and at least one Amazon ECS Service Connect ``ServiceConnectService`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. - Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. + The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ``ServiceConnectConfiguration`` property the is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceConnectService`` must have a name that is unique in the namespace. + Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. :param str resource_name: The name of the resource. :param ServiceArgs args: The arguments to use to populate this resource's properties. @@ -799,6 +802,7 @@ def platform_version(self) -> pulumi.Output[Optional[str]]: def propagate_tags(self) -> pulumi.Output[Optional['ServicePropagateTags']]: """ Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the [TagResource](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html) API action. + You must set this to a value other than ``NONE`` when you use Cost Explorer. For more information, see [Amazon ECS usage reports](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) in the *Amazon Elastic Container Service Developer Guide*. The default is ``NONE``. """ return pulumi.get(self, "propagate_tags") diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py index 07064ff963..9db8d2ea24 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/_inputs.py @@ -11,6 +11,7 @@ __all__ = [ 'ListenerActionArgs', + 'ListenerAttributeArgs', 'ListenerAuthenticateCognitoConfigArgs', 'ListenerAuthenticateOidcConfigArgs', 'ListenerCertificateArgs', @@ -179,6 +180,35 @@ def target_group_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "target_group_arn", value) +@pulumi.input_type +class ListenerAttributeArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", 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) + + @pulumi.input_type class ListenerAuthenticateCognitoConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_listener.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_listener.py index 0d7473a4fc..240cf66f6d 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_listener.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/get_listener.py @@ -19,7 +19,7 @@ @pulumi.output_type class GetListenerResult: - def __init__(__self__, alpn_policy=None, certificates=None, default_actions=None, listener_arn=None, mutual_authentication=None, port=None, protocol=None, ssl_policy=None): + def __init__(__self__, alpn_policy=None, certificates=None, default_actions=None, listener_arn=None, listener_attributes=None, mutual_authentication=None, port=None, protocol=None, ssl_policy=None): if alpn_policy and not isinstance(alpn_policy, list): raise TypeError("Expected argument 'alpn_policy' to be a list") pulumi.set(__self__, "alpn_policy", alpn_policy) @@ -32,6 +32,9 @@ def __init__(__self__, alpn_policy=None, certificates=None, default_actions=None if listener_arn and not isinstance(listener_arn, str): raise TypeError("Expected argument 'listener_arn' to be a str") pulumi.set(__self__, "listener_arn", listener_arn) + if listener_attributes and not isinstance(listener_attributes, list): + raise TypeError("Expected argument 'listener_attributes' to be a list") + pulumi.set(__self__, "listener_attributes", listener_attributes) if mutual_authentication and not isinstance(mutual_authentication, dict): raise TypeError("Expected argument 'mutual_authentication' to be a dict") pulumi.set(__self__, "mutual_authentication", mutual_authentication) @@ -79,6 +82,11 @@ def listener_arn(self) -> Optional[str]: """ return pulumi.get(self, "listener_arn") + @property + @pulumi.getter(name="listenerAttributes") + def listener_attributes(self) -> Optional[Sequence['outputs.ListenerAttribute']]: + return pulumi.get(self, "listener_attributes") + @property @pulumi.getter(name="mutualAuthentication") def mutual_authentication(self) -> Optional['outputs.ListenerMutualAuthentication']: @@ -124,6 +132,7 @@ def __await__(self): certificates=self.certificates, default_actions=self.default_actions, listener_arn=self.listener_arn, + listener_attributes=self.listener_attributes, mutual_authentication=self.mutual_authentication, port=self.port, protocol=self.protocol, @@ -148,6 +157,7 @@ def get_listener(listener_arn: Optional[str] = None, certificates=pulumi.get(__ret__, 'certificates'), default_actions=pulumi.get(__ret__, 'default_actions'), listener_arn=pulumi.get(__ret__, 'listener_arn'), + listener_attributes=pulumi.get(__ret__, 'listener_attributes'), mutual_authentication=pulumi.get(__ret__, 'mutual_authentication'), port=pulumi.get(__ret__, 'port'), protocol=pulumi.get(__ret__, 'protocol'), diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/listener.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/listener.py index 355749b6dc..a83f293dd2 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/listener.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/listener.py @@ -20,6 +20,7 @@ def __init__(__self__, *, load_balancer_arn: pulumi.Input[str], alpn_policy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, certificates: Optional[pulumi.Input[Sequence[pulumi.Input['ListenerCertificateArgs']]]] = None, + listener_attributes: Optional[pulumi.Input[Sequence[pulumi.Input['ListenerAttributeArgs']]]] = None, mutual_authentication: Optional[pulumi.Input['ListenerMutualAuthenticationArgs']] = None, port: Optional[pulumi.Input[int]] = None, protocol: Optional[pulumi.Input[str]] = None, @@ -45,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "alpn_policy", alpn_policy) if certificates is not None: pulumi.set(__self__, "certificates", certificates) + if listener_attributes is not None: + pulumi.set(__self__, "listener_attributes", listener_attributes) if mutual_authentication is not None: pulumi.set(__self__, "mutual_authentication", mutual_authentication) if port is not None: @@ -104,6 +107,15 @@ def certificates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ListenerC def certificates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ListenerCertificateArgs']]]]): pulumi.set(self, "certificates", value) + @property + @pulumi.getter(name="listenerAttributes") + def listener_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ListenerAttributeArgs']]]]: + return pulumi.get(self, "listener_attributes") + + @listener_attributes.setter + def listener_attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ListenerAttributeArgs']]]]): + pulumi.set(self, "listener_attributes", value) + @property @pulumi.getter(name="mutualAuthentication") def mutual_authentication(self) -> Optional[pulumi.Input['ListenerMutualAuthenticationArgs']]: @@ -163,6 +175,7 @@ def __init__(__self__, alpn_policy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, certificates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerCertificateArgs', 'ListenerCertificateArgsDict']]]]] = None, default_actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerActionArgs', 'ListenerActionArgsDict']]]]] = None, + listener_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerAttributeArgs', 'ListenerAttributeArgsDict']]]]] = None, load_balancer_arn: Optional[pulumi.Input[str]] = None, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, @@ -214,6 +227,7 @@ def _internal_init(__self__, alpn_policy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, certificates: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerCertificateArgs', 'ListenerCertificateArgsDict']]]]] = None, default_actions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerActionArgs', 'ListenerActionArgsDict']]]]] = None, + listener_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ListenerAttributeArgs', 'ListenerAttributeArgsDict']]]]] = None, load_balancer_arn: Optional[pulumi.Input[str]] = None, mutual_authentication: Optional[pulumi.Input[Union['ListenerMutualAuthenticationArgs', 'ListenerMutualAuthenticationArgsDict']]] = None, port: Optional[pulumi.Input[int]] = None, @@ -233,6 +247,7 @@ def _internal_init(__self__, if default_actions is None and not opts.urn: raise TypeError("Missing required property 'default_actions'") __props__.__dict__["default_actions"] = default_actions + __props__.__dict__["listener_attributes"] = listener_attributes if load_balancer_arn is None and not opts.urn: raise TypeError("Missing required property 'load_balancer_arn'") __props__.__dict__["load_balancer_arn"] = load_balancer_arn @@ -269,6 +284,7 @@ def get(resource_name: str, __props__.__dict__["certificates"] = None __props__.__dict__["default_actions"] = None __props__.__dict__["listener_arn"] = None + __props__.__dict__["listener_attributes"] = None __props__.__dict__["load_balancer_arn"] = None __props__.__dict__["mutual_authentication"] = None __props__.__dict__["port"] = None @@ -310,6 +326,11 @@ def listener_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "listener_arn") + @property + @pulumi.getter(name="listenerAttributes") + def listener_attributes(self) -> pulumi.Output[Optional[Sequence['outputs.ListenerAttribute']]]: + return pulumi.get(self, "listener_attributes") + @property @pulumi.getter(name="loadBalancerArn") def load_balancer_arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py index 4b5da2ef0a..3765b19c64 100644 --- a/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py +++ b/sdk/python/pulumi_aws_native/elasticloadbalancingv2/outputs.py @@ -12,6 +12,7 @@ __all__ = [ 'ListenerAction', + 'ListenerAttribute', 'ListenerAuthenticateCognitoConfig', 'ListenerAuthenticateOidcConfig', 'ListenerCertificate', @@ -179,6 +180,27 @@ def target_group_arn(self) -> Optional[str]: return pulumi.get(self, "target_group_arn") +@pulumi.output_type +class ListenerAttribute(dict): + def __init__(__self__, *, + key: Optional[str] = None, + value: Optional[str] = None): + if key is not None: + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> Optional[str]: + return pulumi.get(self, "value") + + @pulumi.output_type class ListenerAuthenticateCognitoConfig(dict): """ diff --git a/sdk/python/pulumi_aws_native/gamelift/_inputs.py b/sdk/python/pulumi_aws_native/gamelift/_inputs.py index 280c7f9be6..274bd82747 100644 --- a/sdk/python/pulumi_aws_native/gamelift/_inputs.py +++ b/sdk/python/pulumi_aws_native/gamelift/_inputs.py @@ -989,7 +989,7 @@ def __init__(__self__, *, """ A remote location where a multi-location fleet can deploy EC2 instances for game hosting. :param pulumi.Input[str] location: An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. - :param pulumi.Input['FleetLocationCapacityArgs'] location_capacity: Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + :param pulumi.Input['FleetLocationCapacityArgs'] location_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ @@ -1013,7 +1013,7 @@ def location(self, value: pulumi.Input[str]): @pulumi.getter(name="locationCapacity") def location_capacity(self) -> Optional[pulumi.Input['FleetLocationCapacityArgs']]: """ - Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ diff --git a/sdk/python/pulumi_aws_native/gamelift/fleet.py b/sdk/python/pulumi_aws_native/gamelift/fleet.py index 1982fc68ee..7f9475f440 100644 --- a/sdk/python/pulumi_aws_native/gamelift/fleet.py +++ b/sdk/python/pulumi_aws_native/gamelift/fleet.py @@ -52,7 +52,7 @@ def __init__(__self__, *, :param pulumi.Input[str] build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetCertificateConfigurationArgs'] certificate_configuration: Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetComputeType'] compute_type: ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. - :param pulumi.Input['FleetContainerGroupsConfigurationArgs'] container_groups_configuration: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + :param pulumi.Input['FleetContainerGroupsConfigurationArgs'] container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -205,7 +205,7 @@ def compute_type(self, value: Optional[pulumi.Input['FleetComputeType']]): @pulumi.getter(name="containerGroupsConfiguration") def container_groups_configuration(self) -> Optional[pulumi.Input['FleetContainerGroupsConfigurationArgs']]: """ - *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -530,7 +530,7 @@ def __init__(__self__, :param pulumi.Input[str] build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input[Union['FleetCertificateConfigurationArgs', 'FleetCertificateConfigurationArgsDict']] certificate_configuration: Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not set, certificate generation is disabled. This fleet setting cannot be changed once the fleet is created. :param pulumi.Input['FleetComputeType'] compute_type: ComputeType to differentiate EC2 hardware managed by GameLift and Anywhere hardware managed by the customer. - :param pulumi.Input[Union['FleetContainerGroupsConfigurationArgs', 'FleetContainerGroupsConfigurationArgsDict']] container_groups_configuration: *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + :param pulumi.Input[Union['FleetContainerGroupsConfigurationArgs', 'FleetContainerGroupsConfigurationArgsDict']] container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . @@ -751,7 +751,7 @@ def compute_type(self) -> pulumi.Output[Optional['FleetComputeType']]: @pulumi.getter(name="containerGroupsConfiguration") def container_groups_configuration(self) -> pulumi.Output[Optional['outputs.FleetContainerGroupsConfiguration']]: """ - *This data type is currently not available. It is under improvement as we respond to customer feedback from the Containers public preview.* + *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.* Configuration details for a set of container groups, for use when creating a fleet with compute type `CONTAINER` . diff --git a/sdk/python/pulumi_aws_native/gamelift/outputs.py b/sdk/python/pulumi_aws_native/gamelift/outputs.py index 2d102a4c25..1e9c9972c0 100644 --- a/sdk/python/pulumi_aws_native/gamelift/outputs.py +++ b/sdk/python/pulumi_aws_native/gamelift/outputs.py @@ -1124,7 +1124,7 @@ def __init__(__self__, *, """ A remote location where a multi-location fleet can deploy EC2 instances for game hosting. :param str location: An AWS Region code, such as `us-west-2` . For a list of supported Regions and Local Zones, see [Amazon GameLift service locations](https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-regions.html) for managed hosting. - :param 'FleetLocationCapacity' location_capacity: Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + :param 'FleetLocationCapacity' location_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ @@ -1144,7 +1144,7 @@ def location(self) -> str: @pulumi.getter(name="locationCapacity") def location_capacity(self) -> Optional['outputs.FleetLocationCapacity']: """ - Current resource capacity settings for managed EC2 fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. + Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* [DescribeFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) , [DescribeFleetLocationCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) , [UpdateFleetCapacity](https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) """ diff --git a/sdk/python/pulumi_aws_native/globalaccelerator/_inputs.py b/sdk/python/pulumi_aws_native/globalaccelerator/_inputs.py index 6b79d83be4..2856065037 100644 --- a/sdk/python/pulumi_aws_native/globalaccelerator/_inputs.py +++ b/sdk/python/pulumi_aws_native/globalaccelerator/_inputs.py @@ -20,22 +20,43 @@ @pulumi.input_type class CrossAccountAttachmentResourceArgs: def __init__(__self__, *, - endpoint_id: pulumi.Input[str], + cidr: Optional[pulumi.Input[str]] = None, + endpoint_id: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None): """ ARN of resource to share. + :param pulumi.Input[str] cidr: An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + + For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. :param pulumi.Input[str] endpoint_id: The endpoint ID for the endpoint that is specified as a AWS resource. An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. :param pulumi.Input[str] region: The AWS Region where a shared endpoint resource is located. """ - pulumi.set(__self__, "endpoint_id", endpoint_id) + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + if endpoint_id is not None: + pulumi.set(__self__, "endpoint_id", endpoint_id) if region is not None: pulumi.set(__self__, "region", region) + @property + @pulumi.getter + def cidr(self) -> Optional[pulumi.Input[str]]: + """ + An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + + For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + """ + return pulumi.get(self, "cidr") + + @cidr.setter + def cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cidr", value) + @property @pulumi.getter(name="endpointId") - def endpoint_id(self) -> pulumi.Input[str]: + def endpoint_id(self) -> Optional[pulumi.Input[str]]: """ The endpoint ID for the endpoint that is specified as a AWS resource. @@ -44,7 +65,7 @@ def endpoint_id(self) -> pulumi.Input[str]: return pulumi.get(self, "endpoint_id") @endpoint_id.setter - def endpoint_id(self, value: pulumi.Input[str]): + def endpoint_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "endpoint_id", value) @property diff --git a/sdk/python/pulumi_aws_native/globalaccelerator/outputs.py b/sdk/python/pulumi_aws_native/globalaccelerator/outputs.py index d84df89fb9..c21d6f686c 100644 --- a/sdk/python/pulumi_aws_native/globalaccelerator/outputs.py +++ b/sdk/python/pulumi_aws_native/globalaccelerator/outputs.py @@ -40,22 +40,39 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - endpoint_id: str, + cidr: Optional[str] = None, + endpoint_id: Optional[str] = None, region: Optional[str] = None): """ ARN of resource to share. + :param str cidr: An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + + For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. :param str endpoint_id: The endpoint ID for the endpoint that is specified as a AWS resource. An endpoint ID for the cross-account feature is the ARN of an AWS resource, such as a Network Load Balancer, that Global Accelerator supports as an endpoint for an accelerator. :param str region: The AWS Region where a shared endpoint resource is located. """ - pulumi.set(__self__, "endpoint_id", endpoint_id) + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + if endpoint_id is not None: + pulumi.set(__self__, "endpoint_id", endpoint_id) if region is not None: pulumi.set(__self__, "region", region) + @property + @pulumi.getter + def cidr(self) -> Optional[str]: + """ + An IP address range, in CIDR format, that is specified as resource. The address must be provisioned and advertised in AWS Global Accelerator by following the bring your own IP address (BYOIP) process for Global Accelerator + + For more information, see [Bring your own IP addresses (BYOIP)](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html) in the AWS Global Accelerator Developer Guide. + """ + return pulumi.get(self, "cidr") + @property @pulumi.getter(name="endpointId") - def endpoint_id(self) -> str: + def endpoint_id(self) -> Optional[str]: """ The endpoint ID for the endpoint that is specified as a AWS resource. diff --git a/sdk/python/pulumi_aws_native/mediaconnect/_enums.py b/sdk/python/pulumi_aws_native/mediaconnect/_enums.py index 7f517efc67..c48c82f9b4 100644 --- a/sdk/python/pulumi_aws_native/mediaconnect/_enums.py +++ b/sdk/python/pulumi_aws_native/mediaconnect/_enums.py @@ -34,6 +34,7 @@ 'FlowOutputProtocol', 'FlowSourceEncryptionAlgorithm', 'FlowSourceEncryptionKeyType', + 'FlowSourceMonitoringConfigThumbnailState', 'FlowSourceProtocol', 'FlowVpcInterfaceNetworkInterfaceType', 'GatewayState', @@ -309,6 +310,14 @@ class FlowSourceEncryptionKeyType(str, Enum): SRT_PASSWORD = "srt-password" +class FlowSourceMonitoringConfigThumbnailState(str, Enum): + """ + The state of thumbnail monitoring. + """ + ENABLED = "ENABLED" + DISABLED = "DISABLED" + + class FlowSourceProtocol(str, Enum): """ The protocol that is used by the source. diff --git a/sdk/python/pulumi_aws_native/mediaconnect/_inputs.py b/sdk/python/pulumi_aws_native/mediaconnect/_inputs.py index fc6c5a7618..a5bbc5f782 100644 --- a/sdk/python/pulumi_aws_native/mediaconnect/_inputs.py +++ b/sdk/python/pulumi_aws_native/mediaconnect/_inputs.py @@ -45,6 +45,7 @@ 'FlowOutputVpcInterfaceAttachmentArgs', 'FlowSourceEncryptionArgs', 'FlowSourceGatewayBridgeSourceArgs', + 'FlowSourceMonitoringConfigArgs', 'FlowSourceVpcInterfaceAttachmentArgs', 'FlowSourceArgs', 'FlowVpcInterfaceAttachmentArgs', @@ -2077,6 +2078,29 @@ def vpc_interface_attachment(self, value: Optional[pulumi.Input['FlowSourceVpcIn pulumi.set(self, "vpc_interface_attachment", value) +@pulumi.input_type +class FlowSourceMonitoringConfigArgs: + def __init__(__self__, *, + thumbnail_state: pulumi.Input['FlowSourceMonitoringConfigThumbnailState']): + """ + The settings for source monitoring. + :param pulumi.Input['FlowSourceMonitoringConfigThumbnailState'] thumbnail_state: The state of thumbnail monitoring. + """ + pulumi.set(__self__, "thumbnail_state", thumbnail_state) + + @property + @pulumi.getter(name="thumbnailState") + def thumbnail_state(self) -> pulumi.Input['FlowSourceMonitoringConfigThumbnailState']: + """ + The state of thumbnail monitoring. + """ + return pulumi.get(self, "thumbnail_state") + + @thumbnail_state.setter + def thumbnail_state(self, value: pulumi.Input['FlowSourceMonitoringConfigThumbnailState']): + pulumi.set(self, "thumbnail_state", value) + + @pulumi.input_type class FlowSourceVpcInterfaceAttachmentArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/mediaconnect/flow.py b/sdk/python/pulumi_aws_native/mediaconnect/flow.py index 1abacecdf8..ef37f57f86 100644 --- a/sdk/python/pulumi_aws_native/mediaconnect/flow.py +++ b/sdk/python/pulumi_aws_native/mediaconnect/flow.py @@ -23,15 +23,17 @@ def __init__(__self__, *, media_streams: Optional[pulumi.Input[Sequence[pulumi.Input['FlowMediaStreamArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, source_failover_config: Optional[pulumi.Input['FlowFailoverConfigArgs']] = None, + source_monitoring_config: Optional[pulumi.Input['FlowSourceMonitoringConfigArgs']] = None, vpc_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['FlowVpcInterfaceArgs']]]] = None): """ The set of arguments for constructing a Flow resource. :param pulumi.Input['FlowSourceArgs'] source: The source of the flow. :param pulumi.Input[str] availability_zone: The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS. - :param pulumi.Input['FlowMaintenanceArgs'] maintenance: The maintenance settings you want to use for the flow. + :param pulumi.Input['FlowMaintenanceArgs'] maintenance: The maintenance settings you want to use for the flow. :param pulumi.Input[Sequence[pulumi.Input['FlowMediaStreamArgs']]] media_streams: The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow. :param pulumi.Input[str] name: The name of the flow. :param pulumi.Input['FlowFailoverConfigArgs'] source_failover_config: The source failover config of the flow. + :param pulumi.Input['FlowSourceMonitoringConfigArgs'] source_monitoring_config: The source monitoring config of the flow. :param pulumi.Input[Sequence[pulumi.Input['FlowVpcInterfaceArgs']]] vpc_interfaces: The VPC interfaces that you added to this flow. """ pulumi.set(__self__, "source", source) @@ -45,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if source_failover_config is not None: pulumi.set(__self__, "source_failover_config", source_failover_config) + if source_monitoring_config is not None: + pulumi.set(__self__, "source_monitoring_config", source_monitoring_config) if vpc_interfaces is not None: pulumi.set(__self__, "vpc_interfaces", vpc_interfaces) @@ -76,7 +80,7 @@ def availability_zone(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def maintenance(self) -> Optional[pulumi.Input['FlowMaintenanceArgs']]: """ - The maintenance settings you want to use for the flow. + The maintenance settings you want to use for the flow. """ return pulumi.get(self, "maintenance") @@ -120,6 +124,18 @@ def source_failover_config(self) -> Optional[pulumi.Input['FlowFailoverConfigArg def source_failover_config(self, value: Optional[pulumi.Input['FlowFailoverConfigArgs']]): pulumi.set(self, "source_failover_config", value) + @property + @pulumi.getter(name="sourceMonitoringConfig") + def source_monitoring_config(self) -> Optional[pulumi.Input['FlowSourceMonitoringConfigArgs']]: + """ + The source monitoring config of the flow. + """ + return pulumi.get(self, "source_monitoring_config") + + @source_monitoring_config.setter + def source_monitoring_config(self, value: Optional[pulumi.Input['FlowSourceMonitoringConfigArgs']]): + pulumi.set(self, "source_monitoring_config", value) + @property @pulumi.getter(name="vpcInterfaces") def vpc_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FlowVpcInterfaceArgs']]]]: @@ -144,6 +160,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[Union['FlowSourceArgs', 'FlowSourceArgsDict']]] = None, source_failover_config: Optional[pulumi.Input[Union['FlowFailoverConfigArgs', 'FlowFailoverConfigArgsDict']]] = None, + source_monitoring_config: Optional[pulumi.Input[Union['FlowSourceMonitoringConfigArgs', 'FlowSourceMonitoringConfigArgsDict']]] = None, vpc_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FlowVpcInterfaceArgs', 'FlowVpcInterfaceArgsDict']]]]] = None, __props__=None): """ @@ -152,11 +169,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] availability_zone: The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS. - :param pulumi.Input[Union['FlowMaintenanceArgs', 'FlowMaintenanceArgsDict']] maintenance: The maintenance settings you want to use for the flow. + :param pulumi.Input[Union['FlowMaintenanceArgs', 'FlowMaintenanceArgsDict']] maintenance: The maintenance settings you want to use for the flow. :param pulumi.Input[Sequence[pulumi.Input[Union['FlowMediaStreamArgs', 'FlowMediaStreamArgsDict']]]] media_streams: The media streams associated with the flow. You can associate any of these media streams with sources and outputs on the flow. :param pulumi.Input[str] name: The name of the flow. :param pulumi.Input[Union['FlowSourceArgs', 'FlowSourceArgsDict']] source: The source of the flow. :param pulumi.Input[Union['FlowFailoverConfigArgs', 'FlowFailoverConfigArgsDict']] source_failover_config: The source failover config of the flow. + :param pulumi.Input[Union['FlowSourceMonitoringConfigArgs', 'FlowSourceMonitoringConfigArgsDict']] source_monitoring_config: The source monitoring config of the flow. :param pulumi.Input[Sequence[pulumi.Input[Union['FlowVpcInterfaceArgs', 'FlowVpcInterfaceArgsDict']]]] vpc_interfaces: The VPC interfaces that you added to this flow. """ ... @@ -189,6 +207,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, source: Optional[pulumi.Input[Union['FlowSourceArgs', 'FlowSourceArgsDict']]] = None, source_failover_config: Optional[pulumi.Input[Union['FlowFailoverConfigArgs', 'FlowFailoverConfigArgsDict']]] = None, + source_monitoring_config: Optional[pulumi.Input[Union['FlowSourceMonitoringConfigArgs', 'FlowSourceMonitoringConfigArgsDict']]] = None, vpc_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[Union['FlowVpcInterfaceArgs', 'FlowVpcInterfaceArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -207,6 +226,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'source'") __props__.__dict__["source"] = source __props__.__dict__["source_failover_config"] = source_failover_config + __props__.__dict__["source_monitoring_config"] = source_monitoring_config __props__.__dict__["vpc_interfaces"] = vpc_interfaces __props__.__dict__["egress_ip"] = None __props__.__dict__["flow_arn"] = None @@ -244,6 +264,7 @@ def get(resource_name: str, __props__.__dict__["name"] = None __props__.__dict__["source"] = None __props__.__dict__["source_failover_config"] = None + __props__.__dict__["source_monitoring_config"] = None __props__.__dict__["vpc_interfaces"] = None return Flow(resource_name, opts=opts, __props__=__props__) @@ -283,7 +304,7 @@ def flow_availability_zone(self) -> pulumi.Output[str]: @pulumi.getter def maintenance(self) -> pulumi.Output[Optional['outputs.FlowMaintenance']]: """ - The maintenance settings you want to use for the flow. + The maintenance settings you want to use for the flow. """ return pulumi.get(self, "maintenance") @@ -319,6 +340,14 @@ def source_failover_config(self) -> pulumi.Output[Optional['outputs.FlowFailover """ return pulumi.get(self, "source_failover_config") + @property + @pulumi.getter(name="sourceMonitoringConfig") + def source_monitoring_config(self) -> pulumi.Output[Optional['outputs.FlowSourceMonitoringConfig']]: + """ + The source monitoring config of the flow. + """ + return pulumi.get(self, "source_monitoring_config") + @property @pulumi.getter(name="vpcInterfaces") def vpc_interfaces(self) -> pulumi.Output[Optional[Sequence['outputs.FlowVpcInterface']]]: diff --git a/sdk/python/pulumi_aws_native/mediaconnect/get_flow.py b/sdk/python/pulumi_aws_native/mediaconnect/get_flow.py index 6ad2e2563a..54e42373d2 100644 --- a/sdk/python/pulumi_aws_native/mediaconnect/get_flow.py +++ b/sdk/python/pulumi_aws_native/mediaconnect/get_flow.py @@ -20,7 +20,7 @@ @pulumi.output_type class GetFlowResult: - def __init__(__self__, egress_ip=None, flow_arn=None, flow_availability_zone=None, maintenance=None, media_streams=None, source=None, source_failover_config=None, vpc_interfaces=None): + def __init__(__self__, egress_ip=None, flow_arn=None, flow_availability_zone=None, maintenance=None, media_streams=None, source=None, source_failover_config=None, source_monitoring_config=None, vpc_interfaces=None): if egress_ip and not isinstance(egress_ip, str): raise TypeError("Expected argument 'egress_ip' to be a str") pulumi.set(__self__, "egress_ip", egress_ip) @@ -42,6 +42,9 @@ def __init__(__self__, egress_ip=None, flow_arn=None, flow_availability_zone=Non if source_failover_config and not isinstance(source_failover_config, dict): raise TypeError("Expected argument 'source_failover_config' to be a dict") pulumi.set(__self__, "source_failover_config", source_failover_config) + if source_monitoring_config and not isinstance(source_monitoring_config, dict): + raise TypeError("Expected argument 'source_monitoring_config' to be a dict") + pulumi.set(__self__, "source_monitoring_config", source_monitoring_config) if vpc_interfaces and not isinstance(vpc_interfaces, list): raise TypeError("Expected argument 'vpc_interfaces' to be a list") pulumi.set(__self__, "vpc_interfaces", vpc_interfaces) @@ -74,7 +77,7 @@ def flow_availability_zone(self) -> Optional[str]: @pulumi.getter def maintenance(self) -> Optional['outputs.FlowMaintenance']: """ - The maintenance settings you want to use for the flow. + The maintenance settings you want to use for the flow. """ return pulumi.get(self, "maintenance") @@ -102,6 +105,14 @@ def source_failover_config(self) -> Optional['outputs.FlowFailoverConfig']: """ return pulumi.get(self, "source_failover_config") + @property + @pulumi.getter(name="sourceMonitoringConfig") + def source_monitoring_config(self) -> Optional['outputs.FlowSourceMonitoringConfig']: + """ + The source monitoring config of the flow. + """ + return pulumi.get(self, "source_monitoring_config") + @property @pulumi.getter(name="vpcInterfaces") def vpc_interfaces(self) -> Optional[Sequence['outputs.FlowVpcInterface']]: @@ -124,6 +135,7 @@ def __await__(self): media_streams=self.media_streams, source=self.source, source_failover_config=self.source_failover_config, + source_monitoring_config=self.source_monitoring_config, vpc_interfaces=self.vpc_interfaces) @@ -148,6 +160,7 @@ def get_flow(flow_arn: Optional[str] = None, media_streams=pulumi.get(__ret__, 'media_streams'), source=pulumi.get(__ret__, 'source'), source_failover_config=pulumi.get(__ret__, 'source_failover_config'), + source_monitoring_config=pulumi.get(__ret__, 'source_monitoring_config'), vpc_interfaces=pulumi.get(__ret__, 'vpc_interfaces')) diff --git a/sdk/python/pulumi_aws_native/mediaconnect/outputs.py b/sdk/python/pulumi_aws_native/mediaconnect/outputs.py index 7148562833..2be39b6c75 100644 --- a/sdk/python/pulumi_aws_native/mediaconnect/outputs.py +++ b/sdk/python/pulumi_aws_native/mediaconnect/outputs.py @@ -47,6 +47,7 @@ 'FlowSource', 'FlowSourceEncryption', 'FlowSourceGatewayBridgeSource', + 'FlowSourceMonitoringConfig', 'FlowSourceVpcInterfaceAttachment', 'FlowVpcInterface', 'FlowVpcInterfaceAttachment', @@ -2663,6 +2664,45 @@ def vpc_interface_attachment(self) -> Optional['outputs.FlowSourceVpcInterfaceAt return pulumi.get(self, "vpc_interface_attachment") +@pulumi.output_type +class FlowSourceMonitoringConfig(dict): + """ + The settings for source monitoring. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "thumbnailState": + suggest = "thumbnail_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FlowSourceMonitoringConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FlowSourceMonitoringConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FlowSourceMonitoringConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + thumbnail_state: 'FlowSourceMonitoringConfigThumbnailState'): + """ + The settings for source monitoring. + :param 'FlowSourceMonitoringConfigThumbnailState' thumbnail_state: The state of thumbnail monitoring. + """ + pulumi.set(__self__, "thumbnail_state", thumbnail_state) + + @property + @pulumi.getter(name="thumbnailState") + def thumbnail_state(self) -> 'FlowSourceMonitoringConfigThumbnailState': + """ + The state of thumbnail monitoring. + """ + return pulumi.get(self, "thumbnail_state") + + @pulumi.output_type class FlowSourceVpcInterfaceAttachment(dict): """ diff --git a/sdk/python/pulumi_aws_native/medialive/__init__.py b/sdk/python/pulumi_aws_native/medialive/__init__.py index 040ea05e2b..9fe6c07222 100644 --- a/sdk/python/pulumi_aws_native/medialive/__init__.py +++ b/sdk/python/pulumi_aws_native/medialive/__init__.py @@ -6,9 +6,27 @@ import typing # Export this package's modules as members: from ._enums import * +from .channel_placement_group import * +from .cloud_watch_alarm_template import * +from .cloud_watch_alarm_template_group import * +from .cluster import * +from .event_bridge_rule_template import * +from .event_bridge_rule_template_group import * +from .get_channel_placement_group import * +from .get_cloud_watch_alarm_template import * +from .get_cloud_watch_alarm_template_group import * +from .get_cluster import * +from .get_event_bridge_rule_template import * +from .get_event_bridge_rule_template_group import * from .get_multiplex import * from .get_multiplexprogram import * +from .get_network import * +from .get_sdi_source import * +from .get_signal_map import * from .multiplex import * from .multiplexprogram import * +from .network import * +from .sdi_source import * +from .signal_map import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/medialive/_enums.py b/sdk/python/pulumi_aws_native/medialive/_enums.py index 41bfb2d53e..8156268f33 100644 --- a/sdk/python/pulumi_aws_native/medialive/_enums.py +++ b/sdk/python/pulumi_aws_native/medialive/_enums.py @@ -5,11 +5,122 @@ from enum import Enum __all__ = [ + 'ChannelPlacementGroupState', + 'CloudWatchAlarmTemplateComparisonOperator', + 'CloudWatchAlarmTemplateStatistic', + 'CloudWatchAlarmTemplateTargetResourceType', + 'CloudWatchAlarmTemplateTreatMissingData', + 'ClusterState', + 'ClusterType', + 'EventBridgeRuleTemplateEventType', 'MultiplexState', 'MultiplexprogramPreferredChannelPipeline', + 'NetworkState', + 'SdiSourceMode', + 'SdiSourceState', + 'SdiSourceType', + 'SignalMapMonitorDeploymentStatus', + 'SignalMapStatus', ] +class ChannelPlacementGroupState(str, Enum): + """ + The current state of the ChannelPlacementGroupState + """ + UNASSIGNED = "UNASSIGNED" + ASSIGNING = "ASSIGNING" + ASSIGNED = "ASSIGNED" + DELETING = "DELETING" + DELETED = "DELETED" + UNASSIGNING = "UNASSIGNING" + + +class CloudWatchAlarmTemplateComparisonOperator(str, Enum): + """ + The comparison operator used to compare the specified statistic and the threshold. + """ + GREATER_THAN_OR_EQUAL_TO_THRESHOLD = "GreaterThanOrEqualToThreshold" + GREATER_THAN_THRESHOLD = "GreaterThanThreshold" + LESS_THAN_THRESHOLD = "LessThanThreshold" + LESS_THAN_OR_EQUAL_TO_THRESHOLD = "LessThanOrEqualToThreshold" + + +class CloudWatchAlarmTemplateStatistic(str, Enum): + """ + The statistic to apply to the alarm's metric data. + """ + SAMPLE_COUNT = "SampleCount" + AVERAGE = "Average" + SUM = "Sum" + MINIMUM = "Minimum" + MAXIMUM = "Maximum" + + +class CloudWatchAlarmTemplateTargetResourceType(str, Enum): + """ + The resource type this template should dynamically generate cloudwatch metric alarms for. + """ + CLOUDFRONT_DISTRIBUTION = "CLOUDFRONT_DISTRIBUTION" + MEDIALIVE_MULTIPLEX = "MEDIALIVE_MULTIPLEX" + MEDIALIVE_CHANNEL = "MEDIALIVE_CHANNEL" + MEDIALIVE_INPUT_DEVICE = "MEDIALIVE_INPUT_DEVICE" + MEDIAPACKAGE_CHANNEL = "MEDIAPACKAGE_CHANNEL" + MEDIAPACKAGE_ORIGIN_ENDPOINT = "MEDIAPACKAGE_ORIGIN_ENDPOINT" + MEDIACONNECT_FLOW = "MEDIACONNECT_FLOW" + S3_BUCKET = "S3_BUCKET" + + +class CloudWatchAlarmTemplateTreatMissingData(str, Enum): + """ + Specifies how missing data points are treated when evaluating the alarm's condition. + """ + NOT_BREACHING = "notBreaching" + BREACHING = "breaching" + IGNORE = "ignore" + MISSING = "missing" + + +class ClusterState(str, Enum): + """ + The current state of the Cluster. + """ + CREATING = "CREATING" + CREATE_FAILED = "CREATE_FAILED" + ACTIVE = "ACTIVE" + DELETING = "DELETING" + DELETED = "DELETED" + + +class ClusterType(str, Enum): + """ + The hardware type for the cluster. + """ + ON_PREMISES = "ON_PREMISES" + OUTPOSTS_RACK = "OUTPOSTS_RACK" + OUTPOSTS_SERVER = "OUTPOSTS_SERVER" + EC2 = "EC2" + + +class EventBridgeRuleTemplateEventType(str, Enum): + """ + The type of event to match with the rule. + """ + MEDIALIVE_MULTIPLEX_ALERT = "MEDIALIVE_MULTIPLEX_ALERT" + MEDIALIVE_MULTIPLEX_STATE_CHANGE = "MEDIALIVE_MULTIPLEX_STATE_CHANGE" + MEDIALIVE_CHANNEL_ALERT = "MEDIALIVE_CHANNEL_ALERT" + MEDIALIVE_CHANNEL_INPUT_CHANGE = "MEDIALIVE_CHANNEL_INPUT_CHANGE" + MEDIALIVE_CHANNEL_STATE_CHANGE = "MEDIALIVE_CHANNEL_STATE_CHANGE" + MEDIAPACKAGE_INPUT_NOTIFICATION = "MEDIAPACKAGE_INPUT_NOTIFICATION" + MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION = "MEDIAPACKAGE_KEY_PROVIDER_NOTIFICATION" + MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION = "MEDIAPACKAGE_HARVEST_JOB_NOTIFICATION" + SIGNAL_MAP_ACTIVE_ALARM = "SIGNAL_MAP_ACTIVE_ALARM" + MEDIACONNECT_ALERT = "MEDIACONNECT_ALERT" + MEDIACONNECT_SOURCE_HEALTH = "MEDIACONNECT_SOURCE_HEALTH" + MEDIACONNECT_OUTPUT_HEALTH = "MEDIACONNECT_OUTPUT_HEALTH" + MEDIACONNECT_FLOW_STATUS_CHANGE = "MEDIACONNECT_FLOW_STATUS_CHANGE" + + class MultiplexState(str, Enum): """ The current state of the multiplex. @@ -36,3 +147,71 @@ class MultiplexprogramPreferredChannelPipeline(str, Enum): CURRENTLY_ACTIVE = "CURRENTLY_ACTIVE" PIPELINE0 = "PIPELINE_0" PIPELINE1 = "PIPELINE_1" + + +class NetworkState(str, Enum): + CREATING = "CREATING" + CREATE_FAILED = "CREATE_FAILED" + ACTIVE = "ACTIVE" + DELETING = "DELETING" + IDLE = "IDLE" + IN_USE = "IN_USE" + UPDATING = "UPDATING" + DELETED = "DELETED" + DELETE_FAILED = "DELETE_FAILED" + + +class SdiSourceMode(str, Enum): + """ + The current state of the SdiSource. + """ + QUADRANT = "QUADRANT" + INTERLEAVE = "INTERLEAVE" + + +class SdiSourceState(str, Enum): + """ + The current state of the SdiSource. + """ + IDLE = "IDLE" + IN_USE = "IN_USE" + DELETED = "DELETED" + + +class SdiSourceType(str, Enum): + """ + The interface mode of the SdiSource. + """ + SINGLE = "SINGLE" + QUAD = "QUAD" + + +class SignalMapMonitorDeploymentStatus(str, Enum): + """ + A signal map's monitor deployment status. + """ + NOT_DEPLOYED = "NOT_DEPLOYED" + DRY_RUN_DEPLOYMENT_COMPLETE = "DRY_RUN_DEPLOYMENT_COMPLETE" + DRY_RUN_DEPLOYMENT_FAILED = "DRY_RUN_DEPLOYMENT_FAILED" + DRY_RUN_DEPLOYMENT_IN_PROGRESS = "DRY_RUN_DEPLOYMENT_IN_PROGRESS" + DEPLOYMENT_COMPLETE = "DEPLOYMENT_COMPLETE" + DEPLOYMENT_FAILED = "DEPLOYMENT_FAILED" + DEPLOYMENT_IN_PROGRESS = "DEPLOYMENT_IN_PROGRESS" + DELETE_COMPLETE = "DELETE_COMPLETE" + DELETE_FAILED = "DELETE_FAILED" + DELETE_IN_PROGRESS = "DELETE_IN_PROGRESS" + + +class SignalMapStatus(str, Enum): + """ + A signal map's current status which is dependent on its lifecycle actions or associated jobs. + """ + CREATE_IN_PROGRESS = "CREATE_IN_PROGRESS" + CREATE_COMPLETE = "CREATE_COMPLETE" + CREATE_FAILED = "CREATE_FAILED" + UPDATE_IN_PROGRESS = "UPDATE_IN_PROGRESS" + UPDATE_COMPLETE = "UPDATE_COMPLETE" + UPDATE_REVERTED = "UPDATE_REVERTED" + UPDATE_FAILED = "UPDATE_FAILED" + READY = "READY" + NOT_READY = "NOT_READY" diff --git a/sdk/python/pulumi_aws_native/medialive/_inputs.py b/sdk/python/pulumi_aws_native/medialive/_inputs.py index b527e54907..9373427d35 100644 --- a/sdk/python/pulumi_aws_native/medialive/_inputs.py +++ b/sdk/python/pulumi_aws_native/medialive/_inputs.py @@ -11,6 +11,9 @@ from ._enums import * __all__ = [ + 'ClusterInterfaceMappingArgs', + 'ClusterNetworkSettingsArgs', + 'EventBridgeRuleTemplateTargetArgs', 'MultiplexOutputDestinationMultiplexMediaConnectOutputDestinationSettingsPropertiesArgs', 'MultiplexOutputDestinationArgs', 'MultiplexSettingsArgs', @@ -19,8 +22,113 @@ 'MultiplexprogramMultiplexProgramServiceDescriptorArgs', 'MultiplexprogramMultiplexProgramSettingsArgs', 'MultiplexprogramMultiplexVideoSettingsArgs', + 'NetworkIpPoolArgs', + 'NetworkRouteArgs', ] +@pulumi.input_type +class ClusterInterfaceMappingArgs: + def __init__(__self__, *, + logical_interface_name: Optional[pulumi.Input[str]] = None, + network_id: Optional[pulumi.Input[str]] = None): + """ + Network mappings for the cluster + :param pulumi.Input[str] logical_interface_name: logical interface name, unique in the list + :param pulumi.Input[str] network_id: Network Id to be associated with the logical interface name, can be duplicated in list + """ + if logical_interface_name is not None: + pulumi.set(__self__, "logical_interface_name", logical_interface_name) + if network_id is not None: + pulumi.set(__self__, "network_id", network_id) + + @property + @pulumi.getter(name="logicalInterfaceName") + def logical_interface_name(self) -> Optional[pulumi.Input[str]]: + """ + logical interface name, unique in the list + """ + return pulumi.get(self, "logical_interface_name") + + @logical_interface_name.setter + def logical_interface_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "logical_interface_name", value) + + @property + @pulumi.getter(name="networkId") + def network_id(self) -> Optional[pulumi.Input[str]]: + """ + Network Id to be associated with the logical interface name, can be duplicated in list + """ + return pulumi.get(self, "network_id") + + @network_id.setter + def network_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "network_id", value) + + +@pulumi.input_type +class ClusterNetworkSettingsArgs: + def __init__(__self__, *, + default_route: Optional[pulumi.Input[str]] = None, + interface_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInterfaceMappingArgs']]]] = None): + """ + On premises settings which will have the interface network mappings and default Output logical interface + :param pulumi.Input[str] default_route: Default value if the customer does not define it in channel Output API + :param pulumi.Input[Sequence[pulumi.Input['ClusterInterfaceMappingArgs']]] interface_mappings: Network mappings for the cluster + """ + if default_route is not None: + pulumi.set(__self__, "default_route", default_route) + if interface_mappings is not None: + pulumi.set(__self__, "interface_mappings", interface_mappings) + + @property + @pulumi.getter(name="defaultRoute") + def default_route(self) -> Optional[pulumi.Input[str]]: + """ + Default value if the customer does not define it in channel Output API + """ + return pulumi.get(self, "default_route") + + @default_route.setter + def default_route(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_route", value) + + @property + @pulumi.getter(name="interfaceMappings") + def interface_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInterfaceMappingArgs']]]]: + """ + Network mappings for the cluster + """ + return pulumi.get(self, "interface_mappings") + + @interface_mappings.setter + def interface_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInterfaceMappingArgs']]]]): + pulumi.set(self, "interface_mappings", value) + + +@pulumi.input_type +class EventBridgeRuleTemplateTargetArgs: + def __init__(__self__, *, + arn: pulumi.Input[str]): + """ + The target to which to send matching events. + :param pulumi.Input[str] arn: Target ARNs must be either an SNS topic or CloudWatch log group. + """ + pulumi.set(__self__, "arn", arn) + + @property + @pulumi.getter + def arn(self) -> pulumi.Input[str]: + """ + Target ARNs must be either an SNS topic or CloudWatch log group. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: pulumi.Input[str]): + pulumi.set(self, "arn", value) + + @pulumi.input_type class MultiplexOutputDestinationMultiplexMediaConnectOutputDestinationSettingsPropertiesArgs: def __init__(__self__, *, @@ -461,3 +569,66 @@ def __init__(__self__): pass +@pulumi.input_type +class NetworkIpPoolArgs: + def __init__(__self__, *, + cidr: Optional[pulumi.Input[str]] = None): + """ + IP address cidr pool + :param pulumi.Input[str] cidr: IP address cidr pool + """ + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + + @property + @pulumi.getter + def cidr(self) -> Optional[pulumi.Input[str]]: + """ + IP address cidr pool + """ + return pulumi.get(self, "cidr") + + @cidr.setter + def cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cidr", value) + + +@pulumi.input_type +class NetworkRouteArgs: + def __init__(__self__, *, + cidr: Optional[pulumi.Input[str]] = None, + gateway: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] cidr: Ip address cidr + :param pulumi.Input[str] gateway: IP address for the route packet paths + """ + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + if gateway is not None: + pulumi.set(__self__, "gateway", gateway) + + @property + @pulumi.getter + def cidr(self) -> Optional[pulumi.Input[str]]: + """ + Ip address cidr + """ + return pulumi.get(self, "cidr") + + @cidr.setter + def cidr(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cidr", value) + + @property + @pulumi.getter + def gateway(self) -> Optional[pulumi.Input[str]]: + """ + IP address for the route packet paths + """ + return pulumi.get(self, "gateway") + + @gateway.setter + def gateway(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "gateway", value) + + diff --git a/sdk/python/pulumi_aws_native/medialive/channel_placement_group.py b/sdk/python/pulumi_aws_native/medialive/channel_placement_group.py new file mode 100644 index 0000000000..4e21ac13fc --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/channel_placement_group.py @@ -0,0 +1,248 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = ['ChannelPlacementGroupArgs', 'ChannelPlacementGroup'] + +@pulumi.input_type +class ChannelPlacementGroupArgs: + def __init__(__self__, *, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a ChannelPlacementGroup resource. + :param pulumi.Input[str] cluster_id: The ID of the cluster the node is on. + :param pulumi.Input[str] name: The name of the channel placement group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] nodes: List of nodes added to the channel placement group + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A collection of key-value pairs. + """ + if cluster_id is not None: + pulumi.set(__self__, "cluster_id", cluster_id) + if name is not None: + pulumi.set(__self__, "name", name) + if nodes is not None: + pulumi.set(__self__, "nodes", nodes) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the cluster the node is on. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the channel placement group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of nodes added to the channel placement group + """ + return pulumi.get(self, "nodes") + + @nodes.setter + def nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "nodes", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class ChannelPlacementGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_id: The ID of the cluster the node is on. + :param pulumi.Input[str] name: The name of the channel placement group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] nodes: List of nodes added to the channel placement group + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A collection of key-value pairs. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ChannelPlacementGroupArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + + :param str resource_name: The name of the resource. + :param ChannelPlacementGroupArgs 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(ChannelPlacementGroupArgs, 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, + cluster_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = 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__ = ChannelPlacementGroupArgs.__new__(ChannelPlacementGroupArgs) + + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["name"] = name + __props__.__dict__["nodes"] = nodes + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["channels"] = None + __props__.__dict__["state"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clusterId"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(ChannelPlacementGroup, __self__).__init__( + 'aws-native:medialive:ChannelPlacementGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ChannelPlacementGroup': + """ + Get an existing ChannelPlacementGroup 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ChannelPlacementGroupArgs.__new__(ChannelPlacementGroupArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["channels"] = None + __props__.__dict__["cluster_id"] = None + __props__.__dict__["name"] = None + __props__.__dict__["nodes"] = None + __props__.__dict__["state"] = None + __props__.__dict__["tags"] = None + return ChannelPlacementGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the channel placement group. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + Unique internal identifier. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter + def channels(self) -> pulumi.Output[Sequence[str]]: + """ + List of channel IDs added to the channel placement group. + """ + return pulumi.get(self, "channels") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the cluster the node is on. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the channel placement group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def nodes(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of nodes added to the channel placement group + """ + return pulumi.get(self, "nodes") + + @property + @pulumi.getter + def state(self) -> pulumi.Output['ChannelPlacementGroupState']: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template.py b/sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template.py new file mode 100644 index 0000000000..9014af4694 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template.py @@ -0,0 +1,490 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from ._enums import * + +__all__ = ['CloudWatchAlarmTemplateArgs', 'CloudWatchAlarmTemplate'] + +@pulumi.input_type +class CloudWatchAlarmTemplateArgs: + def __init__(__self__, *, + comparison_operator: pulumi.Input['CloudWatchAlarmTemplateComparisonOperator'], + evaluation_periods: pulumi.Input[float], + group_identifier: pulumi.Input[str], + metric_name: pulumi.Input[str], + period: pulumi.Input[float], + statistic: pulumi.Input['CloudWatchAlarmTemplateStatistic'], + target_resource_type: pulumi.Input['CloudWatchAlarmTemplateTargetResourceType'], + threshold: pulumi.Input[float], + treat_missing_data: pulumi.Input['CloudWatchAlarmTemplateTreatMissingData'], + datapoints_to_alarm: Optional[pulumi.Input[float]] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a CloudWatchAlarmTemplate resource. + :param pulumi.Input[float] evaluation_periods: The number of periods over which data is compared to the specified threshold. + :param pulumi.Input[str] group_identifier: A cloudwatch alarm template group's identifier. Can be either be its id or current name. + :param pulumi.Input[str] metric_name: The name of the metric associated with the alarm. Must be compatible with targetResourceType. + :param pulumi.Input[float] period: The period, in seconds, over which the specified statistic is applied. + :param pulumi.Input[float] threshold: The threshold value to compare with the specified statistic. + :param pulumi.Input[float] datapoints_to_alarm: The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + pulumi.set(__self__, "comparison_operator", comparison_operator) + pulumi.set(__self__, "evaluation_periods", evaluation_periods) + pulumi.set(__self__, "group_identifier", group_identifier) + pulumi.set(__self__, "metric_name", metric_name) + pulumi.set(__self__, "period", period) + pulumi.set(__self__, "statistic", statistic) + pulumi.set(__self__, "target_resource_type", target_resource_type) + pulumi.set(__self__, "threshold", threshold) + pulumi.set(__self__, "treat_missing_data", treat_missing_data) + if datapoints_to_alarm is not None: + pulumi.set(__self__, "datapoints_to_alarm", datapoints_to_alarm) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="comparisonOperator") + def comparison_operator(self) -> pulumi.Input['CloudWatchAlarmTemplateComparisonOperator']: + return pulumi.get(self, "comparison_operator") + + @comparison_operator.setter + def comparison_operator(self, value: pulumi.Input['CloudWatchAlarmTemplateComparisonOperator']): + pulumi.set(self, "comparison_operator", value) + + @property + @pulumi.getter(name="evaluationPeriods") + def evaluation_periods(self) -> pulumi.Input[float]: + """ + The number of periods over which data is compared to the specified threshold. + """ + return pulumi.get(self, "evaluation_periods") + + @evaluation_periods.setter + def evaluation_periods(self, value: pulumi.Input[float]): + pulumi.set(self, "evaluation_periods", value) + + @property + @pulumi.getter(name="groupIdentifier") + def group_identifier(self) -> pulumi.Input[str]: + """ + A cloudwatch alarm template group's identifier. Can be either be its id or current name. + """ + return pulumi.get(self, "group_identifier") + + @group_identifier.setter + def group_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "group_identifier", value) + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> pulumi.Input[str]: + """ + The name of the metric associated with the alarm. Must be compatible with targetResourceType. + """ + return pulumi.get(self, "metric_name") + + @metric_name.setter + def metric_name(self, value: pulumi.Input[str]): + pulumi.set(self, "metric_name", value) + + @property + @pulumi.getter + def period(self) -> pulumi.Input[float]: + """ + The period, in seconds, over which the specified statistic is applied. + """ + return pulumi.get(self, "period") + + @period.setter + def period(self, value: pulumi.Input[float]): + pulumi.set(self, "period", value) + + @property + @pulumi.getter + def statistic(self) -> pulumi.Input['CloudWatchAlarmTemplateStatistic']: + return pulumi.get(self, "statistic") + + @statistic.setter + def statistic(self, value: pulumi.Input['CloudWatchAlarmTemplateStatistic']): + pulumi.set(self, "statistic", value) + + @property + @pulumi.getter(name="targetResourceType") + def target_resource_type(self) -> pulumi.Input['CloudWatchAlarmTemplateTargetResourceType']: + return pulumi.get(self, "target_resource_type") + + @target_resource_type.setter + def target_resource_type(self, value: pulumi.Input['CloudWatchAlarmTemplateTargetResourceType']): + pulumi.set(self, "target_resource_type", value) + + @property + @pulumi.getter + def threshold(self) -> pulumi.Input[float]: + """ + The threshold value to compare with the specified statistic. + """ + return pulumi.get(self, "threshold") + + @threshold.setter + def threshold(self, value: pulumi.Input[float]): + pulumi.set(self, "threshold", value) + + @property + @pulumi.getter(name="treatMissingData") + def treat_missing_data(self) -> pulumi.Input['CloudWatchAlarmTemplateTreatMissingData']: + return pulumi.get(self, "treat_missing_data") + + @treat_missing_data.setter + def treat_missing_data(self, value: pulumi.Input['CloudWatchAlarmTemplateTreatMissingData']): + pulumi.set(self, "treat_missing_data", value) + + @property + @pulumi.getter(name="datapointsToAlarm") + def datapoints_to_alarm(self) -> Optional[pulumi.Input[float]]: + """ + The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + """ + return pulumi.get(self, "datapoints_to_alarm") + + @datapoints_to_alarm.setter + def datapoints_to_alarm(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "datapoints_to_alarm", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class CloudWatchAlarmTemplate(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + comparison_operator: Optional[pulumi.Input['CloudWatchAlarmTemplateComparisonOperator']] = None, + datapoints_to_alarm: Optional[pulumi.Input[float]] = None, + description: Optional[pulumi.Input[str]] = None, + evaluation_periods: Optional[pulumi.Input[float]] = None, + group_identifier: Optional[pulumi.Input[str]] = None, + metric_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[float]] = None, + statistic: Optional[pulumi.Input['CloudWatchAlarmTemplateStatistic']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + target_resource_type: Optional[pulumi.Input['CloudWatchAlarmTemplateTargetResourceType']] = None, + threshold: Optional[pulumi.Input[float]] = None, + treat_missing_data: Optional[pulumi.Input['CloudWatchAlarmTemplateTreatMissingData']] = None, + __props__=None): + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[float] datapoints_to_alarm: The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[float] evaluation_periods: The number of periods over which data is compared to the specified threshold. + :param pulumi.Input[str] group_identifier: A cloudwatch alarm template group's identifier. Can be either be its id or current name. + :param pulumi.Input[str] metric_name: The name of the metric associated with the alarm. Must be compatible with targetResourceType. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + :param pulumi.Input[float] period: The period, in seconds, over which the specified statistic is applied. + :param pulumi.Input[float] threshold: The threshold value to compare with the specified statistic. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CloudWatchAlarmTemplateArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + + :param str resource_name: The name of the resource. + :param CloudWatchAlarmTemplateArgs 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(CloudWatchAlarmTemplateArgs, 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, + comparison_operator: Optional[pulumi.Input['CloudWatchAlarmTemplateComparisonOperator']] = None, + datapoints_to_alarm: Optional[pulumi.Input[float]] = None, + description: Optional[pulumi.Input[str]] = None, + evaluation_periods: Optional[pulumi.Input[float]] = None, + group_identifier: Optional[pulumi.Input[str]] = None, + metric_name: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[float]] = None, + statistic: Optional[pulumi.Input['CloudWatchAlarmTemplateStatistic']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + target_resource_type: Optional[pulumi.Input['CloudWatchAlarmTemplateTargetResourceType']] = None, + threshold: Optional[pulumi.Input[float]] = None, + treat_missing_data: Optional[pulumi.Input['CloudWatchAlarmTemplateTreatMissingData']] = 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__ = CloudWatchAlarmTemplateArgs.__new__(CloudWatchAlarmTemplateArgs) + + if comparison_operator is None and not opts.urn: + raise TypeError("Missing required property 'comparison_operator'") + __props__.__dict__["comparison_operator"] = comparison_operator + __props__.__dict__["datapoints_to_alarm"] = datapoints_to_alarm + __props__.__dict__["description"] = description + if evaluation_periods is None and not opts.urn: + raise TypeError("Missing required property 'evaluation_periods'") + __props__.__dict__["evaluation_periods"] = evaluation_periods + if group_identifier is None and not opts.urn: + raise TypeError("Missing required property 'group_identifier'") + __props__.__dict__["group_identifier"] = group_identifier + if metric_name is None and not opts.urn: + raise TypeError("Missing required property 'metric_name'") + __props__.__dict__["metric_name"] = metric_name + __props__.__dict__["name"] = name + if period is None and not opts.urn: + raise TypeError("Missing required property 'period'") + __props__.__dict__["period"] = period + if statistic is None and not opts.urn: + raise TypeError("Missing required property 'statistic'") + __props__.__dict__["statistic"] = statistic + __props__.__dict__["tags"] = tags + if target_resource_type is None and not opts.urn: + raise TypeError("Missing required property 'target_resource_type'") + __props__.__dict__["target_resource_type"] = target_resource_type + if threshold is None and not opts.urn: + raise TypeError("Missing required property 'threshold'") + __props__.__dict__["threshold"] = threshold + if treat_missing_data is None and not opts.urn: + raise TypeError("Missing required property 'treat_missing_data'") + __props__.__dict__["treat_missing_data"] = treat_missing_data + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["group_id"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["tags.*"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(CloudWatchAlarmTemplate, __self__).__init__( + 'aws-native:medialive:CloudWatchAlarmTemplate', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'CloudWatchAlarmTemplate': + """ + Get an existing CloudWatchAlarmTemplate 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = CloudWatchAlarmTemplateArgs.__new__(CloudWatchAlarmTemplateArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["comparison_operator"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["datapoints_to_alarm"] = None + __props__.__dict__["description"] = None + __props__.__dict__["evaluation_periods"] = None + __props__.__dict__["group_id"] = None + __props__.__dict__["group_identifier"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["metric_name"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["name"] = None + __props__.__dict__["period"] = None + __props__.__dict__["statistic"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["target_resource_type"] = None + __props__.__dict__["threshold"] = None + __props__.__dict__["treat_missing_data"] = None + return CloudWatchAlarmTemplate(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + A cloudwatch alarm template's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="comparisonOperator") + def comparison_operator(self) -> pulumi.Output['CloudWatchAlarmTemplateComparisonOperator']: + return pulumi.get(self, "comparison_operator") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="datapointsToAlarm") + def datapoints_to_alarm(self) -> pulumi.Output[Optional[float]]: + """ + The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + """ + return pulumi.get(self, "datapoints_to_alarm") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="evaluationPeriods") + def evaluation_periods(self) -> pulumi.Output[float]: + """ + The number of periods over which data is compared to the specified threshold. + """ + return pulumi.get(self, "evaluation_periods") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="groupIdentifier") + def group_identifier(self) -> pulumi.Output[str]: + """ + A cloudwatch alarm template group's identifier. Can be either be its id or current name. + """ + return pulumi.get(self, "group_identifier") + + @property + @pulumi.getter + def identifier(self) -> pulumi.Output[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> pulumi.Output[str]: + """ + The name of the metric associated with the alarm. Must be compatible with targetResourceType. + """ + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def period(self) -> pulumi.Output[float]: + """ + The period, in seconds, over which the specified statistic is applied. + """ + return pulumi.get(self, "period") + + @property + @pulumi.getter + def statistic(self) -> pulumi.Output['CloudWatchAlarmTemplateStatistic']: + return pulumi.get(self, "statistic") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="targetResourceType") + def target_resource_type(self) -> pulumi.Output['CloudWatchAlarmTemplateTargetResourceType']: + return pulumi.get(self, "target_resource_type") + + @property + @pulumi.getter + def threshold(self) -> pulumi.Output[float]: + """ + The threshold value to compare with the specified statistic. + """ + return pulumi.get(self, "threshold") + + @property + @pulumi.getter(name="treatMissingData") + def treat_missing_data(self) -> pulumi.Output['CloudWatchAlarmTemplateTreatMissingData']: + return pulumi.get(self, "treat_missing_data") + diff --git a/sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template_group.py b/sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template_group.py new file mode 100644 index 0000000000..f4a3e6ca5a --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/cloud_watch_alarm_template_group.py @@ -0,0 +1,218 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['CloudWatchAlarmTemplateGroupArgs', 'CloudWatchAlarmTemplateGroup'] + +@pulumi.input_type +class CloudWatchAlarmTemplateGroupArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a CloudWatchAlarmTemplateGroup resource. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class CloudWatchAlarmTemplateGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[CloudWatchAlarmTemplateGroupArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + + :param str resource_name: The name of the resource. + :param CloudWatchAlarmTemplateGroupArgs 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(CloudWatchAlarmTemplateGroupArgs, 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, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = 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__ = CloudWatchAlarmTemplateGroupArgs.__new__(CloudWatchAlarmTemplateGroupArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "tags.*"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(CloudWatchAlarmTemplateGroup, __self__).__init__( + 'aws-native:medialive:CloudWatchAlarmTemplateGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'CloudWatchAlarmTemplateGroup': + """ + Get an existing CloudWatchAlarmTemplateGroup 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = CloudWatchAlarmTemplateGroupArgs.__new__(CloudWatchAlarmTemplateGroupArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["description"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["name"] = None + __props__.__dict__["tags"] = None + return CloudWatchAlarmTemplateGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + A cloudwatch alarm template group's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The date and time of resource creation. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def identifier(self) -> pulumi.Output[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> pulumi.Output[str]: + """ + The date and time of latest resource modification. + """ + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/medialive/cluster.py b/sdk/python/pulumi_aws_native/medialive/cluster.py new file mode 100644 index 0000000000..108512bda7 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/cluster.py @@ -0,0 +1,263 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ClusterArgs', 'Cluster'] + +@pulumi.input_type +class ClusterArgs: + def __init__(__self__, *, + cluster_type: Optional[pulumi.Input['ClusterType']] = None, + instance_role_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + network_settings: Optional[pulumi.Input['ClusterNetworkSettingsArgs']] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a Cluster resource. + :param pulumi.Input[str] instance_role_arn: The IAM role your nodes will use. + :param pulumi.Input[str] name: The user-specified name of the Cluster to be created. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A collection of key-value pairs. + """ + if cluster_type is not None: + pulumi.set(__self__, "cluster_type", cluster_type) + if instance_role_arn is not None: + pulumi.set(__self__, "instance_role_arn", instance_role_arn) + if name is not None: + pulumi.set(__self__, "name", name) + if network_settings is not None: + pulumi.set(__self__, "network_settings", network_settings) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> Optional[pulumi.Input['ClusterType']]: + return pulumi.get(self, "cluster_type") + + @cluster_type.setter + def cluster_type(self, value: Optional[pulumi.Input['ClusterType']]): + pulumi.set(self, "cluster_type", value) + + @property + @pulumi.getter(name="instanceRoleArn") + def instance_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The IAM role your nodes will use. + """ + return pulumi.get(self, "instance_role_arn") + + @instance_role_arn.setter + def instance_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_role_arn", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The user-specified name of the Cluster to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="networkSettings") + def network_settings(self) -> Optional[pulumi.Input['ClusterNetworkSettingsArgs']]: + return pulumi.get(self, "network_settings") + + @network_settings.setter + def network_settings(self, value: Optional[pulumi.Input['ClusterNetworkSettingsArgs']]): + pulumi.set(self, "network_settings", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class Cluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_type: Optional[pulumi.Input['ClusterType']] = None, + instance_role_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + network_settings: Optional[pulumi.Input[Union['ClusterNetworkSettingsArgs', 'ClusterNetworkSettingsArgsDict']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Definition of AWS::MediaLive::Cluster Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] instance_role_arn: The IAM role your nodes will use. + :param pulumi.Input[str] name: The user-specified name of the Cluster to be created. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A collection of key-value pairs. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ClusterArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::Cluster Resource Type + + :param str resource_name: The name of the resource. + :param ClusterArgs 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(ClusterArgs, 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, + cluster_type: Optional[pulumi.Input['ClusterType']] = None, + instance_role_arn: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + network_settings: Optional[pulumi.Input[Union['ClusterNetworkSettingsArgs', 'ClusterNetworkSettingsArgsDict']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = 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__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_type"] = cluster_type + __props__.__dict__["instance_role_arn"] = instance_role_arn + __props__.__dict__["name"] = name + __props__.__dict__["network_settings"] = network_settings + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["channel_ids"] = None + __props__.__dict__["state"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clusterType", "instanceRoleArn"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Cluster, __self__).__init__( + 'aws-native:medialive:Cluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Cluster': + """ + Get an existing Cluster 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["channel_ids"] = None + __props__.__dict__["cluster_type"] = None + __props__.__dict__["instance_role_arn"] = None + __props__.__dict__["name"] = None + __props__.__dict__["network_settings"] = None + __props__.__dict__["state"] = None + __props__.__dict__["tags"] = None + return Cluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the Cluster. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + The unique ID of the Cluster. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="channelIds") + def channel_ids(self) -> pulumi.Output[Sequence[str]]: + """ + The MediaLive Channels that are currently running on Nodes in this Cluster. + """ + return pulumi.get(self, "channel_ids") + + @property + @pulumi.getter(name="clusterType") + def cluster_type(self) -> pulumi.Output[Optional['ClusterType']]: + return pulumi.get(self, "cluster_type") + + @property + @pulumi.getter(name="instanceRoleArn") + def instance_role_arn(self) -> pulumi.Output[Optional[str]]: + """ + The IAM role your nodes will use. + """ + return pulumi.get(self, "instance_role_arn") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The user-specified name of the Cluster to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkSettings") + def network_settings(self) -> pulumi.Output[Optional['outputs.ClusterNetworkSettings']]: + return pulumi.get(self, "network_settings") + + @property + @pulumi.getter + def state(self) -> pulumi.Output['ClusterState']: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template.py b/sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template.py new file mode 100644 index 0000000000..8f9ead7750 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template.py @@ -0,0 +1,315 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['EventBridgeRuleTemplateArgs', 'EventBridgeRuleTemplate'] + +@pulumi.input_type +class EventBridgeRuleTemplateArgs: + def __init__(__self__, *, + event_type: pulumi.Input['EventBridgeRuleTemplateEventType'], + group_identifier: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + event_targets: Optional[pulumi.Input[Sequence[pulumi.Input['EventBridgeRuleTemplateTargetArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a EventBridgeRuleTemplate resource. + :param pulumi.Input[str] group_identifier: An eventbridge rule template group's identifier. Can be either be its id or current name. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[Sequence[pulumi.Input['EventBridgeRuleTemplateTargetArgs']]] event_targets: Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + pulumi.set(__self__, "event_type", event_type) + pulumi.set(__self__, "group_identifier", group_identifier) + if description is not None: + pulumi.set(__self__, "description", description) + if event_targets is not None: + pulumi.set(__self__, "event_targets", event_targets) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="eventType") + def event_type(self) -> pulumi.Input['EventBridgeRuleTemplateEventType']: + return pulumi.get(self, "event_type") + + @event_type.setter + def event_type(self, value: pulumi.Input['EventBridgeRuleTemplateEventType']): + pulumi.set(self, "event_type", value) + + @property + @pulumi.getter(name="groupIdentifier") + def group_identifier(self) -> pulumi.Input[str]: + """ + An eventbridge rule template group's identifier. Can be either be its id or current name. + """ + return pulumi.get(self, "group_identifier") + + @group_identifier.setter + def group_identifier(self, value: pulumi.Input[str]): + pulumi.set(self, "group_identifier", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="eventTargets") + def event_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EventBridgeRuleTemplateTargetArgs']]]]: + """ + Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + """ + return pulumi.get(self, "event_targets") + + @event_targets.setter + def event_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventBridgeRuleTemplateTargetArgs']]]]): + pulumi.set(self, "event_targets", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class EventBridgeRuleTemplate(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + event_targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EventBridgeRuleTemplateTargetArgs', 'EventBridgeRuleTemplateTargetArgsDict']]]]] = None, + event_type: Optional[pulumi.Input['EventBridgeRuleTemplateEventType']] = None, + group_identifier: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[Sequence[pulumi.Input[Union['EventBridgeRuleTemplateTargetArgs', 'EventBridgeRuleTemplateTargetArgsDict']]]] event_targets: Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + :param pulumi.Input[str] group_identifier: An eventbridge rule template group's identifier. Can be either be its id or current name. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EventBridgeRuleTemplateArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + + :param str resource_name: The name of the resource. + :param EventBridgeRuleTemplateArgs 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(EventBridgeRuleTemplateArgs, 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, + description: Optional[pulumi.Input[str]] = None, + event_targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['EventBridgeRuleTemplateTargetArgs', 'EventBridgeRuleTemplateTargetArgsDict']]]]] = None, + event_type: Optional[pulumi.Input['EventBridgeRuleTemplateEventType']] = None, + group_identifier: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = 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__ = EventBridgeRuleTemplateArgs.__new__(EventBridgeRuleTemplateArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["event_targets"] = event_targets + if event_type is None and not opts.urn: + raise TypeError("Missing required property 'event_type'") + __props__.__dict__["event_type"] = event_type + if group_identifier is None and not opts.urn: + raise TypeError("Missing required property 'group_identifier'") + __props__.__dict__["group_identifier"] = group_identifier + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["group_id"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["tags.*"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(EventBridgeRuleTemplate, __self__).__init__( + 'aws-native:medialive:EventBridgeRuleTemplate', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'EventBridgeRuleTemplate': + """ + Get an existing EventBridgeRuleTemplate 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = EventBridgeRuleTemplateArgs.__new__(EventBridgeRuleTemplateArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["description"] = None + __props__.__dict__["event_targets"] = None + __props__.__dict__["event_type"] = None + __props__.__dict__["group_id"] = None + __props__.__dict__["group_identifier"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["name"] = None + __props__.__dict__["tags"] = None + return EventBridgeRuleTemplate(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + An eventbridge rule template's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + Placeholder documentation for __timestampIso8601 + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="eventTargets") + def event_targets(self) -> pulumi.Output[Optional[Sequence['outputs.EventBridgeRuleTemplateTarget']]]: + """ + Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + """ + return pulumi.get(self, "event_targets") + + @property + @pulumi.getter(name="eventType") + def event_type(self) -> pulumi.Output['EventBridgeRuleTemplateEventType']: + return pulumi.get(self, "event_type") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> pulumi.Output[str]: + """ + An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="groupIdentifier") + def group_identifier(self) -> pulumi.Output[str]: + """ + An eventbridge rule template group's identifier. Can be either be its id or current name. + """ + return pulumi.get(self, "group_identifier") + + @property + @pulumi.getter + def identifier(self) -> pulumi.Output[str]: + """ + Placeholder documentation for __string + """ + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> pulumi.Output[str]: + """ + Placeholder documentation for __timestampIso8601 + """ + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template_group.py b/sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template_group.py new file mode 100644 index 0000000000..99e4a95e8e --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/event_bridge_rule_template_group.py @@ -0,0 +1,218 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['EventBridgeRuleTemplateGroupArgs', 'EventBridgeRuleTemplateGroup'] + +@pulumi.input_type +class EventBridgeRuleTemplateGroupArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a EventBridgeRuleTemplateGroup resource. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class EventBridgeRuleTemplateGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[EventBridgeRuleTemplateGroupArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + + :param str resource_name: The name of the resource. + :param EventBridgeRuleTemplateGroupArgs 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(EventBridgeRuleTemplateGroupArgs, 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, + description: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = 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__ = EventBridgeRuleTemplateGroupArgs.__new__(EventBridgeRuleTemplateGroupArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "tags.*"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(EventBridgeRuleTemplateGroup, __self__).__init__( + 'aws-native:medialive:EventBridgeRuleTemplateGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'EventBridgeRuleTemplateGroup': + """ + Get an existing EventBridgeRuleTemplateGroup 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = EventBridgeRuleTemplateGroupArgs.__new__(EventBridgeRuleTemplateGroupArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["description"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["name"] = None + __props__.__dict__["tags"] = None + return EventBridgeRuleTemplateGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + An eventbridge rule template group's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The date and time of resource creation. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def identifier(self) -> pulumi.Output[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> pulumi.Output[str]: + """ + The date and time of latest resource modification. + """ + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/medialive/get_channel_placement_group.py b/sdk/python/pulumi_aws_native/medialive/get_channel_placement_group.py new file mode 100644 index 0000000000..f386578d9c --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_channel_placement_group.py @@ -0,0 +1,152 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetChannelPlacementGroupResult', + 'AwaitableGetChannelPlacementGroupResult', + 'get_channel_placement_group', + 'get_channel_placement_group_output', +] + +@pulumi.output_type +class GetChannelPlacementGroupResult: + def __init__(__self__, arn=None, channels=None, id=None, name=None, nodes=None, state=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if channels and not isinstance(channels, list): + raise TypeError("Expected argument 'channels' to be a list") + pulumi.set(__self__, "channels", channels) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if nodes and not isinstance(nodes, list): + raise TypeError("Expected argument 'nodes' to be a list") + pulumi.set(__self__, "nodes", nodes) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The ARN of the channel placement group. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def channels(self) -> Optional[Sequence[str]]: + """ + List of channel IDs added to the channel placement group. + """ + return pulumi.get(self, "channels") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + Unique internal identifier. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the channel placement group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def nodes(self) -> Optional[Sequence[str]]: + """ + List of nodes added to the channel placement group + """ + return pulumi.get(self, "nodes") + + @property + @pulumi.getter + def state(self) -> Optional['ChannelPlacementGroupState']: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetChannelPlacementGroupResult(GetChannelPlacementGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetChannelPlacementGroupResult( + arn=self.arn, + channels=self.channels, + id=self.id, + name=self.name, + nodes=self.nodes, + state=self.state, + tags=self.tags) + + +def get_channel_placement_group(cluster_id: Optional[str] = None, + id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetChannelPlacementGroupResult: + """ + Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + + + :param str cluster_id: The ID of the cluster the node is on. + :param str id: Unique internal identifier. + """ + __args__ = dict() + __args__['clusterId'] = cluster_id + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getChannelPlacementGroup', __args__, opts=opts, typ=GetChannelPlacementGroupResult).value + + return AwaitableGetChannelPlacementGroupResult( + arn=pulumi.get(__ret__, 'arn'), + channels=pulumi.get(__ret__, 'channels'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + nodes=pulumi.get(__ret__, 'nodes'), + state=pulumi.get(__ret__, 'state'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_channel_placement_group) +def get_channel_placement_group_output(cluster_id: Optional[pulumi.Input[str]] = None, + id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetChannelPlacementGroupResult]: + """ + Definition of AWS::MediaLive::ChannelPlacementGroup Resource Type + + + :param str cluster_id: The ID of the cluster the node is on. + :param str id: Unique internal identifier. + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template.py b/sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template.py new file mode 100644 index 0000000000..0fd855da59 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template.py @@ -0,0 +1,252 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from ._enums import * + +__all__ = [ + 'GetCloudWatchAlarmTemplateResult', + 'AwaitableGetCloudWatchAlarmTemplateResult', + 'get_cloud_watch_alarm_template', + 'get_cloud_watch_alarm_template_output', +] + +@pulumi.output_type +class GetCloudWatchAlarmTemplateResult: + def __init__(__self__, arn=None, comparison_operator=None, created_at=None, datapoints_to_alarm=None, description=None, evaluation_periods=None, group_id=None, id=None, identifier=None, metric_name=None, modified_at=None, name=None, period=None, statistic=None, target_resource_type=None, threshold=None, treat_missing_data=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if comparison_operator and not isinstance(comparison_operator, str): + raise TypeError("Expected argument 'comparison_operator' to be a str") + pulumi.set(__self__, "comparison_operator", comparison_operator) + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if datapoints_to_alarm and not isinstance(datapoints_to_alarm, float): + raise TypeError("Expected argument 'datapoints_to_alarm' to be a float") + pulumi.set(__self__, "datapoints_to_alarm", datapoints_to_alarm) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if evaluation_periods and not isinstance(evaluation_periods, float): + raise TypeError("Expected argument 'evaluation_periods' to be a float") + pulumi.set(__self__, "evaluation_periods", evaluation_periods) + if group_id and not isinstance(group_id, str): + raise TypeError("Expected argument 'group_id' to be a str") + pulumi.set(__self__, "group_id", group_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identifier and not isinstance(identifier, str): + raise TypeError("Expected argument 'identifier' to be a str") + pulumi.set(__self__, "identifier", identifier) + if metric_name and not isinstance(metric_name, str): + raise TypeError("Expected argument 'metric_name' to be a str") + pulumi.set(__self__, "metric_name", metric_name) + if modified_at and not isinstance(modified_at, str): + raise TypeError("Expected argument 'modified_at' to be a str") + pulumi.set(__self__, "modified_at", modified_at) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if period and not isinstance(period, float): + raise TypeError("Expected argument 'period' to be a float") + pulumi.set(__self__, "period", period) + if statistic and not isinstance(statistic, str): + raise TypeError("Expected argument 'statistic' to be a str") + pulumi.set(__self__, "statistic", statistic) + if target_resource_type and not isinstance(target_resource_type, str): + raise TypeError("Expected argument 'target_resource_type' to be a str") + pulumi.set(__self__, "target_resource_type", target_resource_type) + if threshold and not isinstance(threshold, float): + raise TypeError("Expected argument 'threshold' to be a float") + pulumi.set(__self__, "threshold", threshold) + if treat_missing_data and not isinstance(treat_missing_data, str): + raise TypeError("Expected argument 'treat_missing_data' to be a str") + pulumi.set(__self__, "treat_missing_data", treat_missing_data) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + A cloudwatch alarm template's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="comparisonOperator") + def comparison_operator(self) -> Optional['CloudWatchAlarmTemplateComparisonOperator']: + return pulumi.get(self, "comparison_operator") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + return pulumi.get(self, "created_at") + + @property + @pulumi.getter(name="datapointsToAlarm") + def datapoints_to_alarm(self) -> Optional[float]: + """ + The number of datapoints within the evaluation period that must be breaching to trigger the alarm. + """ + return pulumi.get(self, "datapoints_to_alarm") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="evaluationPeriods") + def evaluation_periods(self) -> Optional[float]: + """ + The number of periods over which data is compared to the specified threshold. + """ + return pulumi.get(self, "evaluation_periods") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[str]: + """ + A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + A cloudwatch alarm template's id. AWS provided templates have ids that start with `aws-` + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="metricName") + def metric_name(self) -> Optional[str]: + """ + The name of the metric associated with the alarm. Must be compatible with targetResourceType. + """ + return pulumi.get(self, "metric_name") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> Optional[str]: + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def period(self) -> Optional[float]: + """ + The period, in seconds, over which the specified statistic is applied. + """ + return pulumi.get(self, "period") + + @property + @pulumi.getter + def statistic(self) -> Optional['CloudWatchAlarmTemplateStatistic']: + return pulumi.get(self, "statistic") + + @property + @pulumi.getter(name="targetResourceType") + def target_resource_type(self) -> Optional['CloudWatchAlarmTemplateTargetResourceType']: + return pulumi.get(self, "target_resource_type") + + @property + @pulumi.getter + def threshold(self) -> Optional[float]: + """ + The threshold value to compare with the specified statistic. + """ + return pulumi.get(self, "threshold") + + @property + @pulumi.getter(name="treatMissingData") + def treat_missing_data(self) -> Optional['CloudWatchAlarmTemplateTreatMissingData']: + return pulumi.get(self, "treat_missing_data") + + +class AwaitableGetCloudWatchAlarmTemplateResult(GetCloudWatchAlarmTemplateResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCloudWatchAlarmTemplateResult( + arn=self.arn, + comparison_operator=self.comparison_operator, + created_at=self.created_at, + datapoints_to_alarm=self.datapoints_to_alarm, + description=self.description, + evaluation_periods=self.evaluation_periods, + group_id=self.group_id, + id=self.id, + identifier=self.identifier, + metric_name=self.metric_name, + modified_at=self.modified_at, + name=self.name, + period=self.period, + statistic=self.statistic, + target_resource_type=self.target_resource_type, + threshold=self.threshold, + treat_missing_data=self.treat_missing_data) + + +def get_cloud_watch_alarm_template(identifier: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCloudWatchAlarmTemplateResult: + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + """ + __args__ = dict() + __args__['identifier'] = identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getCloudWatchAlarmTemplate', __args__, opts=opts, typ=GetCloudWatchAlarmTemplateResult).value + + return AwaitableGetCloudWatchAlarmTemplateResult( + arn=pulumi.get(__ret__, 'arn'), + comparison_operator=pulumi.get(__ret__, 'comparison_operator'), + created_at=pulumi.get(__ret__, 'created_at'), + datapoints_to_alarm=pulumi.get(__ret__, 'datapoints_to_alarm'), + description=pulumi.get(__ret__, 'description'), + evaluation_periods=pulumi.get(__ret__, 'evaluation_periods'), + group_id=pulumi.get(__ret__, 'group_id'), + id=pulumi.get(__ret__, 'id'), + identifier=pulumi.get(__ret__, 'identifier'), + metric_name=pulumi.get(__ret__, 'metric_name'), + modified_at=pulumi.get(__ret__, 'modified_at'), + name=pulumi.get(__ret__, 'name'), + period=pulumi.get(__ret__, 'period'), + statistic=pulumi.get(__ret__, 'statistic'), + target_resource_type=pulumi.get(__ret__, 'target_resource_type'), + threshold=pulumi.get(__ret__, 'threshold'), + treat_missing_data=pulumi.get(__ret__, 'treat_missing_data')) + + +@_utilities.lift_output_func(get_cloud_watch_alarm_template) +def get_cloud_watch_alarm_template_output(identifier: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCloudWatchAlarmTemplateResult]: + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplate Resource Type + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template_group.py b/sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template_group.py new file mode 100644 index 0000000000..3fd75e85c1 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_cloud_watch_alarm_template_group.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetCloudWatchAlarmTemplateGroupResult', + 'AwaitableGetCloudWatchAlarmTemplateGroupResult', + 'get_cloud_watch_alarm_template_group', + 'get_cloud_watch_alarm_template_group_output', +] + +@pulumi.output_type +class GetCloudWatchAlarmTemplateGroupResult: + def __init__(__self__, arn=None, created_at=None, description=None, id=None, identifier=None, modified_at=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identifier and not isinstance(identifier, str): + raise TypeError("Expected argument 'identifier' to be a str") + pulumi.set(__self__, "identifier", identifier) + if modified_at and not isinstance(modified_at, str): + raise TypeError("Expected argument 'modified_at' to be a str") + pulumi.set(__self__, "modified_at", modified_at) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + A cloudwatch alarm template group's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The date and time of resource creation. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + A cloudwatch alarm template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> Optional[str]: + """ + The date and time of latest resource modification. + """ + return pulumi.get(self, "modified_at") + + +class AwaitableGetCloudWatchAlarmTemplateGroupResult(GetCloudWatchAlarmTemplateGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCloudWatchAlarmTemplateGroupResult( + arn=self.arn, + created_at=self.created_at, + description=self.description, + id=self.id, + identifier=self.identifier, + modified_at=self.modified_at) + + +def get_cloud_watch_alarm_template_group(identifier: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCloudWatchAlarmTemplateGroupResult: + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + """ + __args__ = dict() + __args__['identifier'] = identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getCloudWatchAlarmTemplateGroup', __args__, opts=opts, typ=GetCloudWatchAlarmTemplateGroupResult).value + + return AwaitableGetCloudWatchAlarmTemplateGroupResult( + arn=pulumi.get(__ret__, 'arn'), + created_at=pulumi.get(__ret__, 'created_at'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + identifier=pulumi.get(__ret__, 'identifier'), + modified_at=pulumi.get(__ret__, 'modified_at')) + + +@_utilities.lift_output_func(get_cloud_watch_alarm_template_group) +def get_cloud_watch_alarm_template_group_output(identifier: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCloudWatchAlarmTemplateGroupResult]: + """ + Definition of AWS::MediaLive::CloudWatchAlarmTemplateGroup Resource Type + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_cluster.py b/sdk/python/pulumi_aws_native/medialive/get_cluster.py new file mode 100644 index 0000000000..31e82ad98a --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_cluster.py @@ -0,0 +1,145 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetClusterResult', + 'AwaitableGetClusterResult', + 'get_cluster', + 'get_cluster_output', +] + +@pulumi.output_type +class GetClusterResult: + def __init__(__self__, arn=None, channel_ids=None, id=None, name=None, network_settings=None, state=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if channel_ids and not isinstance(channel_ids, list): + raise TypeError("Expected argument 'channel_ids' to be a list") + pulumi.set(__self__, "channel_ids", channel_ids) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if network_settings and not isinstance(network_settings, dict): + raise TypeError("Expected argument 'network_settings' to be a dict") + pulumi.set(__self__, "network_settings", network_settings) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The ARN of the Cluster. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="channelIds") + def channel_ids(self) -> Optional[Sequence[str]]: + """ + The MediaLive Channels that are currently running on Nodes in this Cluster. + """ + return pulumi.get(self, "channel_ids") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The unique ID of the Cluster. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The user-specified name of the Cluster to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="networkSettings") + def network_settings(self) -> Optional['outputs.ClusterNetworkSettings']: + return pulumi.get(self, "network_settings") + + @property + @pulumi.getter + def state(self) -> Optional['ClusterState']: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetClusterResult(GetClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterResult( + arn=self.arn, + channel_ids=self.channel_ids, + id=self.id, + name=self.name, + network_settings=self.network_settings, + state=self.state, + tags=self.tags) + + +def get_cluster(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult: + """ + Definition of AWS::MediaLive::Cluster Resource Type + + + :param str id: The unique ID of the Cluster. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getCluster', __args__, opts=opts, typ=GetClusterResult).value + + return AwaitableGetClusterResult( + arn=pulumi.get(__ret__, 'arn'), + channel_ids=pulumi.get(__ret__, 'channel_ids'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + network_settings=pulumi.get(__ret__, 'network_settings'), + state=pulumi.get(__ret__, 'state'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_cluster) +def get_cluster_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: + """ + Definition of AWS::MediaLive::Cluster Resource Type + + + :param str id: The unique ID of the Cluster. + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template.py b/sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template.py new file mode 100644 index 0000000000..c7063dd112 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template.py @@ -0,0 +1,186 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetEventBridgeRuleTemplateResult', + 'AwaitableGetEventBridgeRuleTemplateResult', + 'get_event_bridge_rule_template', + 'get_event_bridge_rule_template_output', +] + +@pulumi.output_type +class GetEventBridgeRuleTemplateResult: + def __init__(__self__, arn=None, created_at=None, description=None, event_targets=None, event_type=None, group_id=None, id=None, identifier=None, modified_at=None, name=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if event_targets and not isinstance(event_targets, list): + raise TypeError("Expected argument 'event_targets' to be a list") + pulumi.set(__self__, "event_targets", event_targets) + if event_type and not isinstance(event_type, str): + raise TypeError("Expected argument 'event_type' to be a str") + pulumi.set(__self__, "event_type", event_type) + if group_id and not isinstance(group_id, str): + raise TypeError("Expected argument 'group_id' to be a str") + pulumi.set(__self__, "group_id", group_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identifier and not isinstance(identifier, str): + raise TypeError("Expected argument 'identifier' to be a str") + pulumi.set(__self__, "identifier", identifier) + if modified_at and not isinstance(modified_at, str): + raise TypeError("Expected argument 'modified_at' to be a str") + pulumi.set(__self__, "modified_at", modified_at) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + An eventbridge rule template's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + Placeholder documentation for __timestampIso8601 + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="eventTargets") + def event_targets(self) -> Optional[Sequence['outputs.EventBridgeRuleTemplateTarget']]: + """ + Placeholder documentation for __listOfEventBridgeRuleTemplateTarget + """ + return pulumi.get(self, "event_targets") + + @property + @pulumi.getter(name="eventType") + def event_type(self) -> Optional['EventBridgeRuleTemplateEventType']: + return pulumi.get(self, "event_type") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> Optional[str]: + """ + An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + An eventbridge rule template's id. AWS provided templates have ids that start with `aws-` + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + """ + Placeholder documentation for __string + """ + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> Optional[str]: + """ + Placeholder documentation for __timestampIso8601 + """ + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + +class AwaitableGetEventBridgeRuleTemplateResult(GetEventBridgeRuleTemplateResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEventBridgeRuleTemplateResult( + arn=self.arn, + created_at=self.created_at, + description=self.description, + event_targets=self.event_targets, + event_type=self.event_type, + group_id=self.group_id, + id=self.id, + identifier=self.identifier, + modified_at=self.modified_at, + name=self.name) + + +def get_event_bridge_rule_template(identifier: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEventBridgeRuleTemplateResult: + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + + + :param str identifier: Placeholder documentation for __string + """ + __args__ = dict() + __args__['identifier'] = identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getEventBridgeRuleTemplate', __args__, opts=opts, typ=GetEventBridgeRuleTemplateResult).value + + return AwaitableGetEventBridgeRuleTemplateResult( + arn=pulumi.get(__ret__, 'arn'), + created_at=pulumi.get(__ret__, 'created_at'), + description=pulumi.get(__ret__, 'description'), + event_targets=pulumi.get(__ret__, 'event_targets'), + event_type=pulumi.get(__ret__, 'event_type'), + group_id=pulumi.get(__ret__, 'group_id'), + id=pulumi.get(__ret__, 'id'), + identifier=pulumi.get(__ret__, 'identifier'), + modified_at=pulumi.get(__ret__, 'modified_at'), + name=pulumi.get(__ret__, 'name')) + + +@_utilities.lift_output_func(get_event_bridge_rule_template) +def get_event_bridge_rule_template_output(identifier: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventBridgeRuleTemplateResult]: + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplate Resource Type + + + :param str identifier: Placeholder documentation for __string + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template_group.py b/sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template_group.py new file mode 100644 index 0000000000..4f292a5af8 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_event_bridge_rule_template_group.py @@ -0,0 +1,126 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetEventBridgeRuleTemplateGroupResult', + 'AwaitableGetEventBridgeRuleTemplateGroupResult', + 'get_event_bridge_rule_template_group', + 'get_event_bridge_rule_template_group_output', +] + +@pulumi.output_type +class GetEventBridgeRuleTemplateGroupResult: + def __init__(__self__, arn=None, created_at=None, description=None, id=None, identifier=None, modified_at=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identifier and not isinstance(identifier, str): + raise TypeError("Expected argument 'identifier' to be a str") + pulumi.set(__self__, "identifier", identifier) + if modified_at and not isinstance(modified_at, str): + raise TypeError("Expected argument 'modified_at' to be a str") + pulumi.set(__self__, "modified_at", modified_at) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + An eventbridge rule template group's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + """ + The date and time of resource creation. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + An eventbridge rule template group's id. AWS provided template groups have ids that start with `aws-` + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> Optional[str]: + """ + The date and time of latest resource modification. + """ + return pulumi.get(self, "modified_at") + + +class AwaitableGetEventBridgeRuleTemplateGroupResult(GetEventBridgeRuleTemplateGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEventBridgeRuleTemplateGroupResult( + arn=self.arn, + created_at=self.created_at, + description=self.description, + id=self.id, + identifier=self.identifier, + modified_at=self.modified_at) + + +def get_event_bridge_rule_template_group(identifier: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEventBridgeRuleTemplateGroupResult: + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + """ + __args__ = dict() + __args__['identifier'] = identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getEventBridgeRuleTemplateGroup', __args__, opts=opts, typ=GetEventBridgeRuleTemplateGroupResult).value + + return AwaitableGetEventBridgeRuleTemplateGroupResult( + arn=pulumi.get(__ret__, 'arn'), + created_at=pulumi.get(__ret__, 'created_at'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + identifier=pulumi.get(__ret__, 'identifier'), + modified_at=pulumi.get(__ret__, 'modified_at')) + + +@_utilities.lift_output_func(get_event_bridge_rule_template_group) +def get_event_bridge_rule_template_group_output(identifier: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventBridgeRuleTemplateGroupResult]: + """ + Definition of AWS::MediaLive::EventBridgeRuleTemplateGroup Resource Type + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_network.py b/sdk/python/pulumi_aws_native/medialive/get_network.py new file mode 100644 index 0000000000..90aa061fc1 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_network.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetNetworkResult', + 'AwaitableGetNetworkResult', + 'get_network', + 'get_network_output', +] + +@pulumi.output_type +class GetNetworkResult: + def __init__(__self__, arn=None, associated_cluster_ids=None, id=None, ip_pools=None, name=None, routes=None, state=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if associated_cluster_ids and not isinstance(associated_cluster_ids, list): + raise TypeError("Expected argument 'associated_cluster_ids' to be a list") + pulumi.set(__self__, "associated_cluster_ids", associated_cluster_ids) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ip_pools and not isinstance(ip_pools, list): + raise TypeError("Expected argument 'ip_pools' to be a list") + pulumi.set(__self__, "ip_pools", ip_pools) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if routes and not isinstance(routes, list): + raise TypeError("Expected argument 'routes' to be a list") + pulumi.set(__self__, "routes", routes) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The ARN of the Network. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="associatedClusterIds") + def associated_cluster_ids(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "associated_cluster_ids") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The unique ID of the Network. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="ipPools") + def ip_pools(self) -> Optional[Sequence['outputs.NetworkIpPool']]: + """ + The list of IP address cidr pools for the network + """ + return pulumi.get(self, "ip_pools") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The user-specified name of the Network to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def routes(self) -> Optional[Sequence['outputs.NetworkRoute']]: + """ + The routes for the network + """ + return pulumi.get(self, "routes") + + @property + @pulumi.getter + def state(self) -> Optional['NetworkState']: + """ + The current state of the Network. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetNetworkResult(GetNetworkResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNetworkResult( + arn=self.arn, + associated_cluster_ids=self.associated_cluster_ids, + id=self.id, + ip_pools=self.ip_pools, + name=self.name, + routes=self.routes, + state=self.state, + tags=self.tags) + + +def get_network(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkResult: + """ + Resource schema for AWS::MediaLive::Network. + + + :param str id: The unique ID of the Network. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getNetwork', __args__, opts=opts, typ=GetNetworkResult).value + + return AwaitableGetNetworkResult( + arn=pulumi.get(__ret__, 'arn'), + associated_cluster_ids=pulumi.get(__ret__, 'associated_cluster_ids'), + id=pulumi.get(__ret__, 'id'), + ip_pools=pulumi.get(__ret__, 'ip_pools'), + name=pulumi.get(__ret__, 'name'), + routes=pulumi.get(__ret__, 'routes'), + state=pulumi.get(__ret__, 'state'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_network) +def get_network_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNetworkResult]: + """ + Resource schema for AWS::MediaLive::Network. + + + :param str id: The unique ID of the Network. + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_sdi_source.py b/sdk/python/pulumi_aws_native/medialive/get_sdi_source.py new file mode 100644 index 0000000000..9f6b475f0a --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_sdi_source.py @@ -0,0 +1,154 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetSdiSourceResult', + 'AwaitableGetSdiSourceResult', + 'get_sdi_source', + 'get_sdi_source_output', +] + +@pulumi.output_type +class GetSdiSourceResult: + def __init__(__self__, arn=None, id=None, inputs=None, mode=None, name=None, state=None, tags=None, type=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if inputs and not isinstance(inputs, list): + raise TypeError("Expected argument 'inputs' to be a list") + pulumi.set(__self__, "inputs", inputs) + if mode and not isinstance(mode, str): + raise TypeError("Expected argument 'mode' to be a str") + pulumi.set(__self__, "mode", mode) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The unique arn of the SdiSource. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The unique identifier of the SdiSource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def inputs(self) -> Optional[Sequence[str]]: + """ + The list of inputs currently using this SDI source. + """ + return pulumi.get(self, "inputs") + + @property + @pulumi.getter + def mode(self) -> Optional['SdiSourceMode']: + return pulumi.get(self, "mode") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The name of the SdiSource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def state(self) -> Optional['SdiSourceState']: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> Optional['SdiSourceType']: + return pulumi.get(self, "type") + + +class AwaitableGetSdiSourceResult(GetSdiSourceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSdiSourceResult( + arn=self.arn, + id=self.id, + inputs=self.inputs, + mode=self.mode, + name=self.name, + state=self.state, + tags=self.tags, + type=self.type) + + +def get_sdi_source(id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSdiSourceResult: + """ + Definition of AWS::MediaLive::SdiSource Resource Type + + + :param str id: The unique identifier of the SdiSource. + """ + __args__ = dict() + __args__['id'] = id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getSdiSource', __args__, opts=opts, typ=GetSdiSourceResult).value + + return AwaitableGetSdiSourceResult( + arn=pulumi.get(__ret__, 'arn'), + id=pulumi.get(__ret__, 'id'), + inputs=pulumi.get(__ret__, 'inputs'), + mode=pulumi.get(__ret__, 'mode'), + name=pulumi.get(__ret__, 'name'), + state=pulumi.get(__ret__, 'state'), + tags=pulumi.get(__ret__, 'tags'), + type=pulumi.get(__ret__, 'type')) + + +@_utilities.lift_output_func(get_sdi_source) +def get_sdi_source_output(id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSdiSourceResult]: + """ + Definition of AWS::MediaLive::SdiSource Resource Type + + + :param str id: The unique identifier of the SdiSource. + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/get_signal_map.py b/sdk/python/pulumi_aws_native/medialive/get_signal_map.py new file mode 100644 index 0000000000..73dd053c64 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/get_signal_map.py @@ -0,0 +1,254 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetSignalMapResult', + 'AwaitableGetSignalMapResult', + 'get_signal_map', + 'get_signal_map_output', +] + +@pulumi.output_type +class GetSignalMapResult: + def __init__(__self__, arn=None, cloud_watch_alarm_template_group_ids=None, created_at=None, description=None, discovery_entry_point_arn=None, error_message=None, event_bridge_rule_template_group_ids=None, failed_media_resource_map=None, id=None, identifier=None, last_discovered_at=None, last_successful_monitor_deployment=None, media_resource_map=None, modified_at=None, monitor_changes_pending_deployment=None, monitor_deployment=None, name=None, status=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if cloud_watch_alarm_template_group_ids and not isinstance(cloud_watch_alarm_template_group_ids, list): + raise TypeError("Expected argument 'cloud_watch_alarm_template_group_ids' to be a list") + pulumi.set(__self__, "cloud_watch_alarm_template_group_ids", cloud_watch_alarm_template_group_ids) + if created_at and not isinstance(created_at, str): + raise TypeError("Expected argument 'created_at' to be a str") + pulumi.set(__self__, "created_at", created_at) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if discovery_entry_point_arn and not isinstance(discovery_entry_point_arn, str): + raise TypeError("Expected argument 'discovery_entry_point_arn' to be a str") + pulumi.set(__self__, "discovery_entry_point_arn", discovery_entry_point_arn) + if error_message and not isinstance(error_message, str): + raise TypeError("Expected argument 'error_message' to be a str") + pulumi.set(__self__, "error_message", error_message) + if event_bridge_rule_template_group_ids and not isinstance(event_bridge_rule_template_group_ids, list): + raise TypeError("Expected argument 'event_bridge_rule_template_group_ids' to be a list") + pulumi.set(__self__, "event_bridge_rule_template_group_ids", event_bridge_rule_template_group_ids) + if failed_media_resource_map and not isinstance(failed_media_resource_map, dict): + raise TypeError("Expected argument 'failed_media_resource_map' to be a dict") + pulumi.set(__self__, "failed_media_resource_map", failed_media_resource_map) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identifier and not isinstance(identifier, str): + raise TypeError("Expected argument 'identifier' to be a str") + pulumi.set(__self__, "identifier", identifier) + if last_discovered_at and not isinstance(last_discovered_at, str): + raise TypeError("Expected argument 'last_discovered_at' to be a str") + pulumi.set(__self__, "last_discovered_at", last_discovered_at) + if last_successful_monitor_deployment and not isinstance(last_successful_monitor_deployment, dict): + raise TypeError("Expected argument 'last_successful_monitor_deployment' to be a dict") + pulumi.set(__self__, "last_successful_monitor_deployment", last_successful_monitor_deployment) + if media_resource_map and not isinstance(media_resource_map, dict): + raise TypeError("Expected argument 'media_resource_map' to be a dict") + pulumi.set(__self__, "media_resource_map", media_resource_map) + if modified_at and not isinstance(modified_at, str): + raise TypeError("Expected argument 'modified_at' to be a str") + pulumi.set(__self__, "modified_at", modified_at) + if monitor_changes_pending_deployment and not isinstance(monitor_changes_pending_deployment, bool): + raise TypeError("Expected argument 'monitor_changes_pending_deployment' to be a bool") + pulumi.set(__self__, "monitor_changes_pending_deployment", monitor_changes_pending_deployment) + if monitor_deployment and not isinstance(monitor_deployment, dict): + raise TypeError("Expected argument 'monitor_deployment' to be a dict") + pulumi.set(__self__, "monitor_deployment", monitor_deployment) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + A signal map's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="cloudWatchAlarmTemplateGroupIds") + def cloud_watch_alarm_template_group_ids(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "cloud_watch_alarm_template_group_ids") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[str]: + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="discoveryEntryPointArn") + def discovery_entry_point_arn(self) -> Optional[str]: + """ + A top-level supported AWS resource ARN to discovery a signal map from. + """ + return pulumi.get(self, "discovery_entry_point_arn") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> Optional[str]: + """ + Error message associated with a failed creation or failed update attempt of a signal map. + """ + return pulumi.get(self, "error_message") + + @property + @pulumi.getter(name="eventBridgeRuleTemplateGroupIds") + def event_bridge_rule_template_group_ids(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "event_bridge_rule_template_group_ids") + + @property + @pulumi.getter(name="failedMediaResourceMap") + def failed_media_resource_map(self) -> Optional[Mapping[str, 'outputs.SignalMapMediaResource']]: + return pulumi.get(self, "failed_media_resource_map") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + A signal map's id. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def identifier(self) -> Optional[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="lastDiscoveredAt") + def last_discovered_at(self) -> Optional[str]: + return pulumi.get(self, "last_discovered_at") + + @property + @pulumi.getter(name="lastSuccessfulMonitorDeployment") + def last_successful_monitor_deployment(self) -> Optional['outputs.SignalMapSuccessfulMonitorDeployment']: + return pulumi.get(self, "last_successful_monitor_deployment") + + @property + @pulumi.getter(name="mediaResourceMap") + def media_resource_map(self) -> Optional[Mapping[str, 'outputs.SignalMapMediaResource']]: + return pulumi.get(self, "media_resource_map") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> Optional[str]: + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter(name="monitorChangesPendingDeployment") + def monitor_changes_pending_deployment(self) -> Optional[bool]: + """ + If true, there are pending monitor changes for this signal map that can be deployed. + """ + return pulumi.get(self, "monitor_changes_pending_deployment") + + @property + @pulumi.getter(name="monitorDeployment") + def monitor_deployment(self) -> Optional['outputs.SignalMapMonitorDeployment']: + return pulumi.get(self, "monitor_deployment") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> Optional['SignalMapStatus']: + return pulumi.get(self, "status") + + +class AwaitableGetSignalMapResult(GetSignalMapResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSignalMapResult( + arn=self.arn, + cloud_watch_alarm_template_group_ids=self.cloud_watch_alarm_template_group_ids, + created_at=self.created_at, + description=self.description, + discovery_entry_point_arn=self.discovery_entry_point_arn, + error_message=self.error_message, + event_bridge_rule_template_group_ids=self.event_bridge_rule_template_group_ids, + failed_media_resource_map=self.failed_media_resource_map, + id=self.id, + identifier=self.identifier, + last_discovered_at=self.last_discovered_at, + last_successful_monitor_deployment=self.last_successful_monitor_deployment, + media_resource_map=self.media_resource_map, + modified_at=self.modified_at, + monitor_changes_pending_deployment=self.monitor_changes_pending_deployment, + monitor_deployment=self.monitor_deployment, + name=self.name, + status=self.status) + + +def get_signal_map(identifier: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSignalMapResult: + """ + Definition of AWS::MediaLive::SignalMap Resource Type + """ + __args__ = dict() + __args__['identifier'] = identifier + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:medialive:getSignalMap', __args__, opts=opts, typ=GetSignalMapResult).value + + return AwaitableGetSignalMapResult( + arn=pulumi.get(__ret__, 'arn'), + cloud_watch_alarm_template_group_ids=pulumi.get(__ret__, 'cloud_watch_alarm_template_group_ids'), + created_at=pulumi.get(__ret__, 'created_at'), + description=pulumi.get(__ret__, 'description'), + discovery_entry_point_arn=pulumi.get(__ret__, 'discovery_entry_point_arn'), + error_message=pulumi.get(__ret__, 'error_message'), + event_bridge_rule_template_group_ids=pulumi.get(__ret__, 'event_bridge_rule_template_group_ids'), + failed_media_resource_map=pulumi.get(__ret__, 'failed_media_resource_map'), + id=pulumi.get(__ret__, 'id'), + identifier=pulumi.get(__ret__, 'identifier'), + last_discovered_at=pulumi.get(__ret__, 'last_discovered_at'), + last_successful_monitor_deployment=pulumi.get(__ret__, 'last_successful_monitor_deployment'), + media_resource_map=pulumi.get(__ret__, 'media_resource_map'), + modified_at=pulumi.get(__ret__, 'modified_at'), + monitor_changes_pending_deployment=pulumi.get(__ret__, 'monitor_changes_pending_deployment'), + monitor_deployment=pulumi.get(__ret__, 'monitor_deployment'), + name=pulumi.get(__ret__, 'name'), + status=pulumi.get(__ret__, 'status')) + + +@_utilities.lift_output_func(get_signal_map) +def get_signal_map_output(identifier: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSignalMapResult]: + """ + Definition of AWS::MediaLive::SignalMap Resource Type + """ + ... diff --git a/sdk/python/pulumi_aws_native/medialive/network.py b/sdk/python/pulumi_aws_native/medialive/network.py new file mode 100644 index 0000000000..c87ef98bf4 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/network.py @@ -0,0 +1,249 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['NetworkArgs', 'Network'] + +@pulumi.input_type +class NetworkArgs: + def __init__(__self__, *, + ip_pools: pulumi.Input[Sequence[pulumi.Input['NetworkIpPoolArgs']]], + name: Optional[pulumi.Input[str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkRouteArgs']]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a Network resource. + :param pulumi.Input[Sequence[pulumi.Input['NetworkIpPoolArgs']]] ip_pools: The list of IP address cidr pools for the network + :param pulumi.Input[str] name: The user-specified name of the Network to be created. + :param pulumi.Input[Sequence[pulumi.Input['NetworkRouteArgs']]] routes: The routes for the network + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A collection of key-value pairs. + """ + pulumi.set(__self__, "ip_pools", ip_pools) + if name is not None: + pulumi.set(__self__, "name", name) + if routes is not None: + pulumi.set(__self__, "routes", routes) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="ipPools") + def ip_pools(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkIpPoolArgs']]]: + """ + The list of IP address cidr pools for the network + """ + return pulumi.get(self, "ip_pools") + + @ip_pools.setter + def ip_pools(self, value: pulumi.Input[Sequence[pulumi.Input['NetworkIpPoolArgs']]]): + pulumi.set(self, "ip_pools", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The user-specified name of the Network to be created. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkRouteArgs']]]]: + """ + The routes for the network + """ + return pulumi.get(self, "routes") + + @routes.setter + def routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkRouteArgs']]]]): + pulumi.set(self, "routes", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class Network(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkIpPoolArgs', 'NetworkIpPoolArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkRouteArgs', 'NetworkRouteArgsDict']]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Resource schema for AWS::MediaLive::Network. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkIpPoolArgs', 'NetworkIpPoolArgsDict']]]] ip_pools: The list of IP address cidr pools for the network + :param pulumi.Input[str] name: The user-specified name of the Network to be created. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkRouteArgs', 'NetworkRouteArgsDict']]]] routes: The routes for the network + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A collection of key-value pairs. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: NetworkArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource schema for AWS::MediaLive::Network. + + :param str resource_name: The name of the resource. + :param NetworkArgs 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(NetworkArgs, 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, + ip_pools: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkIpPoolArgs', 'NetworkIpPoolArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NetworkRouteArgs', 'NetworkRouteArgsDict']]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = 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__ = NetworkArgs.__new__(NetworkArgs) + + if ip_pools is None and not opts.urn: + raise TypeError("Missing required property 'ip_pools'") + __props__.__dict__["ip_pools"] = ip_pools + __props__.__dict__["name"] = name + __props__.__dict__["routes"] = routes + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["associated_cluster_ids"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["state"] = None + super(Network, __self__).__init__( + 'aws-native:medialive:Network', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Network': + """ + Get an existing Network 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = NetworkArgs.__new__(NetworkArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["associated_cluster_ids"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["ip_pools"] = None + __props__.__dict__["name"] = None + __props__.__dict__["routes"] = None + __props__.__dict__["state"] = None + __props__.__dict__["tags"] = None + return Network(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the Network. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="associatedClusterIds") + def associated_cluster_ids(self) -> pulumi.Output[Sequence[str]]: + return pulumi.get(self, "associated_cluster_ids") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + The unique ID of the Network. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="ipPools") + def ip_pools(self) -> pulumi.Output[Sequence['outputs.NetworkIpPool']]: + """ + The list of IP address cidr pools for the network + """ + return pulumi.get(self, "ip_pools") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The user-specified name of the Network to be created. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def routes(self) -> pulumi.Output[Optional[Sequence['outputs.NetworkRoute']]]: + """ + The routes for the network + """ + return pulumi.get(self, "routes") + + @property + @pulumi.getter + def state(self) -> pulumi.Output['NetworkState']: + """ + The current state of the Network. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/medialive/outputs.py b/sdk/python/pulumi_aws_native/medialive/outputs.py index 4d461705e6..99a0c3a250 100644 --- a/sdk/python/pulumi_aws_native/medialive/outputs.py +++ b/sdk/python/pulumi_aws_native/medialive/outputs.py @@ -12,6 +12,9 @@ from ._enums import * __all__ = [ + 'ClusterInterfaceMapping', + 'ClusterNetworkSettings', + 'EventBridgeRuleTemplateTarget', 'MultiplexOutputDestination', 'MultiplexOutputDestinationMultiplexMediaConnectOutputDestinationSettingsProperties', 'MultiplexSettings', @@ -20,8 +23,144 @@ 'MultiplexprogramMultiplexProgramServiceDescriptor', 'MultiplexprogramMultiplexProgramSettings', 'MultiplexprogramMultiplexVideoSettings', + 'NetworkIpPool', + 'NetworkRoute', + 'SignalMapMediaResource', + 'SignalMapMediaResourceNeighbor', + 'SignalMapMonitorDeployment', + 'SignalMapSuccessfulMonitorDeployment', ] +@pulumi.output_type +class ClusterInterfaceMapping(dict): + """ + Network mappings for the cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logicalInterfaceName": + suggest = "logical_interface_name" + elif key == "networkId": + suggest = "network_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterInterfaceMapping. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterInterfaceMapping.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterInterfaceMapping.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + logical_interface_name: Optional[str] = None, + network_id: Optional[str] = None): + """ + Network mappings for the cluster + :param str logical_interface_name: logical interface name, unique in the list + :param str network_id: Network Id to be associated with the logical interface name, can be duplicated in list + """ + if logical_interface_name is not None: + pulumi.set(__self__, "logical_interface_name", logical_interface_name) + if network_id is not None: + pulumi.set(__self__, "network_id", network_id) + + @property + @pulumi.getter(name="logicalInterfaceName") + def logical_interface_name(self) -> Optional[str]: + """ + logical interface name, unique in the list + """ + return pulumi.get(self, "logical_interface_name") + + @property + @pulumi.getter(name="networkId") + def network_id(self) -> Optional[str]: + """ + Network Id to be associated with the logical interface name, can be duplicated in list + """ + return pulumi.get(self, "network_id") + + +@pulumi.output_type +class ClusterNetworkSettings(dict): + """ + On premises settings which will have the interface network mappings and default Output logical interface + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultRoute": + suggest = "default_route" + elif key == "interfaceMappings": + suggest = "interface_mappings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterNetworkSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterNetworkSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterNetworkSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_route: Optional[str] = None, + interface_mappings: Optional[Sequence['outputs.ClusterInterfaceMapping']] = None): + """ + On premises settings which will have the interface network mappings and default Output logical interface + :param str default_route: Default value if the customer does not define it in channel Output API + :param Sequence['ClusterInterfaceMapping'] interface_mappings: Network mappings for the cluster + """ + if default_route is not None: + pulumi.set(__self__, "default_route", default_route) + if interface_mappings is not None: + pulumi.set(__self__, "interface_mappings", interface_mappings) + + @property + @pulumi.getter(name="defaultRoute") + def default_route(self) -> Optional[str]: + """ + Default value if the customer does not define it in channel Output API + """ + return pulumi.get(self, "default_route") + + @property + @pulumi.getter(name="interfaceMappings") + def interface_mappings(self) -> Optional[Sequence['outputs.ClusterInterfaceMapping']]: + """ + Network mappings for the cluster + """ + return pulumi.get(self, "interface_mappings") + + +@pulumi.output_type +class EventBridgeRuleTemplateTarget(dict): + """ + The target to which to send matching events. + """ + def __init__(__self__, *, + arn: str): + """ + The target to which to send matching events. + :param str arn: Target ARNs must be either an SNS topic or CloudWatch log group. + """ + pulumi.set(__self__, "arn", arn) + + @property + @pulumi.getter + def arn(self) -> str: + """ + Target ARNs must be either an SNS topic or CloudWatch log group. + """ + return pulumi.get(self, "arn") + + @pulumi.output_type class MultiplexOutputDestination(dict): """ @@ -537,3 +676,237 @@ def __init__(__self__): pass +@pulumi.output_type +class NetworkIpPool(dict): + """ + IP address cidr pool + """ + def __init__(__self__, *, + cidr: Optional[str] = None): + """ + IP address cidr pool + :param str cidr: IP address cidr pool + """ + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + + @property + @pulumi.getter + def cidr(self) -> Optional[str]: + """ + IP address cidr pool + """ + return pulumi.get(self, "cidr") + + +@pulumi.output_type +class NetworkRoute(dict): + def __init__(__self__, *, + cidr: Optional[str] = None, + gateway: Optional[str] = None): + """ + :param str cidr: Ip address cidr + :param str gateway: IP address for the route packet paths + """ + if cidr is not None: + pulumi.set(__self__, "cidr", cidr) + if gateway is not None: + pulumi.set(__self__, "gateway", gateway) + + @property + @pulumi.getter + def cidr(self) -> Optional[str]: + """ + Ip address cidr + """ + return pulumi.get(self, "cidr") + + @property + @pulumi.getter + def gateway(self) -> Optional[str]: + """ + IP address for the route packet paths + """ + return pulumi.get(self, "gateway") + + +@pulumi.output_type +class SignalMapMediaResource(dict): + """ + An AWS resource used in media workflows. + """ + def __init__(__self__, *, + destinations: Optional[Sequence['outputs.SignalMapMediaResourceNeighbor']] = None, + name: Optional[str] = None, + sources: Optional[Sequence['outputs.SignalMapMediaResourceNeighbor']] = None): + """ + An AWS resource used in media workflows. + :param str name: The logical name of an AWS media resource. + """ + if destinations is not None: + pulumi.set(__self__, "destinations", destinations) + if name is not None: + pulumi.set(__self__, "name", name) + if sources is not None: + pulumi.set(__self__, "sources", sources) + + @property + @pulumi.getter + def destinations(self) -> Optional[Sequence['outputs.SignalMapMediaResourceNeighbor']]: + return pulumi.get(self, "destinations") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The logical name of an AWS media resource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def sources(self) -> Optional[Sequence['outputs.SignalMapMediaResourceNeighbor']]: + return pulumi.get(self, "sources") + + +@pulumi.output_type +class SignalMapMediaResourceNeighbor(dict): + """ + A direct source or destination neighbor to an AWS media resource. + """ + def __init__(__self__, *, + arn: str, + name: Optional[str] = None): + """ + A direct source or destination neighbor to an AWS media resource. + :param str arn: The ARN of a resource used in AWS media workflows. + :param str name: The logical name of an AWS media resource. + """ + pulumi.set(__self__, "arn", arn) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def arn(self) -> str: + """ + The ARN of a resource used in AWS media workflows. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + The logical name of an AWS media resource. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class SignalMapMonitorDeployment(dict): + """ + Represents the latest monitor deployment of a signal map. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "detailsUri": + suggest = "details_uri" + elif key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SignalMapMonitorDeployment. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SignalMapMonitorDeployment.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SignalMapMonitorDeployment.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + status: 'SignalMapMonitorDeploymentStatus', + details_uri: Optional[str] = None, + error_message: Optional[str] = None): + """ + Represents the latest monitor deployment of a signal map. + :param str details_uri: URI associated with a signal map's monitor deployment. + :param str error_message: Error message associated with a failed monitor deployment of a signal map. + """ + pulumi.set(__self__, "status", status) + if details_uri is not None: + pulumi.set(__self__, "details_uri", details_uri) + if error_message is not None: + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter + def status(self) -> 'SignalMapMonitorDeploymentStatus': + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="detailsUri") + def details_uri(self) -> Optional[str]: + """ + URI associated with a signal map's monitor deployment. + """ + return pulumi.get(self, "details_uri") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> Optional[str]: + """ + Error message associated with a failed monitor deployment of a signal map. + """ + return pulumi.get(self, "error_message") + + +@pulumi.output_type +class SignalMapSuccessfulMonitorDeployment(dict): + """ + Represents the latest successful monitor deployment of a signal map. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "detailsUri": + suggest = "details_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SignalMapSuccessfulMonitorDeployment. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SignalMapSuccessfulMonitorDeployment.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SignalMapSuccessfulMonitorDeployment.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + details_uri: str, + status: 'SignalMapMonitorDeploymentStatus'): + """ + Represents the latest successful monitor deployment of a signal map. + :param str details_uri: URI associated with a signal map's monitor deployment. + """ + pulumi.set(__self__, "details_uri", details_uri) + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="detailsUri") + def details_uri(self) -> str: + """ + URI associated with a signal map's monitor deployment. + """ + return pulumi.get(self, "details_uri") + + @property + @pulumi.getter + def status(self) -> 'SignalMapMonitorDeploymentStatus': + return pulumi.get(self, "status") + + diff --git a/sdk/python/pulumi_aws_native/medialive/sdi_source.py b/sdk/python/pulumi_aws_native/medialive/sdi_source.py new file mode 100644 index 0000000000..c0ddbe07e5 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/sdi_source.py @@ -0,0 +1,231 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = ['SdiSourceArgs', 'SdiSource'] + +@pulumi.input_type +class SdiSourceArgs: + def __init__(__self__, *, + type: pulumi.Input['SdiSourceType'], + mode: Optional[pulumi.Input['SdiSourceMode']] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a SdiSource resource. + :param pulumi.Input[str] name: The name of the SdiSource. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A collection of key-value pairs. + """ + pulumi.set(__self__, "type", type) + if mode is not None: + pulumi.set(__self__, "mode", mode) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def type(self) -> pulumi.Input['SdiSourceType']: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input['SdiSourceType']): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def mode(self) -> Optional[pulumi.Input['SdiSourceMode']]: + return pulumi.get(self, "mode") + + @mode.setter + def mode(self, value: Optional[pulumi.Input['SdiSourceMode']]): + pulumi.set(self, "mode", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the SdiSource. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class SdiSource(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + mode: Optional[pulumi.Input['SdiSourceMode']] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + type: Optional[pulumi.Input['SdiSourceType']] = None, + __props__=None): + """ + Definition of AWS::MediaLive::SdiSource Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name of the SdiSource. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A collection of key-value pairs. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SdiSourceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::SdiSource Resource Type + + :param str resource_name: The name of the resource. + :param SdiSourceArgs 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(SdiSourceArgs, 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, + mode: Optional[pulumi.Input['SdiSourceMode']] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + type: Optional[pulumi.Input['SdiSourceType']] = 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__ = SdiSourceArgs.__new__(SdiSourceArgs) + + __props__.__dict__["mode"] = mode + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + if type is None and not opts.urn: + raise TypeError("Missing required property 'type'") + __props__.__dict__["type"] = type + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["inputs"] = None + __props__.__dict__["state"] = None + super(SdiSource, __self__).__init__( + 'aws-native:medialive:SdiSource', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'SdiSource': + """ + Get an existing SdiSource 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SdiSourceArgs.__new__(SdiSourceArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["inputs"] = None + __props__.__dict__["mode"] = None + __props__.__dict__["name"] = None + __props__.__dict__["state"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return SdiSource(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The unique arn of the SdiSource. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + The unique identifier of the SdiSource. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter + def inputs(self) -> pulumi.Output[Sequence[str]]: + """ + The list of inputs currently using this SDI source. + """ + return pulumi.get(self, "inputs") + + @property + @pulumi.getter + def mode(self) -> pulumi.Output[Optional['SdiSourceMode']]: + return pulumi.get(self, "mode") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + The name of the SdiSource. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def state(self) -> pulumi.Output['SdiSourceState']: + return pulumi.get(self, "state") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + A collection of key-value pairs. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output['SdiSourceType']: + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_aws_native/medialive/signal_map.py b/sdk/python/pulumi_aws_native/medialive/signal_map.py new file mode 100644 index 0000000000..608a1aa985 --- /dev/null +++ b/sdk/python/pulumi_aws_native/medialive/signal_map.py @@ -0,0 +1,391 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = ['SignalMapArgs', 'SignalMap'] + +@pulumi.input_type +class SignalMapArgs: + def __init__(__self__, *, + discovery_entry_point_arn: pulumi.Input[str], + cloud_watch_alarm_template_group_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + event_bridge_rule_template_group_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_rediscovery: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a SignalMap resource. + :param pulumi.Input[str] discovery_entry_point_arn: A top-level supported AWS resource ARN to discovery a signal map from. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[bool] force_rediscovery: If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + pulumi.set(__self__, "discovery_entry_point_arn", discovery_entry_point_arn) + if cloud_watch_alarm_template_group_identifiers is not None: + pulumi.set(__self__, "cloud_watch_alarm_template_group_identifiers", cloud_watch_alarm_template_group_identifiers) + if description is not None: + pulumi.set(__self__, "description", description) + if event_bridge_rule_template_group_identifiers is not None: + pulumi.set(__self__, "event_bridge_rule_template_group_identifiers", event_bridge_rule_template_group_identifiers) + if force_rediscovery is not None: + pulumi.set(__self__, "force_rediscovery", force_rediscovery) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="discoveryEntryPointArn") + def discovery_entry_point_arn(self) -> pulumi.Input[str]: + """ + A top-level supported AWS resource ARN to discovery a signal map from. + """ + return pulumi.get(self, "discovery_entry_point_arn") + + @discovery_entry_point_arn.setter + def discovery_entry_point_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "discovery_entry_point_arn", value) + + @property + @pulumi.getter(name="cloudWatchAlarmTemplateGroupIdentifiers") + def cloud_watch_alarm_template_group_identifiers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "cloud_watch_alarm_template_group_identifiers") + + @cloud_watch_alarm_template_group_identifiers.setter + def cloud_watch_alarm_template_group_identifiers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "cloud_watch_alarm_template_group_identifiers", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="eventBridgeRuleTemplateGroupIdentifiers") + def event_bridge_rule_template_group_identifiers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "event_bridge_rule_template_group_identifiers") + + @event_bridge_rule_template_group_identifiers.setter + def event_bridge_rule_template_group_identifiers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "event_bridge_rule_template_group_identifiers", value) + + @property + @pulumi.getter(name="forceRediscovery") + def force_rediscovery(self) -> Optional[pulumi.Input[bool]]: + """ + If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + """ + return pulumi.get(self, "force_rediscovery") + + @force_rediscovery.setter + def force_rediscovery(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "force_rediscovery", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class SignalMap(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cloud_watch_alarm_template_group_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + discovery_entry_point_arn: Optional[pulumi.Input[str]] = None, + event_bridge_rule_template_group_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_rediscovery: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Definition of AWS::MediaLive::SignalMap Resource Type + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A resource's optional description. + :param pulumi.Input[str] discovery_entry_point_arn: A top-level supported AWS resource ARN to discovery a signal map from. + :param pulumi.Input[bool] force_rediscovery: If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + :param pulumi.Input[str] name: A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SignalMapArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::MediaLive::SignalMap Resource Type + + :param str resource_name: The name of the resource. + :param SignalMapArgs 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(SignalMapArgs, 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, + cloud_watch_alarm_template_group_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + description: Optional[pulumi.Input[str]] = None, + discovery_entry_point_arn: Optional[pulumi.Input[str]] = None, + event_bridge_rule_template_group_identifiers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + force_rediscovery: Optional[pulumi.Input[bool]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = 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__ = SignalMapArgs.__new__(SignalMapArgs) + + __props__.__dict__["cloud_watch_alarm_template_group_identifiers"] = cloud_watch_alarm_template_group_identifiers + __props__.__dict__["description"] = description + if discovery_entry_point_arn is None and not opts.urn: + raise TypeError("Missing required property 'discovery_entry_point_arn'") + __props__.__dict__["discovery_entry_point_arn"] = discovery_entry_point_arn + __props__.__dict__["event_bridge_rule_template_group_identifiers"] = event_bridge_rule_template_group_identifiers + __props__.__dict__["force_rediscovery"] = force_rediscovery + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["cloud_watch_alarm_template_group_ids"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["error_message"] = None + __props__.__dict__["event_bridge_rule_template_group_ids"] = None + __props__.__dict__["failed_media_resource_map"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["last_discovered_at"] = None + __props__.__dict__["last_successful_monitor_deployment"] = None + __props__.__dict__["media_resource_map"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["monitor_changes_pending_deployment"] = None + __props__.__dict__["monitor_deployment"] = None + __props__.__dict__["status"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["tags.*"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(SignalMap, __self__).__init__( + 'aws-native:medialive:SignalMap', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'SignalMap': + """ + Get an existing SignalMap 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SignalMapArgs.__new__(SignalMapArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["cloud_watch_alarm_template_group_identifiers"] = None + __props__.__dict__["cloud_watch_alarm_template_group_ids"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["description"] = None + __props__.__dict__["discovery_entry_point_arn"] = None + __props__.__dict__["error_message"] = None + __props__.__dict__["event_bridge_rule_template_group_identifiers"] = None + __props__.__dict__["event_bridge_rule_template_group_ids"] = None + __props__.__dict__["failed_media_resource_map"] = None + __props__.__dict__["force_rediscovery"] = None + __props__.__dict__["identifier"] = None + __props__.__dict__["last_discovered_at"] = None + __props__.__dict__["last_successful_monitor_deployment"] = None + __props__.__dict__["media_resource_map"] = None + __props__.__dict__["modified_at"] = None + __props__.__dict__["monitor_changes_pending_deployment"] = None + __props__.__dict__["monitor_deployment"] = None + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags"] = None + return SignalMap(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + A signal map's ARN (Amazon Resource Name) + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + A signal map's id. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="cloudWatchAlarmTemplateGroupIdentifiers") + def cloud_watch_alarm_template_group_identifiers(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "cloud_watch_alarm_template_group_identifiers") + + @property + @pulumi.getter(name="cloudWatchAlarmTemplateGroupIds") + def cloud_watch_alarm_template_group_ids(self) -> pulumi.Output[Sequence[str]]: + return pulumi.get(self, "cloud_watch_alarm_template_group_ids") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A resource's optional description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="discoveryEntryPointArn") + def discovery_entry_point_arn(self) -> pulumi.Output[str]: + """ + A top-level supported AWS resource ARN to discovery a signal map from. + """ + return pulumi.get(self, "discovery_entry_point_arn") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> pulumi.Output[str]: + """ + Error message associated with a failed creation or failed update attempt of a signal map. + """ + return pulumi.get(self, "error_message") + + @property + @pulumi.getter(name="eventBridgeRuleTemplateGroupIdentifiers") + def event_bridge_rule_template_group_identifiers(self) -> pulumi.Output[Optional[Sequence[str]]]: + return pulumi.get(self, "event_bridge_rule_template_group_identifiers") + + @property + @pulumi.getter(name="eventBridgeRuleTemplateGroupIds") + def event_bridge_rule_template_group_ids(self) -> pulumi.Output[Sequence[str]]: + return pulumi.get(self, "event_bridge_rule_template_group_ids") + + @property + @pulumi.getter(name="failedMediaResourceMap") + def failed_media_resource_map(self) -> pulumi.Output[Mapping[str, 'outputs.SignalMapMediaResource']]: + return pulumi.get(self, "failed_media_resource_map") + + @property + @pulumi.getter(name="forceRediscovery") + def force_rediscovery(self) -> pulumi.Output[Optional[bool]]: + """ + If true, will force a rediscovery of a signal map if an unchanged discoveryEntryPointArn is provided. + """ + return pulumi.get(self, "force_rediscovery") + + @property + @pulumi.getter + def identifier(self) -> pulumi.Output[str]: + return pulumi.get(self, "identifier") + + @property + @pulumi.getter(name="lastDiscoveredAt") + def last_discovered_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "last_discovered_at") + + @property + @pulumi.getter(name="lastSuccessfulMonitorDeployment") + def last_successful_monitor_deployment(self) -> pulumi.Output['outputs.SignalMapSuccessfulMonitorDeployment']: + return pulumi.get(self, "last_successful_monitor_deployment") + + @property + @pulumi.getter(name="mediaResourceMap") + def media_resource_map(self) -> pulumi.Output[Mapping[str, 'outputs.SignalMapMediaResource']]: + return pulumi.get(self, "media_resource_map") + + @property + @pulumi.getter(name="modifiedAt") + def modified_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "modified_at") + + @property + @pulumi.getter(name="monitorChangesPendingDeployment") + def monitor_changes_pending_deployment(self) -> pulumi.Output[bool]: + """ + If true, there are pending monitor changes for this signal map that can be deployed. + """ + return pulumi.get(self, "monitor_changes_pending_deployment") + + @property + @pulumi.getter(name="monitorDeployment") + def monitor_deployment(self) -> pulumi.Output['outputs.SignalMapMonitorDeployment']: + return pulumi.get(self, "monitor_deployment") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A resource's name. Names must be unique within the scope of a resource type in a specific region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['SignalMapStatus']: + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/paymentcryptography/_enums.py b/sdk/python/pulumi_aws_native/paymentcryptography/_enums.py index 3b35c9a89a..16f92e9339 100644 --- a/sdk/python/pulumi_aws_native/paymentcryptography/_enums.py +++ b/sdk/python/pulumi_aws_native/paymentcryptography/_enums.py @@ -23,6 +23,8 @@ class KeyAlgorithm(str, Enum): RSA2048 = "RSA_2048" RSA3072 = "RSA_3072" RSA4096 = "RSA_4096" + ECC_NIST_P256 = "ECC_NIST_P256" + ECC_NIST_P384 = "ECC_NIST_P384" class KeyCheckValueAlgorithm(str, Enum): diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/__init__.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/__init__.py new file mode 100644 index 0000000000..808c589b78 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/__init__.py @@ -0,0 +1,14 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .challenge import * +from .connector import * +from .get_challenge import * +from .get_connector import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/_enums.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/_enums.py new file mode 100644 index 0000000000..d5abcaf87e --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/_enums.py @@ -0,0 +1,14 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'ConnectorType', +] + + +class ConnectorType(str, Enum): + GENERAL_PURPOSE = "GENERAL_PURPOSE" + INTUNE = "INTUNE" diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/_inputs.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/_inputs.py new file mode 100644 index 0000000000..4c831b2045 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/_inputs.py @@ -0,0 +1,22 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from ._enums import * + +__all__ = [ + 'ConnectorMobileDeviceManagementArgs', +] + +@pulumi.input_type +class ConnectorMobileDeviceManagementArgs: + def __init__(__self__): + pass + + diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/challenge.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/challenge.py new file mode 100644 index 0000000000..3514e81660 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/challenge.py @@ -0,0 +1,142 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['ChallengeArgs', 'Challenge'] + +@pulumi.input_type +class ChallengeArgs: + def __init__(__self__, *, + connector_arn: pulumi.Input[str], + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Challenge resource. + """ + pulumi.set(__self__, "connector_arn", connector_arn) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="connectorArn") + def connector_arn(self) -> pulumi.Input[str]: + return pulumi.get(self, "connector_arn") + + @connector_arn.setter + def connector_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "connector_arn", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Challenge(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + connector_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Represents a SCEP Challenge that is used for certificate enrollment + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ChallengeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a SCEP Challenge that is used for certificate enrollment + + :param str resource_name: The name of the resource. + :param ChallengeArgs 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(ChallengeArgs, 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, + connector_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = 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__ = ChallengeArgs.__new__(ChallengeArgs) + + if connector_arn is None and not opts.urn: + raise TypeError("Missing required property 'connector_arn'") + __props__.__dict__["connector_arn"] = connector_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["challenge_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["connectorArn"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Challenge, __self__).__init__( + 'aws-native:pcaconnectorscep:Challenge', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Challenge': + """ + Get an existing Challenge 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ChallengeArgs.__new__(ChallengeArgs) + + __props__.__dict__["challenge_arn"] = None + __props__.__dict__["connector_arn"] = None + __props__.__dict__["tags"] = None + return Challenge(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="challengeArn") + def challenge_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "challenge_arn") + + @property + @pulumi.getter(name="connectorArn") + def connector_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "connector_arn") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/connector.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/connector.py new file mode 100644 index 0000000000..3dd722f292 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/connector.py @@ -0,0 +1,187 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ConnectorArgs', 'Connector'] + +@pulumi.input_type +class ConnectorArgs: + def __init__(__self__, *, + certificate_authority_arn: pulumi.Input[str], + mobile_device_management: Optional[pulumi.Input['ConnectorMobileDeviceManagementArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Connector resource. + """ + pulumi.set(__self__, "certificate_authority_arn", certificate_authority_arn) + if mobile_device_management is not None: + pulumi.set(__self__, "mobile_device_management", mobile_device_management) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="certificateAuthorityArn") + def certificate_authority_arn(self) -> pulumi.Input[str]: + return pulumi.get(self, "certificate_authority_arn") + + @certificate_authority_arn.setter + def certificate_authority_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "certificate_authority_arn", value) + + @property + @pulumi.getter(name="mobileDeviceManagement") + def mobile_device_management(self) -> Optional[pulumi.Input['ConnectorMobileDeviceManagementArgs']]: + return pulumi.get(self, "mobile_device_management") + + @mobile_device_management.setter + def mobile_device_management(self, value: Optional[pulumi.Input['ConnectorMobileDeviceManagementArgs']]): + pulumi.set(self, "mobile_device_management", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Connector(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + certificate_authority_arn: Optional[pulumi.Input[str]] = None, + mobile_device_management: Optional[pulumi.Input[Union['ConnectorMobileDeviceManagementArgs', 'ConnectorMobileDeviceManagementArgsDict']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ConnectorArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + + :param str resource_name: The name of the resource. + :param ConnectorArgs 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(ConnectorArgs, 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, + certificate_authority_arn: Optional[pulumi.Input[str]] = None, + mobile_device_management: Optional[pulumi.Input[Union['ConnectorMobileDeviceManagementArgs', 'ConnectorMobileDeviceManagementArgsDict']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = 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__ = ConnectorArgs.__new__(ConnectorArgs) + + if certificate_authority_arn is None and not opts.urn: + raise TypeError("Missing required property 'certificate_authority_arn'") + __props__.__dict__["certificate_authority_arn"] = certificate_authority_arn + __props__.__dict__["mobile_device_management"] = mobile_device_management + __props__.__dict__["tags"] = tags + __props__.__dict__["connector_arn"] = None + __props__.__dict__["endpoint"] = None + __props__.__dict__["open_id_configuration"] = None + __props__.__dict__["type"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["certificateAuthorityArn", "mobileDeviceManagement"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Connector, __self__).__init__( + 'aws-native:pcaconnectorscep:Connector', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Connector': + """ + Get an existing Connector 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ConnectorArgs.__new__(ConnectorArgs) + + __props__.__dict__["certificate_authority_arn"] = None + __props__.__dict__["connector_arn"] = None + __props__.__dict__["endpoint"] = None + __props__.__dict__["mobile_device_management"] = None + __props__.__dict__["open_id_configuration"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["type"] = None + return Connector(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="certificateAuthorityArn") + def certificate_authority_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "certificate_authority_arn") + + @property + @pulumi.getter(name="connectorArn") + def connector_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "connector_arn") + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Output[str]: + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="mobileDeviceManagement") + def mobile_device_management(self) -> pulumi.Output[Optional['outputs.ConnectorMobileDeviceManagement']]: + return pulumi.get(self, "mobile_device_management") + + @property + @pulumi.getter(name="openIdConfiguration") + def open_id_configuration(self) -> pulumi.Output['outputs.ConnectorOpenIdConfiguration']: + return pulumi.get(self, "open_id_configuration") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> pulumi.Output['ConnectorType']: + return pulumi.get(self, "type") + diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/get_challenge.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/get_challenge.py new file mode 100644 index 0000000000..7f51d62d84 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/get_challenge.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetChallengeResult', + 'AwaitableGetChallengeResult', + 'get_challenge', + 'get_challenge_output', +] + +@pulumi.output_type +class GetChallengeResult: + def __init__(__self__, challenge_arn=None, tags=None): + if challenge_arn and not isinstance(challenge_arn, str): + raise TypeError("Expected argument 'challenge_arn' to be a str") + pulumi.set(__self__, "challenge_arn", challenge_arn) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="challengeArn") + def challenge_arn(self) -> Optional[str]: + return pulumi.get(self, "challenge_arn") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "tags") + + +class AwaitableGetChallengeResult(GetChallengeResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetChallengeResult( + challenge_arn=self.challenge_arn, + tags=self.tags) + + +def get_challenge(challenge_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetChallengeResult: + """ + Represents a SCEP Challenge that is used for certificate enrollment + """ + __args__ = dict() + __args__['challengeArn'] = challenge_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:pcaconnectorscep:getChallenge', __args__, opts=opts, typ=GetChallengeResult).value + + return AwaitableGetChallengeResult( + challenge_arn=pulumi.get(__ret__, 'challenge_arn'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_challenge) +def get_challenge_output(challenge_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetChallengeResult]: + """ + Represents a SCEP Challenge that is used for certificate enrollment + """ + ... diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/get_connector.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/get_connector.py new file mode 100644 index 0000000000..c6801e0b3c --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/get_connector.py @@ -0,0 +1,103 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetConnectorResult', + 'AwaitableGetConnectorResult', + 'get_connector', + 'get_connector_output', +] + +@pulumi.output_type +class GetConnectorResult: + def __init__(__self__, connector_arn=None, endpoint=None, open_id_configuration=None, tags=None, type=None): + if connector_arn and not isinstance(connector_arn, str): + raise TypeError("Expected argument 'connector_arn' to be a str") + pulumi.set(__self__, "connector_arn", connector_arn) + if endpoint and not isinstance(endpoint, str): + raise TypeError("Expected argument 'endpoint' to be a str") + pulumi.set(__self__, "endpoint", endpoint) + if open_id_configuration and not isinstance(open_id_configuration, dict): + raise TypeError("Expected argument 'open_id_configuration' to be a dict") + pulumi.set(__self__, "open_id_configuration", open_id_configuration) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if type and not isinstance(type, str): + raise TypeError("Expected argument 'type' to be a str") + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="connectorArn") + def connector_arn(self) -> Optional[str]: + return pulumi.get(self, "connector_arn") + + @property + @pulumi.getter + def endpoint(self) -> Optional[str]: + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="openIdConfiguration") + def open_id_configuration(self) -> Optional['outputs.ConnectorOpenIdConfiguration']: + return pulumi.get(self, "open_id_configuration") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter + def type(self) -> Optional['ConnectorType']: + return pulumi.get(self, "type") + + +class AwaitableGetConnectorResult(GetConnectorResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetConnectorResult( + connector_arn=self.connector_arn, + endpoint=self.endpoint, + open_id_configuration=self.open_id_configuration, + tags=self.tags, + type=self.type) + + +def get_connector(connector_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetConnectorResult: + """ + Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + """ + __args__ = dict() + __args__['connectorArn'] = connector_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:pcaconnectorscep:getConnector', __args__, opts=opts, typ=GetConnectorResult).value + + return AwaitableGetConnectorResult( + connector_arn=pulumi.get(__ret__, 'connector_arn'), + endpoint=pulumi.get(__ret__, 'endpoint'), + open_id_configuration=pulumi.get(__ret__, 'open_id_configuration'), + tags=pulumi.get(__ret__, 'tags'), + type=pulumi.get(__ret__, 'type')) + + +@_utilities.lift_output_func(get_connector) +def get_connector_output(connector_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConnectorResult]: + """ + Represents a Connector that allows certificate issuance through Simple Certificate Enrollment Protocol (SCEP) + """ + ... diff --git a/sdk/python/pulumi_aws_native/pcaconnectorscep/outputs.py b/sdk/python/pulumi_aws_native/pcaconnectorscep/outputs.py new file mode 100644 index 0000000000..41326dae45 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcaconnectorscep/outputs.py @@ -0,0 +1,52 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from ._enums import * + +__all__ = [ + 'ConnectorMobileDeviceManagement', + 'ConnectorOpenIdConfiguration', +] + +@pulumi.output_type +class ConnectorMobileDeviceManagement(dict): + def __init__(__self__): + pass + + +@pulumi.output_type +class ConnectorOpenIdConfiguration(dict): + def __init__(__self__, *, + audience: Optional[str] = None, + issuer: Optional[str] = None, + subject: Optional[str] = None): + if audience is not None: + pulumi.set(__self__, "audience", audience) + if issuer is not None: + pulumi.set(__self__, "issuer", issuer) + if subject is not None: + pulumi.set(__self__, "subject", subject) + + @property + @pulumi.getter + def audience(self) -> Optional[str]: + return pulumi.get(self, "audience") + + @property + @pulumi.getter + def issuer(self) -> Optional[str]: + return pulumi.get(self, "issuer") + + @property + @pulumi.getter + def subject(self) -> Optional[str]: + return pulumi.get(self, "subject") + + diff --git a/sdk/python/pulumi_aws_native/qbusiness/application.py b/sdk/python/pulumi_aws_native/qbusiness/application.py index 46bcd4383d..3d7c26e44b 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/application.py +++ b/sdk/python/pulumi_aws_native/qbusiness/application.py @@ -46,7 +46,7 @@ def __init__(__self__, *, :param pulumi.Input['ApplicationIdentityType'] identity_type: The authentication type being used by a Amazon Q Business application. :param pulumi.Input['ApplicationPersonalizationConfigurationArgs'] personalization_configuration: Configuration information about chat response personalization. For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) . :param pulumi.Input['ApplicationQAppsConfigurationArgs'] q_apps_configuration: Configuration information about Amazon Q Apps. - :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @. """ pulumi.set(__self__, "display_name", display_name) @@ -210,7 +210,7 @@ def q_apps_configuration(self, value: Optional[pulumi.Input['ApplicationQAppsCon @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[pulumi.Input[str]]: """ - The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. """ return pulumi.get(self, "role_arn") @@ -267,7 +267,7 @@ def __init__(__self__, :param pulumi.Input['ApplicationIdentityType'] identity_type: The authentication type being used by a Amazon Q Business application. :param pulumi.Input[Union['ApplicationPersonalizationConfigurationArgs', 'ApplicationPersonalizationConfigurationArgsDict']] personalization_configuration: Configuration information about chat response personalization. For more information, see [Personalizing chat responses](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html) . :param pulumi.Input[Union['ApplicationQAppsConfigurationArgs', 'ApplicationQAppsConfigurationArgsDict']] q_apps_configuration: Configuration information about Amazon Q Apps. - :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @. """ ... @@ -505,7 +505,7 @@ def q_apps_configuration(self) -> pulumi.Output[Optional['outputs.ApplicationQAp @pulumi.getter(name="roleArn") def role_arn(self) -> pulumi.Output[Optional[str]]: """ - The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. """ return pulumi.get(self, "role_arn") diff --git a/sdk/python/pulumi_aws_native/qbusiness/get_application.py b/sdk/python/pulumi_aws_native/qbusiness/get_application.py index bdc2c64842..467e37c2f1 100644 --- a/sdk/python/pulumi_aws_native/qbusiness/get_application.py +++ b/sdk/python/pulumi_aws_native/qbusiness/get_application.py @@ -149,7 +149,7 @@ def q_apps_configuration(self) -> Optional['outputs.ApplicationQAppsConfiguratio @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: """ - The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. + The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics. If this property is not specified, Amazon Q Business will create a [service linked role (SLR)](https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/using-service-linked-roles.html#slr-permissions) and use it as the application's role. """ return pulumi.get(self, "role_arn") diff --git a/sdk/python/pulumi_aws_native/quicksight/_enums.py b/sdk/python/pulumi_aws_native/quicksight/_enums.py index 82cbc28d29..fc8e51dfec 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_enums.py +++ b/sdk/python/pulumi_aws_native/quicksight/_enums.py @@ -69,6 +69,7 @@ 'AnalysisPivotTableRowsLayout', 'AnalysisPivotTableSubtotalLevel', 'AnalysisPrimaryValueDisplayType', + 'AnalysisQueryExecutionMode', 'AnalysisRadarChartAxesRangeScale', 'AnalysisRadarChartShape', 'AnalysisReferenceLineLabelHorizontalPosition', @@ -326,6 +327,7 @@ 'TemplatePivotTableRowsLayout', 'TemplatePivotTableSubtotalLevel', 'TemplatePrimaryValueDisplayType', + 'TemplateQueryExecutionMode', 'TemplateRadarChartAxesRangeScale', 'TemplateRadarChartShape', 'TemplateReferenceLineLabelHorizontalPosition', @@ -827,6 +829,11 @@ class AnalysisPrimaryValueDisplayType(str, Enum): ACTUAL = "ACTUAL" +class AnalysisQueryExecutionMode(str, Enum): + AUTO = "AUTO" + MANUAL = "MANUAL" + + class AnalysisRadarChartAxesRangeScale(str, Enum): AUTO = "AUTO" INDEPENDENT = "INDEPENDENT" @@ -2481,6 +2488,11 @@ class TemplatePrimaryValueDisplayType(str, Enum): ACTUAL = "ACTUAL" +class TemplateQueryExecutionMode(str, Enum): + AUTO = "AUTO" + MANUAL = "MANUAL" + + class TemplateRadarChartAxesRangeScale(str, Enum): AUTO = "AUTO" INDEPENDENT = "INDEPENDENT" diff --git a/sdk/python/pulumi_aws_native/quicksight/_inputs.py b/sdk/python/pulumi_aws_native/quicksight/_inputs.py index be180dcf61..fe986a4cc0 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_inputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/_inputs.py @@ -353,6 +353,7 @@ 'AnalysisPivotTotalOptionsArgs', 'AnalysisPredefinedHierarchyArgs', 'AnalysisProgressBarOptionsArgs', + 'AnalysisQueryExecutionOptionsArgs', 'AnalysisRadarChartAggregatedFieldWellsArgs', 'AnalysisRadarChartAreaStyleSettingsArgs', 'AnalysisRadarChartConfigurationArgs', @@ -1418,6 +1419,7 @@ 'TemplatePivotTotalOptionsArgs', 'TemplatePredefinedHierarchyArgs', 'TemplateProgressBarOptionsArgs', + 'TemplateQueryExecutionOptionsArgs', 'TemplateRadarChartAggregatedFieldWellsArgs', 'TemplateRadarChartAreaStyleSettingsArgs', 'TemplateRadarChartConfigurationArgs', @@ -8811,6 +8813,7 @@ def __init__(__self__, *, filter_groups: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisFilterGroupArgs']]]] = None, options: Optional[pulumi.Input['AnalysisAssetOptionsArgs']] = None, parameter_declarations: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisParameterDeclarationArgs']]]] = None, + query_execution_options: Optional[pulumi.Input['AnalysisQueryExecutionOptionsArgs']] = None, sheets: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisSheetDefinitionArgs']]]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['AnalysisDataSetIdentifierDeclarationArgs']]] data_set_identifier_declarations: An array of dataset identifier declarations. This mapping allows the usage of dataset identifiers instead of dataset ARNs throughout analysis sub-structures. @@ -8840,6 +8843,8 @@ def __init__(__self__, *, pulumi.set(__self__, "options", options) if parameter_declarations is not None: pulumi.set(__self__, "parameter_declarations", parameter_declarations) + if query_execution_options is not None: + pulumi.set(__self__, "query_execution_options", query_execution_options) if sheets is not None: pulumi.set(__self__, "sheets", sheets) @@ -8930,6 +8935,15 @@ def parameter_declarations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[ def parameter_declarations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisParameterDeclarationArgs']]]]): pulumi.set(self, "parameter_declarations", value) + @property + @pulumi.getter(name="queryExecutionOptions") + def query_execution_options(self) -> Optional[pulumi.Input['AnalysisQueryExecutionOptionsArgs']]: + return pulumi.get(self, "query_execution_options") + + @query_execution_options.setter + def query_execution_options(self, value: Optional[pulumi.Input['AnalysisQueryExecutionOptionsArgs']]): + pulumi.set(self, "query_execution_options", value) + @property @pulumi.getter def sheets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AnalysisSheetDefinitionArgs']]]]: @@ -22107,6 +22121,23 @@ def visibility(self, value: Optional[pulumi.Input['AnalysisVisibility']]): pulumi.set(self, "visibility", value) +@pulumi.input_type +class AnalysisQueryExecutionOptionsArgs: + def __init__(__self__, *, + query_execution_mode: Optional[pulumi.Input['AnalysisQueryExecutionMode']] = None): + if query_execution_mode is not None: + pulumi.set(__self__, "query_execution_mode", query_execution_mode) + + @property + @pulumi.getter(name="queryExecutionMode") + def query_execution_mode(self) -> Optional[pulumi.Input['AnalysisQueryExecutionMode']]: + return pulumi.get(self, "query_execution_mode") + + @query_execution_mode.setter + def query_execution_mode(self, value: Optional[pulumi.Input['AnalysisQueryExecutionMode']]): + pulumi.set(self, "query_execution_mode", value) + + @pulumi.input_type class AnalysisRadarChartAggregatedFieldWellsArgs: def __init__(__self__, *, @@ -85571,6 +85602,23 @@ def visibility(self, value: Optional[pulumi.Input['TemplateVisibility']]): pulumi.set(self, "visibility", value) +@pulumi.input_type +class TemplateQueryExecutionOptionsArgs: + def __init__(__self__, *, + query_execution_mode: Optional[pulumi.Input['TemplateQueryExecutionMode']] = None): + if query_execution_mode is not None: + pulumi.set(__self__, "query_execution_mode", query_execution_mode) + + @property + @pulumi.getter(name="queryExecutionMode") + def query_execution_mode(self) -> Optional[pulumi.Input['TemplateQueryExecutionMode']]: + return pulumi.get(self, "query_execution_mode") + + @query_execution_mode.setter + def query_execution_mode(self, value: Optional[pulumi.Input['TemplateQueryExecutionMode']]): + pulumi.set(self, "query_execution_mode", value) + + @pulumi.input_type class TemplateRadarChartAggregatedFieldWellsArgs: def __init__(__self__, *, @@ -92775,6 +92823,7 @@ def __init__(__self__, *, filter_groups: Optional[pulumi.Input[Sequence[pulumi.Input['TemplateFilterGroupArgs']]]] = None, options: Optional[pulumi.Input['TemplateAssetOptionsArgs']] = None, parameter_declarations: Optional[pulumi.Input[Sequence[pulumi.Input['TemplateParameterDeclarationArgs']]]] = None, + query_execution_options: Optional[pulumi.Input['TemplateQueryExecutionOptionsArgs']] = None, sheets: Optional[pulumi.Input[Sequence[pulumi.Input['TemplateSheetDefinitionArgs']]]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['TemplateDataSetConfigurationArgs']]] data_set_configurations: An array of dataset configurations. These configurations define the required columns for each dataset used within a template. @@ -92804,6 +92853,8 @@ def __init__(__self__, *, pulumi.set(__self__, "options", options) if parameter_declarations is not None: pulumi.set(__self__, "parameter_declarations", parameter_declarations) + if query_execution_options is not None: + pulumi.set(__self__, "query_execution_options", query_execution_options) if sheets is not None: pulumi.set(__self__, "sheets", sheets) @@ -92894,6 +92945,15 @@ def parameter_declarations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[ def parameter_declarations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TemplateParameterDeclarationArgs']]]]): pulumi.set(self, "parameter_declarations", value) + @property + @pulumi.getter(name="queryExecutionOptions") + def query_execution_options(self) -> Optional[pulumi.Input['TemplateQueryExecutionOptionsArgs']]: + return pulumi.get(self, "query_execution_options") + + @query_execution_options.setter + def query_execution_options(self, value: Optional[pulumi.Input['TemplateQueryExecutionOptionsArgs']]): + pulumi.set(self, "query_execution_options", value) + @property @pulumi.getter def sheets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TemplateSheetDefinitionArgs']]]]: diff --git a/sdk/python/pulumi_aws_native/quicksight/outputs.py b/sdk/python/pulumi_aws_native/quicksight/outputs.py index 479bfcaa9a..a45cf2cb9e 100644 --- a/sdk/python/pulumi_aws_native/quicksight/outputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/outputs.py @@ -354,6 +354,7 @@ 'AnalysisPivotTotalOptions', 'AnalysisPredefinedHierarchy', 'AnalysisProgressBarOptions', + 'AnalysisQueryExecutionOptions', 'AnalysisRadarChartAggregatedFieldWells', 'AnalysisRadarChartAreaStyleSettings', 'AnalysisRadarChartConfiguration', @@ -1426,6 +1427,7 @@ 'TemplatePivotTotalOptions', 'TemplatePredefinedHierarchy', 'TemplateProgressBarOptions', + 'TemplateQueryExecutionOptions', 'TemplateRadarChartAggregatedFieldWells', 'TemplateRadarChartAreaStyleSettings', 'TemplateRadarChartConfiguration', @@ -9598,6 +9600,8 @@ def __key_warning(key: str): suggest = "filter_groups" elif key == "parameterDeclarations": suggest = "parameter_declarations" + elif key == "queryExecutionOptions": + suggest = "query_execution_options" if suggest: pulumi.log.warn(f"Key '{key}' not found in AnalysisDefinition. Access the value via the '{suggest}' property getter instead.") @@ -9618,6 +9622,7 @@ def __init__(__self__, *, filter_groups: Optional[Sequence['outputs.AnalysisFilterGroup']] = None, options: Optional['outputs.AnalysisAssetOptions'] = None, parameter_declarations: Optional[Sequence['outputs.AnalysisParameterDeclaration']] = None, + query_execution_options: Optional['outputs.AnalysisQueryExecutionOptions'] = None, sheets: Optional[Sequence['outputs.AnalysisSheetDefinition']] = None): """ :param Sequence['AnalysisDataSetIdentifierDeclaration'] data_set_identifier_declarations: An array of dataset identifier declarations. This mapping allows the usage of dataset identifiers instead of dataset ARNs throughout analysis sub-structures. @@ -9647,6 +9652,8 @@ def __init__(__self__, *, pulumi.set(__self__, "options", options) if parameter_declarations is not None: pulumi.set(__self__, "parameter_declarations", parameter_declarations) + if query_execution_options is not None: + pulumi.set(__self__, "query_execution_options", query_execution_options) if sheets is not None: pulumi.set(__self__, "sheets", sheets) @@ -9709,6 +9716,11 @@ def parameter_declarations(self) -> Optional[Sequence['outputs.AnalysisParameter """ return pulumi.get(self, "parameter_declarations") + @property + @pulumi.getter(name="queryExecutionOptions") + def query_execution_options(self) -> Optional['outputs.AnalysisQueryExecutionOptions']: + return pulumi.get(self, "query_execution_options") + @property @pulumi.getter def sheets(self) -> Optional[Sequence['outputs.AnalysisSheetDefinition']]: @@ -23652,6 +23664,36 @@ def visibility(self) -> Optional['AnalysisVisibility']: return pulumi.get(self, "visibility") +@pulumi.output_type +class AnalysisQueryExecutionOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryExecutionMode": + suggest = "query_execution_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AnalysisQueryExecutionOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AnalysisQueryExecutionOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AnalysisQueryExecutionOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + query_execution_mode: Optional['AnalysisQueryExecutionMode'] = None): + if query_execution_mode is not None: + pulumi.set(__self__, "query_execution_mode", query_execution_mode) + + @property + @pulumi.getter(name="queryExecutionMode") + def query_execution_mode(self) -> Optional['AnalysisQueryExecutionMode']: + return pulumi.get(self, "query_execution_mode") + + @pulumi.output_type class AnalysisRadarChartAggregatedFieldWells(dict): def __init__(__self__, *, @@ -92390,6 +92432,36 @@ def visibility(self) -> Optional['TemplateVisibility']: return pulumi.get(self, "visibility") +@pulumi.output_type +class TemplateQueryExecutionOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryExecutionMode": + suggest = "query_execution_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TemplateQueryExecutionOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TemplateQueryExecutionOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TemplateQueryExecutionOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + query_execution_mode: Optional['TemplateQueryExecutionMode'] = None): + if query_execution_mode is not None: + pulumi.set(__self__, "query_execution_mode", query_execution_mode) + + @property + @pulumi.getter(name="queryExecutionMode") + def query_execution_mode(self) -> Optional['TemplateQueryExecutionMode']: + return pulumi.get(self, "query_execution_mode") + + @pulumi.output_type class TemplateRadarChartAggregatedFieldWells(dict): def __init__(__self__, *, @@ -100254,6 +100326,8 @@ def __key_warning(key: str): suggest = "filter_groups" elif key == "parameterDeclarations": suggest = "parameter_declarations" + elif key == "queryExecutionOptions": + suggest = "query_execution_options" if suggest: pulumi.log.warn(f"Key '{key}' not found in TemplateVersionDefinition. Access the value via the '{suggest}' property getter instead.") @@ -100274,6 +100348,7 @@ def __init__(__self__, *, filter_groups: Optional[Sequence['outputs.TemplateFilterGroup']] = None, options: Optional['outputs.TemplateAssetOptions'] = None, parameter_declarations: Optional[Sequence['outputs.TemplateParameterDeclaration']] = None, + query_execution_options: Optional['outputs.TemplateQueryExecutionOptions'] = None, sheets: Optional[Sequence['outputs.TemplateSheetDefinition']] = None): """ :param Sequence['TemplateDataSetConfiguration'] data_set_configurations: An array of dataset configurations. These configurations define the required columns for each dataset used within a template. @@ -100303,6 +100378,8 @@ def __init__(__self__, *, pulumi.set(__self__, "options", options) if parameter_declarations is not None: pulumi.set(__self__, "parameter_declarations", parameter_declarations) + if query_execution_options is not None: + pulumi.set(__self__, "query_execution_options", query_execution_options) if sheets is not None: pulumi.set(__self__, "sheets", sheets) @@ -100365,6 +100442,11 @@ def parameter_declarations(self) -> Optional[Sequence['outputs.TemplateParameter """ return pulumi.get(self, "parameter_declarations") + @property + @pulumi.getter(name="queryExecutionOptions") + def query_execution_options(self) -> Optional['outputs.TemplateQueryExecutionOptions']: + return pulumi.get(self, "query_execution_options") + @property @pulumi.getter def sheets(self) -> Optional[Sequence['outputs.TemplateSheetDefinition']]: diff --git a/sdk/python/pulumi_aws_native/sagemaker/__init__.py b/sdk/python/pulumi_aws_native/sagemaker/__init__.py index 43d7fbc218..c35b8f07fe 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/__init__.py +++ b/sdk/python/pulumi_aws_native/sagemaker/__init__.py @@ -8,6 +8,7 @@ from ._enums import * from .app import * from .app_image_config import * +from .cluster import * from .data_quality_job_definition import * from .device import * from .device_fleet import * @@ -15,6 +16,7 @@ from .feature_group import * from .get_app import * from .get_app_image_config import * +from .get_cluster import * from .get_data_quality_job_definition import * from .get_device_fleet import * from .get_domain import * diff --git a/sdk/python/pulumi_aws_native/sagemaker/_enums.py b/sdk/python/pulumi_aws_native/sagemaker/_enums.py index 0a2e85cf45..92591b1d8e 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_enums.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_enums.py @@ -7,6 +7,9 @@ __all__ = [ 'AppResourceSpecInstanceType', 'AppType', + 'ClusterDeepHealthCheckType', + 'ClusterNodeRecovery', + 'ClusterStatus', 'DataQualityJobDefinitionBatchTransformInputS3DataDistributionType', 'DataQualityJobDefinitionBatchTransformInputS3InputMode', 'DataQualityJobDefinitionEndpointInputS3DataDistributionType', @@ -17,6 +20,7 @@ 'DomainAppType', 'DomainAuthMode', 'DomainDockerSettingsEnableDockerAccess', + 'DomainLifecycleManagement', 'DomainMlTools', 'DomainRStudioServerProAppSettingsAccessStatus', 'DomainRStudioServerProAppSettingsUserGroup', @@ -91,6 +95,7 @@ 'SpaceSharingSettingsSharingType', 'StudioLifecycleConfigAppType', 'UserProfileAppType', + 'UserProfileLifecycleManagement', 'UserProfileMlTools', 'UserProfileRStudioServerProAppSettingsAccessStatus', 'UserProfileRStudioServerProAppSettingsUserGroup', @@ -180,6 +185,35 @@ class AppType(str, Enum): CANVAS = "Canvas" +class ClusterDeepHealthCheckType(str, Enum): + """ + The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group. + """ + INSTANCE_STRESS = "InstanceStress" + INSTANCE_CONNECTIVITY = "InstanceConnectivity" + + +class ClusterNodeRecovery(str, Enum): + """ + If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + """ + AUTOMATIC = "Automatic" + NONE = "None" + + +class ClusterStatus(str, Enum): + """ + The status of the HyperPod Cluster. + """ + CREATING = "Creating" + DELETING = "Deleting" + FAILED = "Failed" + IN_SERVICE = "InService" + ROLLING_BACK = "RollingBack" + SYSTEM_UPDATING = "SystemUpdating" + UPDATING = "Updating" + + class DataQualityJobDefinitionBatchTransformInputS3DataDistributionType(str, Enum): """ Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defauts to FullyReplicated @@ -262,6 +296,14 @@ class DomainDockerSettingsEnableDockerAccess(str, Enum): DISABLED = "DISABLED" +class DomainLifecycleManagement(str, Enum): + """ + A flag to enable/disable AppLifecycleManagement settings + """ + ENABLED = "ENABLED" + DISABLED = "DISABLED" + + class DomainMlTools(str, Enum): DATA_WRANGLER = "DataWrangler" FEATURE_STORE = "FeatureStore" @@ -276,6 +318,7 @@ class DomainMlTools(str, Enum): INFERENCE_RECOMMENDER = "InferenceRecommender" ENDPOINTS = "Endpoints" PROJECTS = "Projects" + INFERENCE_OPTIMIZATION = "InferenceOptimization" class DomainRStudioServerProAppSettingsAccessStatus(str, Enum): @@ -1032,6 +1075,14 @@ class UserProfileAppType(str, Enum): CANVAS = "Canvas" +class UserProfileLifecycleManagement(str, Enum): + """ + A flag to enable/disable AppLifecycleManagement settings + """ + ENABLED = "ENABLED" + DISABLED = "DISABLED" + + class UserProfileMlTools(str, Enum): DATA_WRANGLER = "DataWrangler" FEATURE_STORE = "FeatureStore" @@ -1046,6 +1097,7 @@ class UserProfileMlTools(str, Enum): INFERENCE_RECOMMENDER = "InferenceRecommender" ENDPOINTS = "Endpoints" PROJECTS = "Projects" + INFERENCE_OPTIMIZATION = "InferenceOptimization" class UserProfileRStudioServerProAppSettingsAccessStatus(str, Enum): diff --git a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py index 20415fafdc..e3655502ce 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py @@ -19,6 +19,12 @@ 'AppImageConfigKernelGatewayImageConfigArgs', 'AppImageConfigKernelSpecArgs', 'AppResourceSpecArgs', + 'ClusterInstanceGroupArgs', + 'ClusterInstanceStorageConfigArgs', + 'ClusterLifeCycleConfigArgs', + 'ClusterOrchestratorEksConfigArgs', + 'ClusterOrchestratorArgs', + 'ClusterVpcConfigArgs', 'DataQualityJobDefinitionBatchTransformInputArgs', 'DataQualityJobDefinitionClusterConfigArgs', 'DataQualityJobDefinitionConstraintsResourceArgs', @@ -39,6 +45,7 @@ 'DataQualityJobDefinitionVpcConfigArgs', 'DeviceFleetEdgeOutputConfigArgs', 'DeviceArgs', + 'DomainAppLifecycleManagementArgs', 'DomainCodeEditorAppSettingsArgs', 'DomainCodeRepositoryArgs', 'DomainCustomFileSystemConfigArgs', @@ -49,6 +56,7 @@ 'DomainDefaultSpaceStorageSettingsArgs', 'DomainDockerSettingsArgs', 'DomainEfsFileSystemConfigArgs', + 'DomainIdleSettingsArgs', 'DomainJupyterLabAppSettingsArgs', 'DomainJupyterServerAppSettingsArgs', 'DomainKernelGatewayAppSettingsArgs', @@ -226,12 +234,14 @@ 'ProjectProvisioningParameterArgs', 'ServiceCatalogProvisionedProductDetailsPropertiesArgs', 'ServiceCatalogProvisioningDetailsPropertiesArgs', + 'SpaceAppLifecycleManagementArgs', 'SpaceCodeEditorAppSettingsArgs', 'SpaceCodeRepositoryArgs', 'SpaceCustomFileSystemArgs', 'SpaceCustomImageArgs', 'SpaceEbsStorageSettingsArgs', 'SpaceEfsFileSystemArgs', + 'SpaceIdleSettingsArgs', 'SpaceJupyterLabAppSettingsArgs', 'SpaceJupyterServerAppSettingsArgs', 'SpaceKernelGatewayAppSettingsArgs', @@ -240,6 +250,7 @@ 'SpaceSettingsArgs', 'SpaceSharingSettingsArgs', 'SpaceStorageSettingsArgs', + 'UserProfileAppLifecycleManagementArgs', 'UserProfileCodeEditorAppSettingsArgs', 'UserProfileCodeRepositoryArgs', 'UserProfileCustomFileSystemConfigArgs', @@ -248,6 +259,7 @@ 'UserProfileDefaultEbsStorageSettingsArgs', 'UserProfileDefaultSpaceStorageSettingsArgs', 'UserProfileEfsFileSystemConfigArgs', + 'UserProfileIdleSettingsArgs', 'UserProfileJupyterLabAppSettingsArgs', 'UserProfileJupyterServerAppSettingsArgs', 'UserProfileKernelGatewayAppSettingsArgs', @@ -603,6 +615,256 @@ def sage_maker_image_version_arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "sage_maker_image_version_arn", value) +@pulumi.input_type +class ClusterInstanceGroupArgs: + def __init__(__self__, *, + execution_role: pulumi.Input[str], + instance_count: pulumi.Input[int], + instance_group_name: pulumi.Input[str], + instance_type: pulumi.Input[str], + life_cycle_config: pulumi.Input['ClusterLifeCycleConfigArgs'], + current_count: Optional[pulumi.Input[int]] = None, + instance_storage_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgs']]]] = None, + on_start_deep_health_checks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDeepHealthCheckType']]]] = None, + threads_per_core: Optional[pulumi.Input[int]] = None): + """ + Details of an instance group in a SageMaker HyperPod cluster. + :param pulumi.Input[int] instance_count: The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + :param pulumi.Input[int] current_count: The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + :param pulumi.Input[int] threads_per_core: The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + """ + pulumi.set(__self__, "execution_role", execution_role) + pulumi.set(__self__, "instance_count", instance_count) + pulumi.set(__self__, "instance_group_name", instance_group_name) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "life_cycle_config", life_cycle_config) + if current_count is not None: + pulumi.set(__self__, "current_count", current_count) + if instance_storage_configs is not None: + pulumi.set(__self__, "instance_storage_configs", instance_storage_configs) + if on_start_deep_health_checks is not None: + pulumi.set(__self__, "on_start_deep_health_checks", on_start_deep_health_checks) + if threads_per_core is not None: + pulumi.set(__self__, "threads_per_core", threads_per_core) + + @property + @pulumi.getter(name="executionRole") + def execution_role(self) -> pulumi.Input[str]: + return pulumi.get(self, "execution_role") + + @execution_role.setter + def execution_role(self, value: pulumi.Input[str]): + pulumi.set(self, "execution_role", value) + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> pulumi.Input[int]: + """ + The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + """ + return pulumi.get(self, "instance_count") + + @instance_count.setter + def instance_count(self, value: pulumi.Input[int]): + pulumi.set(self, "instance_count", value) + + @property + @pulumi.getter(name="instanceGroupName") + def instance_group_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "instance_group_name") + + @instance_group_name.setter + def instance_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_group_name", value) + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_type", value) + + @property + @pulumi.getter(name="lifeCycleConfig") + def life_cycle_config(self) -> pulumi.Input['ClusterLifeCycleConfigArgs']: + return pulumi.get(self, "life_cycle_config") + + @life_cycle_config.setter + def life_cycle_config(self, value: pulumi.Input['ClusterLifeCycleConfigArgs']): + pulumi.set(self, "life_cycle_config", value) + + @property + @pulumi.getter(name="currentCount") + def current_count(self) -> Optional[pulumi.Input[int]]: + """ + The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + """ + return pulumi.get(self, "current_count") + + @current_count.setter + def current_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "current_count", value) + + @property + @pulumi.getter(name="instanceStorageConfigs") + def instance_storage_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgs']]]]: + return pulumi.get(self, "instance_storage_configs") + + @instance_storage_configs.setter + def instance_storage_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgs']]]]): + pulumi.set(self, "instance_storage_configs", value) + + @property + @pulumi.getter(name="onStartDeepHealthChecks") + def on_start_deep_health_checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDeepHealthCheckType']]]]: + return pulumi.get(self, "on_start_deep_health_checks") + + @on_start_deep_health_checks.setter + def on_start_deep_health_checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDeepHealthCheckType']]]]): + pulumi.set(self, "on_start_deep_health_checks", value) + + @property + @pulumi.getter(name="threadsPerCore") + def threads_per_core(self) -> Optional[pulumi.Input[int]]: + """ + The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + """ + return pulumi.get(self, "threads_per_core") + + @threads_per_core.setter + def threads_per_core(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "threads_per_core", value) + + +@pulumi.input_type +class ClusterInstanceStorageConfigArgs: + def __init__(__self__): + """ + Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + """ + pass + + +@pulumi.input_type +class ClusterLifeCycleConfigArgs: + def __init__(__self__, *, + on_create: pulumi.Input[str], + source_s3_uri: pulumi.Input[str]): + """ + The lifecycle configuration for a SageMaker HyperPod cluster. + :param pulumi.Input[str] on_create: The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + :param pulumi.Input[str] source_s3_uri: An Amazon S3 bucket path where your lifecycle scripts are stored. + """ + pulumi.set(__self__, "on_create", on_create) + pulumi.set(__self__, "source_s3_uri", source_s3_uri) + + @property + @pulumi.getter(name="onCreate") + def on_create(self) -> pulumi.Input[str]: + """ + The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + """ + return pulumi.get(self, "on_create") + + @on_create.setter + def on_create(self, value: pulumi.Input[str]): + pulumi.set(self, "on_create", value) + + @property + @pulumi.getter(name="sourceS3Uri") + def source_s3_uri(self) -> pulumi.Input[str]: + """ + An Amazon S3 bucket path where your lifecycle scripts are stored. + """ + return pulumi.get(self, "source_s3_uri") + + @source_s3_uri.setter + def source_s3_uri(self, value: pulumi.Input[str]): + pulumi.set(self, "source_s3_uri", value) + + +@pulumi.input_type +class ClusterOrchestratorEksConfigArgs: + def __init__(__self__, *, + cluster_arn: pulumi.Input[str]): + """ + Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + :param pulumi.Input[str] cluster_arn: The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + """ + pulumi.set(__self__, "cluster_arn", cluster_arn) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> pulumi.Input[str]: + """ + The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + """ + return pulumi.get(self, "cluster_arn") + + @cluster_arn.setter + def cluster_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_arn", value) + + +@pulumi.input_type +class ClusterOrchestratorArgs: + def __init__(__self__, *, + eks: pulumi.Input['ClusterOrchestratorEksConfigArgs']): + """ + Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + """ + pulumi.set(__self__, "eks", eks) + + @property + @pulumi.getter + def eks(self) -> pulumi.Input['ClusterOrchestratorEksConfigArgs']: + return pulumi.get(self, "eks") + + @eks.setter + def eks(self, value: pulumi.Input['ClusterOrchestratorEksConfigArgs']): + pulumi.set(self, "eks", value) + + +@pulumi.input_type +class ClusterVpcConfigArgs: + def __init__(__self__, *, + security_group_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + subnets: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnets: The ID of the subnets in the VPC to which you want to connect your training job or model. + """ + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnets", subnets) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + def security_group_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "security_group_ids", value) + + @property + @pulumi.getter + def subnets(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The ID of the subnets in the VPC to which you want to connect your training job or model. + """ + return pulumi.get(self, "subnets") + + @subnets.setter + def subnets(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnets", value) + + @pulumi.input_type class DataQualityJobDefinitionBatchTransformInputArgs: def __init__(__self__, *, @@ -1547,9 +1809,27 @@ def iot_thing_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "iot_thing_name", value) +@pulumi.input_type +class DomainAppLifecycleManagementArgs: + def __init__(__self__, *, + idle_settings: Optional[pulumi.Input['DomainIdleSettingsArgs']] = None): + if idle_settings is not None: + pulumi.set(__self__, "idle_settings", idle_settings) + + @property + @pulumi.getter(name="idleSettings") + def idle_settings(self) -> Optional[pulumi.Input['DomainIdleSettingsArgs']]: + return pulumi.get(self, "idle_settings") + + @idle_settings.setter + def idle_settings(self, value: Optional[pulumi.Input['DomainIdleSettingsArgs']]): + pulumi.set(self, "idle_settings", value) + + @pulumi.input_type class DomainCodeEditorAppSettingsArgs: def __init__(__self__, *, + app_lifecycle_management: Optional[pulumi.Input['DomainAppLifecycleManagementArgs']] = None, custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]]] = None, default_resource_spec: Optional[pulumi.Input['DomainResourceSpecArgs']] = None, lifecycle_config_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): @@ -1559,6 +1839,8 @@ def __init__(__self__, *, :param pulumi.Input['DomainResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if custom_images is not None: pulumi.set(__self__, "custom_images", custom_images) if default_resource_spec is not None: @@ -1566,6 +1848,15 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional[pulumi.Input['DomainAppLifecycleManagementArgs']]: + return pulumi.get(self, "app_lifecycle_management") + + @app_lifecycle_management.setter + def app_lifecycle_management(self, value: Optional[pulumi.Input['DomainAppLifecycleManagementArgs']]): + pulumi.set(self, "app_lifecycle_management", value) + @property @pulumi.getter(name="customImages") def custom_images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]]]: @@ -2014,9 +2305,63 @@ def file_system_path(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "file_system_path", value) +@pulumi.input_type +class DomainIdleSettingsArgs: + def __init__(__self__, *, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + lifecycle_management: Optional[pulumi.Input['DomainLifecycleManagement']] = None, + max_idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + min_idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None): + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if lifecycle_management is not None: + pulumi.set(__self__, "lifecycle_management", lifecycle_management) + if max_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "max_idle_timeout_in_minutes", max_idle_timeout_in_minutes) + if min_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "min_idle_timeout_in_minutes", min_idle_timeout_in_minutes) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="lifecycleManagement") + def lifecycle_management(self) -> Optional[pulumi.Input['DomainLifecycleManagement']]: + return pulumi.get(self, "lifecycle_management") + + @lifecycle_management.setter + def lifecycle_management(self, value: Optional[pulumi.Input['DomainLifecycleManagement']]): + pulumi.set(self, "lifecycle_management", value) + + @property + @pulumi.getter(name="maxIdleTimeoutInMinutes") + def max_idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "max_idle_timeout_in_minutes") + + @max_idle_timeout_in_minutes.setter + def max_idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="minIdleTimeoutInMinutes") + def min_idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "min_idle_timeout_in_minutes") + + @min_idle_timeout_in_minutes.setter + def min_idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_idle_timeout_in_minutes", value) + + @pulumi.input_type class DomainJupyterLabAppSettingsArgs: def __init__(__self__, *, + app_lifecycle_management: Optional[pulumi.Input['DomainAppLifecycleManagementArgs']] = None, code_repositories: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCodeRepositoryArgs']]]] = None, custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]]] = None, default_resource_spec: Optional[pulumi.Input['DomainResourceSpecArgs']] = None, @@ -2028,6 +2373,8 @@ def __init__(__self__, *, :param pulumi.Input['DomainResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if code_repositories is not None: pulumi.set(__self__, "code_repositories", code_repositories) if custom_images is not None: @@ -2037,6 +2384,15 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional[pulumi.Input['DomainAppLifecycleManagementArgs']]: + return pulumi.get(self, "app_lifecycle_management") + + @app_lifecycle_management.setter + def app_lifecycle_management(self, value: Optional[pulumi.Input['DomainAppLifecycleManagementArgs']]): + pulumi.set(self, "app_lifecycle_management", value) + @property @pulumi.getter(name="codeRepositories") def code_repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainCodeRepositoryArgs']]]]: @@ -11774,17 +12130,46 @@ def provisioning_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.I pulumi.set(self, "provisioning_parameters", value) +@pulumi.input_type +class SpaceAppLifecycleManagementArgs: + def __init__(__self__, *, + idle_settings: Optional[pulumi.Input['SpaceIdleSettingsArgs']] = None): + if idle_settings is not None: + pulumi.set(__self__, "idle_settings", idle_settings) + + @property + @pulumi.getter(name="idleSettings") + def idle_settings(self) -> Optional[pulumi.Input['SpaceIdleSettingsArgs']]: + return pulumi.get(self, "idle_settings") + + @idle_settings.setter + def idle_settings(self, value: Optional[pulumi.Input['SpaceIdleSettingsArgs']]): + pulumi.set(self, "idle_settings", value) + + @pulumi.input_type class SpaceCodeEditorAppSettingsArgs: def __init__(__self__, *, + app_lifecycle_management: Optional[pulumi.Input['SpaceAppLifecycleManagementArgs']] = None, default_resource_spec: Optional[pulumi.Input['SpaceResourceSpecArgs']] = None): """ The CodeEditor app settings. :param pulumi.Input['SpaceResourceSpecArgs'] default_resource_spec: Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if default_resource_spec is not None: pulumi.set(__self__, "default_resource_spec", default_resource_spec) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional[pulumi.Input['SpaceAppLifecycleManagementArgs']]: + return pulumi.get(self, "app_lifecycle_management") + + @app_lifecycle_management.setter + def app_lifecycle_management(self, value: Optional[pulumi.Input['SpaceAppLifecycleManagementArgs']]): + pulumi.set(self, "app_lifecycle_management", value) + @property @pulumi.getter(name="defaultResourceSpec") def default_resource_spec(self) -> Optional[pulumi.Input['SpaceResourceSpecArgs']]: @@ -11930,9 +12315,33 @@ def file_system_id(self, value: pulumi.Input[str]): pulumi.set(self, "file_system_id", value) +@pulumi.input_type +class SpaceIdleSettingsArgs: + def __init__(__self__, *, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] idle_timeout_in_minutes: The space idle timeout value set in minutes + """ + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + """ + The space idle timeout value set in minutes + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @pulumi.input_type class SpaceJupyterLabAppSettingsArgs: def __init__(__self__, *, + app_lifecycle_management: Optional[pulumi.Input['SpaceAppLifecycleManagementArgs']] = None, code_repositories: Optional[pulumi.Input[Sequence[pulumi.Input['SpaceCodeRepositoryArgs']]]] = None, default_resource_spec: Optional[pulumi.Input['SpaceResourceSpecArgs']] = None): """ @@ -11940,11 +12349,22 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['SpaceCodeRepositoryArgs']]] code_repositories: A list of CodeRepositories available for use with JupyterLab apps. :param pulumi.Input['SpaceResourceSpecArgs'] default_resource_spec: Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if code_repositories is not None: pulumi.set(__self__, "code_repositories", code_repositories) if default_resource_spec is not None: pulumi.set(__self__, "default_resource_spec", default_resource_spec) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional[pulumi.Input['SpaceAppLifecycleManagementArgs']]: + return pulumi.get(self, "app_lifecycle_management") + + @app_lifecycle_management.setter + def app_lifecycle_management(self, value: Optional[pulumi.Input['SpaceAppLifecycleManagementArgs']]): + pulumi.set(self, "app_lifecycle_management", value) + @property @pulumi.getter(name="codeRepositories") def code_repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpaceCodeRepositoryArgs']]]]: @@ -12324,9 +12744,27 @@ def ebs_storage_settings(self, value: Optional[pulumi.Input['SpaceEbsStorageSett pulumi.set(self, "ebs_storage_settings", value) +@pulumi.input_type +class UserProfileAppLifecycleManagementArgs: + def __init__(__self__, *, + idle_settings: Optional[pulumi.Input['UserProfileIdleSettingsArgs']] = None): + if idle_settings is not None: + pulumi.set(__self__, "idle_settings", idle_settings) + + @property + @pulumi.getter(name="idleSettings") + def idle_settings(self) -> Optional[pulumi.Input['UserProfileIdleSettingsArgs']]: + return pulumi.get(self, "idle_settings") + + @idle_settings.setter + def idle_settings(self, value: Optional[pulumi.Input['UserProfileIdleSettingsArgs']]): + pulumi.set(self, "idle_settings", value) + + @pulumi.input_type class UserProfileCodeEditorAppSettingsArgs: def __init__(__self__, *, + app_lifecycle_management: Optional[pulumi.Input['UserProfileAppLifecycleManagementArgs']] = None, custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]]] = None, default_resource_spec: Optional[pulumi.Input['UserProfileResourceSpecArgs']] = None, lifecycle_config_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): @@ -12336,6 +12774,8 @@ def __init__(__self__, *, :param pulumi.Input['UserProfileResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if custom_images is not None: pulumi.set(__self__, "custom_images", custom_images) if default_resource_spec is not None: @@ -12343,6 +12783,15 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional[pulumi.Input['UserProfileAppLifecycleManagementArgs']]: + return pulumi.get(self, "app_lifecycle_management") + + @app_lifecycle_management.setter + def app_lifecycle_management(self, value: Optional[pulumi.Input['UserProfileAppLifecycleManagementArgs']]): + pulumi.set(self, "app_lifecycle_management", value) + @property @pulumi.getter(name="customImages") def custom_images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]]]: @@ -12616,9 +13065,63 @@ def file_system_path(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "file_system_path", value) +@pulumi.input_type +class UserProfileIdleSettingsArgs: + def __init__(__self__, *, + idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + lifecycle_management: Optional[pulumi.Input['UserProfileLifecycleManagement']] = None, + max_idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None, + min_idle_timeout_in_minutes: Optional[pulumi.Input[int]] = None): + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if lifecycle_management is not None: + pulumi.set(__self__, "lifecycle_management", lifecycle_management) + if max_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "max_idle_timeout_in_minutes", max_idle_timeout_in_minutes) + if min_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "min_idle_timeout_in_minutes", min_idle_timeout_in_minutes) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "idle_timeout_in_minutes") + + @idle_timeout_in_minutes.setter + def idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="lifecycleManagement") + def lifecycle_management(self) -> Optional[pulumi.Input['UserProfileLifecycleManagement']]: + return pulumi.get(self, "lifecycle_management") + + @lifecycle_management.setter + def lifecycle_management(self, value: Optional[pulumi.Input['UserProfileLifecycleManagement']]): + pulumi.set(self, "lifecycle_management", value) + + @property + @pulumi.getter(name="maxIdleTimeoutInMinutes") + def max_idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "max_idle_timeout_in_minutes") + + @max_idle_timeout_in_minutes.setter + def max_idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_idle_timeout_in_minutes", value) + + @property + @pulumi.getter(name="minIdleTimeoutInMinutes") + def min_idle_timeout_in_minutes(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "min_idle_timeout_in_minutes") + + @min_idle_timeout_in_minutes.setter + def min_idle_timeout_in_minutes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_idle_timeout_in_minutes", value) + + @pulumi.input_type class UserProfileJupyterLabAppSettingsArgs: def __init__(__self__, *, + app_lifecycle_management: Optional[pulumi.Input['UserProfileAppLifecycleManagementArgs']] = None, code_repositories: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCodeRepositoryArgs']]]] = None, custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]]] = None, default_resource_spec: Optional[pulumi.Input['UserProfileResourceSpecArgs']] = None, @@ -12630,6 +13133,8 @@ def __init__(__self__, *, :param pulumi.Input['UserProfileResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if code_repositories is not None: pulumi.set(__self__, "code_repositories", code_repositories) if custom_images is not None: @@ -12639,6 +13144,15 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional[pulumi.Input['UserProfileAppLifecycleManagementArgs']]: + return pulumi.get(self, "app_lifecycle_management") + + @app_lifecycle_management.setter + def app_lifecycle_management(self, value: Optional[pulumi.Input['UserProfileAppLifecycleManagementArgs']]): + pulumi.set(self, "app_lifecycle_management", value) + @property @pulumi.getter(name="codeRepositories") def code_repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCodeRepositoryArgs']]]]: diff --git a/sdk/python/pulumi_aws_native/sagemaker/cluster.py b/sdk/python/pulumi_aws_native/sagemaker/cluster.py new file mode 100644 index 0000000000..3a8f402a31 --- /dev/null +++ b/sdk/python/pulumi_aws_native/sagemaker/cluster.py @@ -0,0 +1,296 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ClusterArgs', 'Cluster'] + +@pulumi.input_type +class ClusterArgs: + def __init__(__self__, *, + instance_groups: pulumi.Input[Sequence[pulumi.Input['ClusterInstanceGroupArgs']]], + cluster_name: Optional[pulumi.Input[str]] = None, + node_recovery: Optional[pulumi.Input['ClusterNodeRecovery']] = None, + orchestrator: Optional[pulumi.Input['ClusterOrchestratorArgs']] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, + vpc_config: Optional[pulumi.Input['ClusterVpcConfigArgs']] = None): + """ + The set of arguments for constructing a Cluster resource. + :param pulumi.Input[str] cluster_name: The name of the HyperPod Cluster. + :param pulumi.Input['ClusterNodeRecovery'] node_recovery: If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + :param pulumi.Input['ClusterVpcConfigArgs'] vpc_config: Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + """ + pulumi.set(__self__, "instance_groups", instance_groups) + if cluster_name is not None: + pulumi.set(__self__, "cluster_name", cluster_name) + if node_recovery is not None: + pulumi.set(__self__, "node_recovery", node_recovery) + if orchestrator is not None: + pulumi.set(__self__, "orchestrator", orchestrator) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if vpc_config is not None: + pulumi.set(__self__, "vpc_config", vpc_config) + + @property + @pulumi.getter(name="instanceGroups") + def instance_groups(self) -> pulumi.Input[Sequence[pulumi.Input['ClusterInstanceGroupArgs']]]: + return pulumi.get(self, "instance_groups") + + @instance_groups.setter + def instance_groups(self, value: pulumi.Input[Sequence[pulumi.Input['ClusterInstanceGroupArgs']]]): + pulumi.set(self, "instance_groups", value) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the HyperPod Cluster. + """ + return pulumi.get(self, "cluster_name") + + @cluster_name.setter + def cluster_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cluster_name", value) + + @property + @pulumi.getter(name="nodeRecovery") + def node_recovery(self) -> Optional[pulumi.Input['ClusterNodeRecovery']]: + """ + If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + """ + return pulumi.get(self, "node_recovery") + + @node_recovery.setter + def node_recovery(self, value: Optional[pulumi.Input['ClusterNodeRecovery']]): + pulumi.set(self, "node_recovery", value) + + @property + @pulumi.getter + def orchestrator(self) -> Optional[pulumi.Input['ClusterOrchestratorArgs']]: + return pulumi.get(self, "orchestrator") + + @orchestrator.setter + def orchestrator(self, value: Optional[pulumi.Input['ClusterOrchestratorArgs']]): + pulumi.set(self, "orchestrator", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> Optional[pulumi.Input['ClusterVpcConfigArgs']]: + """ + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + """ + return pulumi.get(self, "vpc_config") + + @vpc_config.setter + def vpc_config(self, value: Optional[pulumi.Input['ClusterVpcConfigArgs']]): + pulumi.set(self, "vpc_config", value) + + +class Cluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_name: Optional[pulumi.Input[str]] = None, + instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterInstanceGroupArgs', 'ClusterInstanceGroupArgsDict']]]]] = None, + node_recovery: Optional[pulumi.Input['ClusterNodeRecovery']] = None, + orchestrator: Optional[pulumi.Input[Union['ClusterOrchestratorArgs', 'ClusterOrchestratorArgsDict']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + vpc_config: Optional[pulumi.Input[Union['ClusterVpcConfigArgs', 'ClusterVpcConfigArgsDict']]] = None, + __props__=None): + """ + Resource Type definition for AWS::SageMaker::Cluster + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_name: The name of the HyperPod Cluster. + :param pulumi.Input['ClusterNodeRecovery'] node_recovery: If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + :param pulumi.Input[Union['ClusterVpcConfigArgs', 'ClusterVpcConfigArgsDict']] vpc_config: Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::SageMaker::Cluster + + :param str resource_name: The name of the resource. + :param ClusterArgs 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(ClusterArgs, 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, + cluster_name: Optional[pulumi.Input[str]] = None, + instance_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterInstanceGroupArgs', 'ClusterInstanceGroupArgsDict']]]]] = None, + node_recovery: Optional[pulumi.Input['ClusterNodeRecovery']] = None, + orchestrator: Optional[pulumi.Input[Union['ClusterOrchestratorArgs', 'ClusterOrchestratorArgsDict']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + vpc_config: Optional[pulumi.Input[Union['ClusterVpcConfigArgs', 'ClusterVpcConfigArgsDict']]] = 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__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_name"] = cluster_name + if instance_groups is None and not opts.urn: + raise TypeError("Missing required property 'instance_groups'") + __props__.__dict__["instance_groups"] = instance_groups + __props__.__dict__["node_recovery"] = node_recovery + __props__.__dict__["orchestrator"] = orchestrator + __props__.__dict__["tags"] = tags + __props__.__dict__["vpc_config"] = vpc_config + __props__.__dict__["cluster_arn"] = None + __props__.__dict__["cluster_status"] = None + __props__.__dict__["creation_time"] = None + __props__.__dict__["failure_message"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clusterName", "instanceGroups[*].executionRole", "instanceGroups[*].instanceGroupName", "instanceGroups[*].instanceType", "instanceGroups[*].threadsPerCore", "orchestrator", "vpcConfig"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Cluster, __self__).__init__( + 'aws-native:sagemaker:Cluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Cluster': + """ + Get an existing Cluster 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["cluster_arn"] = None + __props__.__dict__["cluster_name"] = None + __props__.__dict__["cluster_status"] = None + __props__.__dict__["creation_time"] = None + __props__.__dict__["failure_message"] = None + __props__.__dict__["instance_groups"] = None + __props__.__dict__["node_recovery"] = None + __props__.__dict__["orchestrator"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["vpc_config"] = None + return Cluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the HyperPod Cluster. + """ + return pulumi.get(self, "cluster_arn") + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the HyperPod Cluster. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter(name="clusterStatus") + def cluster_status(self) -> pulumi.Output['ClusterStatus']: + """ + The status of the HyperPod Cluster. + """ + return pulumi.get(self, "cluster_status") + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[str]: + """ + The time at which the HyperPod cluster was created. + """ + return pulumi.get(self, "creation_time") + + @property + @pulumi.getter(name="failureMessage") + def failure_message(self) -> pulumi.Output[str]: + """ + The failure message of the HyperPod Cluster. + """ + return pulumi.get(self, "failure_message") + + @property + @pulumi.getter(name="instanceGroups") + def instance_groups(self) -> pulumi.Output[Sequence['outputs.ClusterInstanceGroup']]: + return pulumi.get(self, "instance_groups") + + @property + @pulumi.getter(name="nodeRecovery") + def node_recovery(self) -> pulumi.Output[Optional['ClusterNodeRecovery']]: + """ + If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + """ + return pulumi.get(self, "node_recovery") + + @property + @pulumi.getter + def orchestrator(self) -> pulumi.Output[Optional['outputs.ClusterOrchestrator']]: + return pulumi.get(self, "orchestrator") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpcConfig") + def vpc_config(self) -> pulumi.Output[Optional['outputs.ClusterVpcConfig']]: + """ + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see [Give SageMaker Access to Resources in your Amazon VPC](https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html) . + """ + return pulumi.get(self, "vpc_config") + diff --git a/sdk/python/pulumi_aws_native/sagemaker/get_cluster.py b/sdk/python/pulumi_aws_native/sagemaker/get_cluster.py new file mode 100644 index 0000000000..65dfee3d1a --- /dev/null +++ b/sdk/python/pulumi_aws_native/sagemaker/get_cluster.py @@ -0,0 +1,148 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetClusterResult', + 'AwaitableGetClusterResult', + 'get_cluster', + 'get_cluster_output', +] + +@pulumi.output_type +class GetClusterResult: + def __init__(__self__, cluster_arn=None, cluster_status=None, creation_time=None, failure_message=None, instance_groups=None, node_recovery=None, tags=None): + if cluster_arn and not isinstance(cluster_arn, str): + raise TypeError("Expected argument 'cluster_arn' to be a str") + pulumi.set(__self__, "cluster_arn", cluster_arn) + if cluster_status and not isinstance(cluster_status, str): + raise TypeError("Expected argument 'cluster_status' to be a str") + pulumi.set(__self__, "cluster_status", cluster_status) + if creation_time and not isinstance(creation_time, str): + raise TypeError("Expected argument 'creation_time' to be a str") + pulumi.set(__self__, "creation_time", creation_time) + if failure_message and not isinstance(failure_message, str): + raise TypeError("Expected argument 'failure_message' to be a str") + pulumi.set(__self__, "failure_message", failure_message) + if instance_groups and not isinstance(instance_groups, list): + raise TypeError("Expected argument 'instance_groups' to be a list") + pulumi.set(__self__, "instance_groups", instance_groups) + if node_recovery and not isinstance(node_recovery, str): + raise TypeError("Expected argument 'node_recovery' to be a str") + pulumi.set(__self__, "node_recovery", node_recovery) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the HyperPod Cluster. + """ + return pulumi.get(self, "cluster_arn") + + @property + @pulumi.getter(name="clusterStatus") + def cluster_status(self) -> Optional['ClusterStatus']: + """ + The status of the HyperPod Cluster. + """ + return pulumi.get(self, "cluster_status") + + @property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[str]: + """ + The time at which the HyperPod cluster was created. + """ + return pulumi.get(self, "creation_time") + + @property + @pulumi.getter(name="failureMessage") + def failure_message(self) -> Optional[str]: + """ + The failure message of the HyperPod Cluster. + """ + return pulumi.get(self, "failure_message") + + @property + @pulumi.getter(name="instanceGroups") + def instance_groups(self) -> Optional[Sequence['outputs.ClusterInstanceGroup']]: + return pulumi.get(self, "instance_groups") + + @property + @pulumi.getter(name="nodeRecovery") + def node_recovery(self) -> Optional['ClusterNodeRecovery']: + """ + If node auto-recovery is set to true, faulty nodes will be replaced or rebooted when a failure is detected. If set to false, nodes will be labelled when a fault is detected. + """ + return pulumi.get(self, "node_recovery") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + Custom tags for managing the SageMaker HyperPod cluster as an AWS resource. You can add tags to your cluster in the same way you add them in other AWS services that support tagging. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetClusterResult(GetClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterResult( + cluster_arn=self.cluster_arn, + cluster_status=self.cluster_status, + creation_time=self.creation_time, + failure_message=self.failure_message, + instance_groups=self.instance_groups, + node_recovery=self.node_recovery, + tags=self.tags) + + +def get_cluster(cluster_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult: + """ + Resource Type definition for AWS::SageMaker::Cluster + + + :param str cluster_arn: The Amazon Resource Name (ARN) of the HyperPod Cluster. + """ + __args__ = dict() + __args__['clusterArn'] = cluster_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:sagemaker:getCluster', __args__, opts=opts, typ=GetClusterResult).value + + return AwaitableGetClusterResult( + cluster_arn=pulumi.get(__ret__, 'cluster_arn'), + cluster_status=pulumi.get(__ret__, 'cluster_status'), + creation_time=pulumi.get(__ret__, 'creation_time'), + failure_message=pulumi.get(__ret__, 'failure_message'), + instance_groups=pulumi.get(__ret__, 'instance_groups'), + node_recovery=pulumi.get(__ret__, 'node_recovery'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_cluster) +def get_cluster_output(cluster_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetClusterResult]: + """ + Resource Type definition for AWS::SageMaker::Cluster + + + :param str cluster_arn: The Amazon Resource Name (ARN) of the HyperPod Cluster. + """ + ... diff --git a/sdk/python/pulumi_aws_native/sagemaker/outputs.py b/sdk/python/pulumi_aws_native/sagemaker/outputs.py index ab652c6e5a..0a69a2daf9 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/outputs.py @@ -20,6 +20,12 @@ 'AppImageConfigKernelGatewayImageConfig', 'AppImageConfigKernelSpec', 'AppResourceSpec', + 'ClusterInstanceGroup', + 'ClusterInstanceStorageConfig', + 'ClusterLifeCycleConfig', + 'ClusterOrchestrator', + 'ClusterOrchestratorEksConfig', + 'ClusterVpcConfig', 'DataQualityJobDefinitionBatchTransformInput', 'DataQualityJobDefinitionClusterConfig', 'DataQualityJobDefinitionConstraintsResource', @@ -40,6 +46,7 @@ 'DataQualityJobDefinitionVpcConfig', 'Device', 'DeviceFleetEdgeOutputConfig', + 'DomainAppLifecycleManagement', 'DomainCodeEditorAppSettings', 'DomainCodeRepository', 'DomainCustomFileSystemConfig', @@ -50,6 +57,7 @@ 'DomainDefaultSpaceStorageSettings', 'DomainDockerSettings', 'DomainEfsFileSystemConfig', + 'DomainIdleSettings', 'DomainJupyterLabAppSettings', 'DomainJupyterServerAppSettings', 'DomainKernelGatewayAppSettings', @@ -228,12 +236,14 @@ 'ProjectProvisioningParameter', 'ServiceCatalogProvisionedProductDetailsProperties', 'ServiceCatalogProvisioningDetailsProperties', + 'SpaceAppLifecycleManagement', 'SpaceCodeEditorAppSettings', 'SpaceCodeRepository', 'SpaceCustomFileSystem', 'SpaceCustomImage', 'SpaceEbsStorageSettings', 'SpaceEfsFileSystem', + 'SpaceIdleSettings', 'SpaceJupyterLabAppSettings', 'SpaceJupyterServerAppSettings', 'SpaceKernelGatewayAppSettings', @@ -242,6 +252,7 @@ 'SpaceSettings', 'SpaceSharingSettings', 'SpaceStorageSettings', + 'UserProfileAppLifecycleManagement', 'UserProfileCodeEditorAppSettings', 'UserProfileCodeRepository', 'UserProfileCustomFileSystemConfig', @@ -250,6 +261,7 @@ 'UserProfileDefaultEbsStorageSettings', 'UserProfileDefaultSpaceStorageSettings', 'UserProfileEfsFileSystemConfig', + 'UserProfileIdleSettings', 'UserProfileJupyterLabAppSettings', 'UserProfileJupyterServerAppSettings', 'UserProfileKernelGatewayAppSettings', @@ -683,6 +695,300 @@ def sage_maker_image_version_arn(self) -> Optional[str]: return pulumi.get(self, "sage_maker_image_version_arn") +@pulumi.output_type +class ClusterInstanceGroup(dict): + """ + Details of an instance group in a SageMaker HyperPod cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "executionRole": + suggest = "execution_role" + elif key == "instanceCount": + suggest = "instance_count" + elif key == "instanceGroupName": + suggest = "instance_group_name" + elif key == "instanceType": + suggest = "instance_type" + elif key == "lifeCycleConfig": + suggest = "life_cycle_config" + elif key == "currentCount": + suggest = "current_count" + elif key == "instanceStorageConfigs": + suggest = "instance_storage_configs" + elif key == "onStartDeepHealthChecks": + suggest = "on_start_deep_health_checks" + elif key == "threadsPerCore": + suggest = "threads_per_core" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterInstanceGroup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterInstanceGroup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterInstanceGroup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + execution_role: str, + instance_count: int, + instance_group_name: str, + instance_type: str, + life_cycle_config: 'outputs.ClusterLifeCycleConfig', + current_count: Optional[int] = None, + instance_storage_configs: Optional[Sequence['outputs.ClusterInstanceStorageConfig']] = None, + on_start_deep_health_checks: Optional[Sequence['ClusterDeepHealthCheckType']] = None, + threads_per_core: Optional[int] = None): + """ + Details of an instance group in a SageMaker HyperPod cluster. + :param int instance_count: The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + :param int current_count: The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + :param int threads_per_core: The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + """ + pulumi.set(__self__, "execution_role", execution_role) + pulumi.set(__self__, "instance_count", instance_count) + pulumi.set(__self__, "instance_group_name", instance_group_name) + pulumi.set(__self__, "instance_type", instance_type) + pulumi.set(__self__, "life_cycle_config", life_cycle_config) + if current_count is not None: + pulumi.set(__self__, "current_count", current_count) + if instance_storage_configs is not None: + pulumi.set(__self__, "instance_storage_configs", instance_storage_configs) + if on_start_deep_health_checks is not None: + pulumi.set(__self__, "on_start_deep_health_checks", on_start_deep_health_checks) + if threads_per_core is not None: + pulumi.set(__self__, "threads_per_core", threads_per_core) + + @property + @pulumi.getter(name="executionRole") + def execution_role(self) -> str: + return pulumi.get(self, "execution_role") + + @property + @pulumi.getter(name="instanceCount") + def instance_count(self) -> int: + """ + The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. + """ + return pulumi.get(self, "instance_count") + + @property + @pulumi.getter(name="instanceGroupName") + def instance_group_name(self) -> str: + return pulumi.get(self, "instance_group_name") + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> str: + return pulumi.get(self, "instance_type") + + @property + @pulumi.getter(name="lifeCycleConfig") + def life_cycle_config(self) -> 'outputs.ClusterLifeCycleConfig': + return pulumi.get(self, "life_cycle_config") + + @property + @pulumi.getter(name="currentCount") + def current_count(self) -> Optional[int]: + """ + The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. + """ + return pulumi.get(self, "current_count") + + @property + @pulumi.getter(name="instanceStorageConfigs") + def instance_storage_configs(self) -> Optional[Sequence['outputs.ClusterInstanceStorageConfig']]: + return pulumi.get(self, "instance_storage_configs") + + @property + @pulumi.getter(name="onStartDeepHealthChecks") + def on_start_deep_health_checks(self) -> Optional[Sequence['ClusterDeepHealthCheckType']]: + return pulumi.get(self, "on_start_deep_health_checks") + + @property + @pulumi.getter(name="threadsPerCore") + def threads_per_core(self) -> Optional[int]: + """ + The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. + """ + return pulumi.get(self, "threads_per_core") + + +@pulumi.output_type +class ClusterInstanceStorageConfig(dict): + """ + Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + """ + def __init__(__self__): + """ + Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group. + """ + pass + + +@pulumi.output_type +class ClusterLifeCycleConfig(dict): + """ + The lifecycle configuration for a SageMaker HyperPod cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "onCreate": + suggest = "on_create" + elif key == "sourceS3Uri": + suggest = "source_s3_uri" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterLifeCycleConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterLifeCycleConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterLifeCycleConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + on_create: str, + source_s3_uri: str): + """ + The lifecycle configuration for a SageMaker HyperPod cluster. + :param str on_create: The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + :param str source_s3_uri: An Amazon S3 bucket path where your lifecycle scripts are stored. + """ + pulumi.set(__self__, "on_create", on_create) + pulumi.set(__self__, "source_s3_uri", source_s3_uri) + + @property + @pulumi.getter(name="onCreate") + def on_create(self) -> str: + """ + The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation. + """ + return pulumi.get(self, "on_create") + + @property + @pulumi.getter(name="sourceS3Uri") + def source_s3_uri(self) -> str: + """ + An Amazon S3 bucket path where your lifecycle scripts are stored. + """ + return pulumi.get(self, "source_s3_uri") + + +@pulumi.output_type +class ClusterOrchestrator(dict): + """ + Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + """ + def __init__(__self__, *, + eks: 'outputs.ClusterOrchestratorEksConfig'): + """ + Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster. + """ + pulumi.set(__self__, "eks", eks) + + @property + @pulumi.getter + def eks(self) -> 'outputs.ClusterOrchestratorEksConfig': + return pulumi.get(self, "eks") + + +@pulumi.output_type +class ClusterOrchestratorEksConfig(dict): + """ + Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterArn": + suggest = "cluster_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterOrchestratorEksConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterOrchestratorEksConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterOrchestratorEksConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_arn: str): + """ + Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to, + :param str cluster_arn: The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + """ + pulumi.set(__self__, "cluster_arn", cluster_arn) + + @property + @pulumi.getter(name="clusterArn") + def cluster_arn(self) -> str: + """ + The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster + """ + return pulumi.get(self, "cluster_arn") + + +@pulumi.output_type +class ClusterVpcConfig(dict): + """ + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityGroupIds": + suggest = "security_group_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterVpcConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterVpcConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterVpcConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_group_ids: Sequence[str], + subnets: Sequence[str]): + """ + Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. + :param Sequence[str] security_group_ids: The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + :param Sequence[str] subnets: The ID of the subnets in the VPC to which you want to connect your training job or model. + """ + pulumi.set(__self__, "security_group_ids", security_group_ids) + pulumi.set(__self__, "subnets", subnets) + + @property + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Sequence[str]: + """ + The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter + def subnets(self) -> Sequence[str]: + """ + The ID of the subnets in the VPC to which you want to connect your training job or model. + """ + return pulumi.get(self, "subnets") + + @pulumi.output_type class DataQualityJobDefinitionBatchTransformInput(dict): """ @@ -1821,6 +2127,36 @@ def kms_key_id(self) -> Optional[str]: return pulumi.get(self, "kms_key_id") +@pulumi.output_type +class DomainAppLifecycleManagement(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "idleSettings": + suggest = "idle_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainAppLifecycleManagement. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainAppLifecycleManagement.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainAppLifecycleManagement.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + idle_settings: Optional['outputs.DomainIdleSettings'] = None): + if idle_settings is not None: + pulumi.set(__self__, "idle_settings", idle_settings) + + @property + @pulumi.getter(name="idleSettings") + def idle_settings(self) -> Optional['outputs.DomainIdleSettings']: + return pulumi.get(self, "idle_settings") + + @pulumi.output_type class DomainCodeEditorAppSettings(dict): """ @@ -1829,7 +2165,9 @@ class DomainCodeEditorAppSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "customImages": + if key == "appLifecycleManagement": + suggest = "app_lifecycle_management" + elif key == "customImages": suggest = "custom_images" elif key == "defaultResourceSpec": suggest = "default_resource_spec" @@ -1848,6 +2186,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + app_lifecycle_management: Optional['outputs.DomainAppLifecycleManagement'] = None, custom_images: Optional[Sequence['outputs.DomainCustomImage']] = None, default_resource_spec: Optional['outputs.DomainResourceSpec'] = None, lifecycle_config_arns: Optional[Sequence[str]] = None): @@ -1857,6 +2196,8 @@ def __init__(__self__, *, :param 'DomainResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if custom_images is not None: pulumi.set(__self__, "custom_images", custom_images) if default_resource_spec is not None: @@ -1864,6 +2205,11 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional['outputs.DomainAppLifecycleManagement']: + return pulumi.get(self, "app_lifecycle_management") + @property @pulumi.getter(name="customImages") def custom_images(self) -> Optional[Sequence['outputs.DomainCustomImage']]: @@ -2387,6 +2733,66 @@ def file_system_path(self) -> Optional[str]: return pulumi.get(self, "file_system_path") +@pulumi.output_type +class DomainIdleSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + elif key == "lifecycleManagement": + suggest = "lifecycle_management" + elif key == "maxIdleTimeoutInMinutes": + suggest = "max_idle_timeout_in_minutes" + elif key == "minIdleTimeoutInMinutes": + suggest = "min_idle_timeout_in_minutes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainIdleSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainIdleSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainIdleSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + idle_timeout_in_minutes: Optional[int] = None, + lifecycle_management: Optional['DomainLifecycleManagement'] = None, + max_idle_timeout_in_minutes: Optional[int] = None, + min_idle_timeout_in_minutes: Optional[int] = None): + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if lifecycle_management is not None: + pulumi.set(__self__, "lifecycle_management", lifecycle_management) + if max_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "max_idle_timeout_in_minutes", max_idle_timeout_in_minutes) + if min_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "min_idle_timeout_in_minutes", min_idle_timeout_in_minutes) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + return pulumi.get(self, "idle_timeout_in_minutes") + + @property + @pulumi.getter(name="lifecycleManagement") + def lifecycle_management(self) -> Optional['DomainLifecycleManagement']: + return pulumi.get(self, "lifecycle_management") + + @property + @pulumi.getter(name="maxIdleTimeoutInMinutes") + def max_idle_timeout_in_minutes(self) -> Optional[int]: + return pulumi.get(self, "max_idle_timeout_in_minutes") + + @property + @pulumi.getter(name="minIdleTimeoutInMinutes") + def min_idle_timeout_in_minutes(self) -> Optional[int]: + return pulumi.get(self, "min_idle_timeout_in_minutes") + + @pulumi.output_type class DomainJupyterLabAppSettings(dict): """ @@ -2395,7 +2801,9 @@ class DomainJupyterLabAppSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "codeRepositories": + if key == "appLifecycleManagement": + suggest = "app_lifecycle_management" + elif key == "codeRepositories": suggest = "code_repositories" elif key == "customImages": suggest = "custom_images" @@ -2416,6 +2824,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + app_lifecycle_management: Optional['outputs.DomainAppLifecycleManagement'] = None, code_repositories: Optional[Sequence['outputs.DomainCodeRepository']] = None, custom_images: Optional[Sequence['outputs.DomainCustomImage']] = None, default_resource_spec: Optional['outputs.DomainResourceSpec'] = None, @@ -2427,6 +2836,8 @@ def __init__(__self__, *, :param 'DomainResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if code_repositories is not None: pulumi.set(__self__, "code_repositories", code_repositories) if custom_images is not None: @@ -2436,6 +2847,11 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional['outputs.DomainAppLifecycleManagement']: + return pulumi.get(self, "app_lifecycle_management") + @property @pulumi.getter(name="codeRepositories") def code_repositories(self) -> Optional[Sequence['outputs.DomainCodeRepository']]: @@ -13658,6 +14074,36 @@ def provisioning_parameters(self) -> Optional[Sequence['outputs.ProjectProvision return pulumi.get(self, "provisioning_parameters") +@pulumi.output_type +class SpaceAppLifecycleManagement(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "idleSettings": + suggest = "idle_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SpaceAppLifecycleManagement. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SpaceAppLifecycleManagement.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SpaceAppLifecycleManagement.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + idle_settings: Optional['outputs.SpaceIdleSettings'] = None): + if idle_settings is not None: + pulumi.set(__self__, "idle_settings", idle_settings) + + @property + @pulumi.getter(name="idleSettings") + def idle_settings(self) -> Optional['outputs.SpaceIdleSettings']: + return pulumi.get(self, "idle_settings") + + @pulumi.output_type class SpaceCodeEditorAppSettings(dict): """ @@ -13666,7 +14112,9 @@ class SpaceCodeEditorAppSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "defaultResourceSpec": + if key == "appLifecycleManagement": + suggest = "app_lifecycle_management" + elif key == "defaultResourceSpec": suggest = "default_resource_spec" if suggest: @@ -13681,14 +14129,22 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + app_lifecycle_management: Optional['outputs.SpaceAppLifecycleManagement'] = None, default_resource_spec: Optional['outputs.SpaceResourceSpec'] = None): """ The CodeEditor app settings. :param 'SpaceResourceSpec' default_resource_spec: Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if default_resource_spec is not None: pulumi.set(__self__, "default_resource_spec", default_resource_spec) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional['outputs.SpaceAppLifecycleManagement']: + return pulumi.get(self, "app_lifecycle_management") + @property @pulumi.getter(name="defaultResourceSpec") def default_resource_spec(self) -> Optional['outputs.SpaceResourceSpec']: @@ -13897,6 +14353,42 @@ def file_system_id(self) -> str: return pulumi.get(self, "file_system_id") +@pulumi.output_type +class SpaceIdleSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SpaceIdleSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SpaceIdleSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SpaceIdleSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + idle_timeout_in_minutes: Optional[int] = None): + """ + :param int idle_timeout_in_minutes: The space idle timeout value set in minutes + """ + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + """ + The space idle timeout value set in minutes + """ + return pulumi.get(self, "idle_timeout_in_minutes") + + @pulumi.output_type class SpaceJupyterLabAppSettings(dict): """ @@ -13905,7 +14397,9 @@ class SpaceJupyterLabAppSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "codeRepositories": + if key == "appLifecycleManagement": + suggest = "app_lifecycle_management" + elif key == "codeRepositories": suggest = "code_repositories" elif key == "defaultResourceSpec": suggest = "default_resource_spec" @@ -13922,6 +14416,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + app_lifecycle_management: Optional['outputs.SpaceAppLifecycleManagement'] = None, code_repositories: Optional[Sequence['outputs.SpaceCodeRepository']] = None, default_resource_spec: Optional['outputs.SpaceResourceSpec'] = None): """ @@ -13929,11 +14424,18 @@ def __init__(__self__, *, :param Sequence['SpaceCodeRepository'] code_repositories: A list of CodeRepositories available for use with JupyterLab apps. :param 'SpaceResourceSpec' default_resource_spec: Specifies the ARNs of a SageMaker image and SageMaker image version, and the instance type that the version runs on. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if code_repositories is not None: pulumi.set(__self__, "code_repositories", code_repositories) if default_resource_spec is not None: pulumi.set(__self__, "default_resource_spec", default_resource_spec) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional['outputs.SpaceAppLifecycleManagement']: + return pulumi.get(self, "app_lifecycle_management") + @property @pulumi.getter(name="codeRepositories") def code_repositories(self) -> Optional[Sequence['outputs.SpaceCodeRepository']]: @@ -14381,6 +14883,36 @@ def ebs_storage_settings(self) -> Optional['outputs.SpaceEbsStorageSettings']: return pulumi.get(self, "ebs_storage_settings") +@pulumi.output_type +class UserProfileAppLifecycleManagement(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "idleSettings": + suggest = "idle_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileAppLifecycleManagement. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileAppLifecycleManagement.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileAppLifecycleManagement.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + idle_settings: Optional['outputs.UserProfileIdleSettings'] = None): + if idle_settings is not None: + pulumi.set(__self__, "idle_settings", idle_settings) + + @property + @pulumi.getter(name="idleSettings") + def idle_settings(self) -> Optional['outputs.UserProfileIdleSettings']: + return pulumi.get(self, "idle_settings") + + @pulumi.output_type class UserProfileCodeEditorAppSettings(dict): """ @@ -14389,7 +14921,9 @@ class UserProfileCodeEditorAppSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "customImages": + if key == "appLifecycleManagement": + suggest = "app_lifecycle_management" + elif key == "customImages": suggest = "custom_images" elif key == "defaultResourceSpec": suggest = "default_resource_spec" @@ -14408,6 +14942,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + app_lifecycle_management: Optional['outputs.UserProfileAppLifecycleManagement'] = None, custom_images: Optional[Sequence['outputs.UserProfileCustomImage']] = None, default_resource_spec: Optional['outputs.UserProfileResourceSpec'] = None, lifecycle_config_arns: Optional[Sequence[str]] = None): @@ -14417,6 +14952,8 @@ def __init__(__self__, *, :param 'UserProfileResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if custom_images is not None: pulumi.set(__self__, "custom_images", custom_images) if default_resource_spec is not None: @@ -14424,6 +14961,11 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional['outputs.UserProfileAppLifecycleManagement']: + return pulumi.get(self, "app_lifecycle_management") + @property @pulumi.getter(name="customImages") def custom_images(self) -> Optional[Sequence['outputs.UserProfileCustomImage']]: @@ -14756,6 +15298,66 @@ def file_system_path(self) -> Optional[str]: return pulumi.get(self, "file_system_path") +@pulumi.output_type +class UserProfileIdleSettings(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "idleTimeoutInMinutes": + suggest = "idle_timeout_in_minutes" + elif key == "lifecycleManagement": + suggest = "lifecycle_management" + elif key == "maxIdleTimeoutInMinutes": + suggest = "max_idle_timeout_in_minutes" + elif key == "minIdleTimeoutInMinutes": + suggest = "min_idle_timeout_in_minutes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileIdleSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileIdleSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileIdleSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + idle_timeout_in_minutes: Optional[int] = None, + lifecycle_management: Optional['UserProfileLifecycleManagement'] = None, + max_idle_timeout_in_minutes: Optional[int] = None, + min_idle_timeout_in_minutes: Optional[int] = None): + if idle_timeout_in_minutes is not None: + pulumi.set(__self__, "idle_timeout_in_minutes", idle_timeout_in_minutes) + if lifecycle_management is not None: + pulumi.set(__self__, "lifecycle_management", lifecycle_management) + if max_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "max_idle_timeout_in_minutes", max_idle_timeout_in_minutes) + if min_idle_timeout_in_minutes is not None: + pulumi.set(__self__, "min_idle_timeout_in_minutes", min_idle_timeout_in_minutes) + + @property + @pulumi.getter(name="idleTimeoutInMinutes") + def idle_timeout_in_minutes(self) -> Optional[int]: + return pulumi.get(self, "idle_timeout_in_minutes") + + @property + @pulumi.getter(name="lifecycleManagement") + def lifecycle_management(self) -> Optional['UserProfileLifecycleManagement']: + return pulumi.get(self, "lifecycle_management") + + @property + @pulumi.getter(name="maxIdleTimeoutInMinutes") + def max_idle_timeout_in_minutes(self) -> Optional[int]: + return pulumi.get(self, "max_idle_timeout_in_minutes") + + @property + @pulumi.getter(name="minIdleTimeoutInMinutes") + def min_idle_timeout_in_minutes(self) -> Optional[int]: + return pulumi.get(self, "min_idle_timeout_in_minutes") + + @pulumi.output_type class UserProfileJupyterLabAppSettings(dict): """ @@ -14764,7 +15366,9 @@ class UserProfileJupyterLabAppSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "codeRepositories": + if key == "appLifecycleManagement": + suggest = "app_lifecycle_management" + elif key == "codeRepositories": suggest = "code_repositories" elif key == "customImages": suggest = "custom_images" @@ -14785,6 +15389,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + app_lifecycle_management: Optional['outputs.UserProfileAppLifecycleManagement'] = None, code_repositories: Optional[Sequence['outputs.UserProfileCodeRepository']] = None, custom_images: Optional[Sequence['outputs.UserProfileCustomImage']] = None, default_resource_spec: Optional['outputs.UserProfileResourceSpec'] = None, @@ -14796,6 +15401,8 @@ def __init__(__self__, *, :param 'UserProfileResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. """ + if app_lifecycle_management is not None: + pulumi.set(__self__, "app_lifecycle_management", app_lifecycle_management) if code_repositories is not None: pulumi.set(__self__, "code_repositories", code_repositories) if custom_images is not None: @@ -14805,6 +15412,11 @@ def __init__(__self__, *, if lifecycle_config_arns is not None: pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + @property + @pulumi.getter(name="appLifecycleManagement") + def app_lifecycle_management(self) -> Optional['outputs.UserProfileAppLifecycleManagement']: + return pulumi.get(self, "app_lifecycle_management") + @property @pulumi.getter(name="codeRepositories") def code_repositories(self) -> Optional[Sequence['outputs.UserProfileCodeRepository']]: diff --git a/sdk/python/pulumi_aws_native/sns/__init__.py b/sdk/python/pulumi_aws_native/sns/__init__.py index 24128f1b33..aca55b1c92 100644 --- a/sdk/python/pulumi_aws_native/sns/__init__.py +++ b/sdk/python/pulumi_aws_native/sns/__init__.py @@ -6,9 +6,11 @@ import typing # Export this package's modules as members: from ._enums import * +from .get_subscription import * from .get_topic import * from .get_topic_inline_policy import * from .get_topic_policy import * +from .subscription import * from .topic import * from .topic_inline_policy import * from .topic_policy import * diff --git a/sdk/python/pulumi_aws_native/sns/get_subscription.py b/sdk/python/pulumi_aws_native/sns/get_subscription.py new file mode 100644 index 0000000000..bf70bb0b03 --- /dev/null +++ b/sdk/python/pulumi_aws_native/sns/get_subscription.py @@ -0,0 +1,169 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetSubscriptionResult', + 'AwaitableGetSubscriptionResult', + 'get_subscription', + 'get_subscription_output', +] + +@pulumi.output_type +class GetSubscriptionResult: + def __init__(__self__, arn=None, delivery_policy=None, filter_policy=None, filter_policy_scope=None, raw_message_delivery=None, redrive_policy=None, replay_policy=None, subscription_role_arn=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if delivery_policy and not isinstance(delivery_policy, dict): + raise TypeError("Expected argument 'delivery_policy' to be a dict") + pulumi.set(__self__, "delivery_policy", delivery_policy) + if filter_policy and not isinstance(filter_policy, dict): + raise TypeError("Expected argument 'filter_policy' to be a dict") + pulumi.set(__self__, "filter_policy", filter_policy) + if filter_policy_scope and not isinstance(filter_policy_scope, str): + raise TypeError("Expected argument 'filter_policy_scope' to be a str") + pulumi.set(__self__, "filter_policy_scope", filter_policy_scope) + if raw_message_delivery and not isinstance(raw_message_delivery, bool): + raise TypeError("Expected argument 'raw_message_delivery' to be a bool") + pulumi.set(__self__, "raw_message_delivery", raw_message_delivery) + if redrive_policy and not isinstance(redrive_policy, dict): + raise TypeError("Expected argument 'redrive_policy' to be a dict") + pulumi.set(__self__, "redrive_policy", redrive_policy) + if replay_policy and not isinstance(replay_policy, dict): + raise TypeError("Expected argument 'replay_policy' to be a dict") + pulumi.set(__self__, "replay_policy", replay_policy) + if subscription_role_arn and not isinstance(subscription_role_arn, str): + raise TypeError("Expected argument 'subscription_role_arn' to be a str") + pulumi.set(__self__, "subscription_role_arn", subscription_role_arn) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + Arn of the subscription + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="deliveryPolicy") + def delivery_policy(self) -> Optional[Any]: + """ + The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "delivery_policy") + + @property + @pulumi.getter(name="filterPolicy") + def filter_policy(self) -> Optional[Any]: + """ + The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "filter_policy") + + @property + @pulumi.getter(name="filterPolicyScope") + def filter_policy_scope(self) -> Optional[str]: + """ + This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + """ + return pulumi.get(self, "filter_policy_scope") + + @property + @pulumi.getter(name="rawMessageDelivery") + def raw_message_delivery(self) -> Optional[bool]: + """ + When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + """ + return pulumi.get(self, "raw_message_delivery") + + @property + @pulumi.getter(name="redrivePolicy") + def redrive_policy(self) -> Optional[Any]: + """ + When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "redrive_policy") + + @property + @pulumi.getter(name="replayPolicy") + def replay_policy(self) -> Optional[Any]: + """ + Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "replay_policy") + + @property + @pulumi.getter(name="subscriptionRoleArn") + def subscription_role_arn(self) -> Optional[str]: + """ + This property applies only to Amazon Data Firehose delivery stream subscriptions. + """ + return pulumi.get(self, "subscription_role_arn") + + +class AwaitableGetSubscriptionResult(GetSubscriptionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSubscriptionResult( + arn=self.arn, + delivery_policy=self.delivery_policy, + filter_policy=self.filter_policy, + filter_policy_scope=self.filter_policy_scope, + raw_message_delivery=self.raw_message_delivery, + redrive_policy=self.redrive_policy, + replay_policy=self.replay_policy, + subscription_role_arn=self.subscription_role_arn) + + +def get_subscription(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSubscriptionResult: + """ + Resource Type definition for AWS::SNS::Subscription + + + :param str arn: Arn of the subscription + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:sns:getSubscription', __args__, opts=opts, typ=GetSubscriptionResult).value + + return AwaitableGetSubscriptionResult( + arn=pulumi.get(__ret__, 'arn'), + delivery_policy=pulumi.get(__ret__, 'delivery_policy'), + filter_policy=pulumi.get(__ret__, 'filter_policy'), + filter_policy_scope=pulumi.get(__ret__, 'filter_policy_scope'), + raw_message_delivery=pulumi.get(__ret__, 'raw_message_delivery'), + redrive_policy=pulumi.get(__ret__, 'redrive_policy'), + replay_policy=pulumi.get(__ret__, 'replay_policy'), + subscription_role_arn=pulumi.get(__ret__, 'subscription_role_arn')) + + +@_utilities.lift_output_func(get_subscription) +def get_subscription_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSubscriptionResult]: + """ + Resource Type definition for AWS::SNS::Subscription + + + :param str arn: Arn of the subscription + """ + ... diff --git a/sdk/python/pulumi_aws_native/sns/subscription.py b/sdk/python/pulumi_aws_native/sns/subscription.py new file mode 100644 index 0000000000..cc8ca446ec --- /dev/null +++ b/sdk/python/pulumi_aws_native/sns/subscription.py @@ -0,0 +1,455 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['SubscriptionArgs', 'Subscription'] + +@pulumi.input_type +class SubscriptionArgs: + def __init__(__self__, *, + protocol: pulumi.Input[str], + topic_arn: pulumi.Input[str], + delivery_policy: Optional[Any] = None, + endpoint: Optional[pulumi.Input[str]] = None, + filter_policy: Optional[Any] = None, + filter_policy_scope: Optional[pulumi.Input[str]] = None, + raw_message_delivery: Optional[pulumi.Input[bool]] = None, + redrive_policy: Optional[Any] = None, + region: Optional[pulumi.Input[str]] = None, + replay_policy: Optional[Any] = None, + subscription_role_arn: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Subscription resource. + :param pulumi.Input[str] protocol: The subscription's protocol. + :param pulumi.Input[str] topic_arn: The ARN of the topic to subscribe to. + :param Any delivery_policy: The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] endpoint: The subscription's endpoint. The endpoint value depends on the protocol that you specify. + :param Any filter_policy: The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] filter_policy_scope: This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + :param pulumi.Input[bool] raw_message_delivery: When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + :param Any redrive_policy: When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] region: For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + :param Any replay_policy: Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] subscription_role_arn: This property applies only to Amazon Data Firehose delivery stream subscriptions. + """ + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "topic_arn", topic_arn) + if delivery_policy is not None: + pulumi.set(__self__, "delivery_policy", delivery_policy) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) + if filter_policy is not None: + pulumi.set(__self__, "filter_policy", filter_policy) + if filter_policy_scope is not None: + pulumi.set(__self__, "filter_policy_scope", filter_policy_scope) + if raw_message_delivery is not None: + pulumi.set(__self__, "raw_message_delivery", raw_message_delivery) + if redrive_policy is not None: + pulumi.set(__self__, "redrive_policy", redrive_policy) + if region is not None: + pulumi.set(__self__, "region", region) + if replay_policy is not None: + pulumi.set(__self__, "replay_policy", replay_policy) + if subscription_role_arn is not None: + pulumi.set(__self__, "subscription_role_arn", subscription_role_arn) + + @property + @pulumi.getter + def protocol(self) -> pulumi.Input[str]: + """ + The subscription's protocol. + """ + return pulumi.get(self, "protocol") + + @protocol.setter + def protocol(self, value: pulumi.Input[str]): + pulumi.set(self, "protocol", value) + + @property + @pulumi.getter(name="topicArn") + def topic_arn(self) -> pulumi.Input[str]: + """ + The ARN of the topic to subscribe to. + """ + return pulumi.get(self, "topic_arn") + + @topic_arn.setter + def topic_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "topic_arn", value) + + @property + @pulumi.getter(name="deliveryPolicy") + def delivery_policy(self) -> Optional[Any]: + """ + The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "delivery_policy") + + @delivery_policy.setter + def delivery_policy(self, value: Optional[Any]): + pulumi.set(self, "delivery_policy", value) + + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input[str]]: + """ + The subscription's endpoint. The endpoint value depends on the protocol that you specify. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint", value) + + @property + @pulumi.getter(name="filterPolicy") + def filter_policy(self) -> Optional[Any]: + """ + The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "filter_policy") + + @filter_policy.setter + def filter_policy(self, value: Optional[Any]): + pulumi.set(self, "filter_policy", value) + + @property + @pulumi.getter(name="filterPolicyScope") + def filter_policy_scope(self) -> Optional[pulumi.Input[str]]: + """ + This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + """ + return pulumi.get(self, "filter_policy_scope") + + @filter_policy_scope.setter + def filter_policy_scope(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "filter_policy_scope", value) + + @property + @pulumi.getter(name="rawMessageDelivery") + def raw_message_delivery(self) -> Optional[pulumi.Input[bool]]: + """ + When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + """ + return pulumi.get(self, "raw_message_delivery") + + @raw_message_delivery.setter + def raw_message_delivery(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "raw_message_delivery", value) + + @property + @pulumi.getter(name="redrivePolicy") + def redrive_policy(self) -> Optional[Any]: + """ + When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "redrive_policy") + + @redrive_policy.setter + def redrive_policy(self, value: Optional[Any]): + pulumi.set(self, "redrive_policy", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + @property + @pulumi.getter(name="replayPolicy") + def replay_policy(self) -> Optional[Any]: + """ + Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "replay_policy") + + @replay_policy.setter + def replay_policy(self, value: Optional[Any]): + pulumi.set(self, "replay_policy", value) + + @property + @pulumi.getter(name="subscriptionRoleArn") + def subscription_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + This property applies only to Amazon Data Firehose delivery stream subscriptions. + """ + return pulumi.get(self, "subscription_role_arn") + + @subscription_role_arn.setter + def subscription_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subscription_role_arn", value) + + +class Subscription(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + delivery_policy: Optional[Any] = None, + endpoint: Optional[pulumi.Input[str]] = None, + filter_policy: Optional[Any] = None, + filter_policy_scope: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, + raw_message_delivery: Optional[pulumi.Input[bool]] = None, + redrive_policy: Optional[Any] = None, + region: Optional[pulumi.Input[str]] = None, + replay_policy: Optional[Any] = None, + subscription_role_arn: Optional[pulumi.Input[str]] = None, + topic_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource Type definition for AWS::SNS::Subscription + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param Any delivery_policy: The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] endpoint: The subscription's endpoint. The endpoint value depends on the protocol that you specify. + :param Any filter_policy: The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] filter_policy_scope: This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + :param pulumi.Input[str] protocol: The subscription's protocol. + :param pulumi.Input[bool] raw_message_delivery: When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + :param Any redrive_policy: When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] region: For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + :param Any replay_policy: Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + :param pulumi.Input[str] subscription_role_arn: This property applies only to Amazon Data Firehose delivery stream subscriptions. + :param pulumi.Input[str] topic_arn: The ARN of the topic to subscribe to. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SubscriptionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::SNS::Subscription + + :param str resource_name: The name of the resource. + :param SubscriptionArgs 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(SubscriptionArgs, 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, + delivery_policy: Optional[Any] = None, + endpoint: Optional[pulumi.Input[str]] = None, + filter_policy: Optional[Any] = None, + filter_policy_scope: Optional[pulumi.Input[str]] = None, + protocol: Optional[pulumi.Input[str]] = None, + raw_message_delivery: Optional[pulumi.Input[bool]] = None, + redrive_policy: Optional[Any] = None, + region: Optional[pulumi.Input[str]] = None, + replay_policy: Optional[Any] = None, + subscription_role_arn: Optional[pulumi.Input[str]] = None, + topic_arn: Optional[pulumi.Input[str]] = 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__ = SubscriptionArgs.__new__(SubscriptionArgs) + + __props__.__dict__["delivery_policy"] = delivery_policy + __props__.__dict__["endpoint"] = endpoint + __props__.__dict__["filter_policy"] = filter_policy + __props__.__dict__["filter_policy_scope"] = filter_policy_scope + if protocol is None and not opts.urn: + raise TypeError("Missing required property 'protocol'") + __props__.__dict__["protocol"] = protocol + __props__.__dict__["raw_message_delivery"] = raw_message_delivery + __props__.__dict__["redrive_policy"] = redrive_policy + __props__.__dict__["region"] = region + __props__.__dict__["replay_policy"] = replay_policy + __props__.__dict__["subscription_role_arn"] = subscription_role_arn + if topic_arn is None and not opts.urn: + raise TypeError("Missing required property 'topic_arn'") + __props__.__dict__["topic_arn"] = topic_arn + __props__.__dict__["arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["endpoint", "protocol", "topicArn"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Subscription, __self__).__init__( + 'aws-native:sns:Subscription', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Subscription': + """ + Get an existing Subscription 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. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = SubscriptionArgs.__new__(SubscriptionArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["delivery_policy"] = None + __props__.__dict__["endpoint"] = None + __props__.__dict__["filter_policy"] = None + __props__.__dict__["filter_policy_scope"] = None + __props__.__dict__["protocol"] = None + __props__.__dict__["raw_message_delivery"] = None + __props__.__dict__["redrive_policy"] = None + __props__.__dict__["region"] = None + __props__.__dict__["replay_policy"] = None + __props__.__dict__["subscription_role_arn"] = None + __props__.__dict__["topic_arn"] = None + return Subscription(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + Arn of the subscription + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="deliveryPolicy") + def delivery_policy(self) -> pulumi.Output[Optional[Any]]: + """ + The delivery policy JSON assigned to the subscription. Enables the subscriber to define the message delivery retry strategy in the case of an HTTP/S endpoint subscribed to the topic. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "delivery_policy") + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Output[Optional[str]]: + """ + The subscription's endpoint. The endpoint value depends on the protocol that you specify. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="filterPolicy") + def filter_policy(self) -> pulumi.Output[Optional[Any]]: + """ + The filter policy JSON assigned to the subscription. Enables the subscriber to filter out unwanted messages. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "filter_policy") + + @property + @pulumi.getter(name="filterPolicyScope") + def filter_policy_scope(self) -> pulumi.Output[Optional[str]]: + """ + This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) and MessageBody. + """ + return pulumi.get(self, "filter_policy_scope") + + @property + @pulumi.getter + def protocol(self) -> pulumi.Output[str]: + """ + The subscription's protocol. + """ + return pulumi.get(self, "protocol") + + @property + @pulumi.getter(name="rawMessageDelivery") + def raw_message_delivery(self) -> pulumi.Output[Optional[bool]]: + """ + When set to true, enables raw message delivery. Raw messages don't contain any JSON formatting and can be sent to Amazon SQS and HTTP/S endpoints. + """ + return pulumi.get(self, "raw_message_delivery") + + @property + @pulumi.getter(name="redrivePolicy") + def redrive_policy(self) -> pulumi.Output[Optional[Any]]: + """ + When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors are held in the dead-letter queue for further analysis or reprocessing. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "redrive_policy") + + @property + @pulumi.getter + def region(self) -> pulumi.Output[Optional[str]]: + """ + For cross-region subscriptions, the region in which the topic resides.If no region is specified, AWS CloudFormation uses the region of the caller as the default. + """ + return pulumi.get(self, "region") + + @property + @pulumi.getter(name="replayPolicy") + def replay_policy(self) -> pulumi.Output[Optional[Any]]: + """ + Specifies whether Amazon SNS resends the notification to the subscription when a message's attribute changes. + + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::Subscription` for more information about the expected schema for this property. + """ + return pulumi.get(self, "replay_policy") + + @property + @pulumi.getter(name="subscriptionRoleArn") + def subscription_role_arn(self) -> pulumi.Output[Optional[str]]: + """ + This property applies only to Amazon Data Firehose delivery stream subscriptions. + """ + return pulumi.get(self, "subscription_role_arn") + + @property + @pulumi.getter(name="topicArn") + def topic_arn(self) -> pulumi.Output[str]: + """ + The ARN of the topic to subscribe to. + """ + return pulumi.get(self, "topic_arn") + diff --git a/sdk/python/pulumi_aws_native/sns/topic.py b/sdk/python/pulumi_aws_native/sns/topic.py index 8d44e872fe..d539815699 100644 --- a/sdk/python/pulumi_aws_native/sns/topic.py +++ b/sdk/python/pulumi_aws_native/sns/topic.py @@ -283,6 +283,90 @@ def __init__(__self__, One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*. The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. + ## Example Usage + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + car_sales_topic = aws_native.sns.Topic("carSalesTopic") + erp_integration_queue = aws_native.sqs.Queue("erpIntegrationQueue") + erp_subscription = aws_native.sns.Subscription("erpSubscription", + topic_arn=car_sales_topic.id, + endpoint=erp_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True) + crm_integration_queue = aws_native.sqs.Queue("crmIntegrationQueue") + crm_subscription = aws_native.sns.Subscription("crmSubscription", + topic_arn=car_sales_topic.id, + endpoint=crm_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True, + filter_policy={ + "buyer-class": ["vip"], + }) + config = pulumi.Config() + my_http_endpoint = config.require("myHttpEndpoint") + scm_subscription = aws_native.sns.Subscription("scmSubscription", + topic_arn=car_sales_topic.id, + endpoint=my_http_endpoint, + protocol="https", + delivery_policy={ + "healthyRetryPolicy": { + "numRetries": 20, + "minDelayTarget": 10, + "maxDelayTarget": 30, + "numMinDelayRetries": 3, + "numMaxDelayRetries": 17, + "numNoDelayRetries": 0, + "backoffFunction": "exponential", + }, + }) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + car_sales_topic = aws_native.sns.Topic("carSalesTopic") + erp_integration_queue = aws_native.sqs.Queue("erpIntegrationQueue") + erp_subscription = aws_native.sns.Subscription("erpSubscription", + topic_arn=car_sales_topic.id, + endpoint=erp_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True) + crm_integration_queue = aws_native.sqs.Queue("crmIntegrationQueue") + crm_subscription = aws_native.sns.Subscription("crmSubscription", + topic_arn=car_sales_topic.id, + endpoint=crm_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True, + filter_policy={ + "buyer-class": ["vip"], + }) + config = pulumi.Config() + my_http_endpoint = config.require("myHttpEndpoint") + scm_subscription = aws_native.sns.Subscription("scmSubscription", + topic_arn=car_sales_topic.id, + endpoint=my_http_endpoint, + protocol="https", + delivery_policy={ + "healthyRetryPolicy": { + "numRetries": 20, + "minDelayTarget": 10, + "maxDelayTarget": 30, + "numMinDelayRetries": 3, + "numMaxDelayRetries": 17, + "numNoDelayRetries": 0, + "backoffFunction": "exponential", + }, + }) + + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param Any archive_policy: The archive policy determines the number of days SNS retains messages. You can set a retention period from 1 to 365 days. @@ -331,6 +415,90 @@ def __init__(__self__, One account can create a maximum of 100,000 standard topics and 1,000 FIFO topics. For more information, see [endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/sns.html) in the *General Reference*. The structure of ``AUTHPARAMS`` depends on the .signature of the API request. For more information, see [Examples of the complete Signature Version 4 signing process](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) in the *General Reference*. + ## Example Usage + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + car_sales_topic = aws_native.sns.Topic("carSalesTopic") + erp_integration_queue = aws_native.sqs.Queue("erpIntegrationQueue") + erp_subscription = aws_native.sns.Subscription("erpSubscription", + topic_arn=car_sales_topic.id, + endpoint=erp_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True) + crm_integration_queue = aws_native.sqs.Queue("crmIntegrationQueue") + crm_subscription = aws_native.sns.Subscription("crmSubscription", + topic_arn=car_sales_topic.id, + endpoint=crm_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True, + filter_policy={ + "buyer-class": ["vip"], + }) + config = pulumi.Config() + my_http_endpoint = config.require("myHttpEndpoint") + scm_subscription = aws_native.sns.Subscription("scmSubscription", + topic_arn=car_sales_topic.id, + endpoint=my_http_endpoint, + protocol="https", + delivery_policy={ + "healthyRetryPolicy": { + "numRetries": 20, + "minDelayTarget": 10, + "maxDelayTarget": 30, + "numMinDelayRetries": 3, + "numMaxDelayRetries": 17, + "numNoDelayRetries": 0, + "backoffFunction": "exponential", + }, + }) + + ``` + ### Example + + ```python + import pulumi + import pulumi_aws_native as aws_native + + car_sales_topic = aws_native.sns.Topic("carSalesTopic") + erp_integration_queue = aws_native.sqs.Queue("erpIntegrationQueue") + erp_subscription = aws_native.sns.Subscription("erpSubscription", + topic_arn=car_sales_topic.id, + endpoint=erp_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True) + crm_integration_queue = aws_native.sqs.Queue("crmIntegrationQueue") + crm_subscription = aws_native.sns.Subscription("crmSubscription", + topic_arn=car_sales_topic.id, + endpoint=crm_integration_queue.arn, + protocol="sqs", + raw_message_delivery=True, + filter_policy={ + "buyer-class": ["vip"], + }) + config = pulumi.Config() + my_http_endpoint = config.require("myHttpEndpoint") + scm_subscription = aws_native.sns.Subscription("scmSubscription", + topic_arn=car_sales_topic.id, + endpoint=my_http_endpoint, + protocol="https", + delivery_policy={ + "healthyRetryPolicy": { + "numRetries": 20, + "minDelayTarget": 10, + "maxDelayTarget": 30, + "numMinDelayRetries": 3, + "numMaxDelayRetries": 17, + "numNoDelayRetries": 0, + "backoffFunction": "exponential", + }, + }) + + ``` + :param str resource_name: The name of the resource. :param TopicArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource.