From 30a616b52c9fde86df137f557e58a20831ad9bf1 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Thu, 21 Nov 2024 05:10:47 -0800 Subject: [PATCH] Automated SDK generation @ aws-cloudformation-user-guide 19dc52cd3f2007d6d268b65b739ffb5ebf8c1e76 (#1841) *Automated PR* #### New resources: - `apigateway.BasePathMappingV2` - `apigateway.DomainNameAccessAssociation` - `apigateway.DomainNameV2` - `connect.EmailAddress` - `customerprofiles.SegmentDefinition` - `ec2.VpcBlockPublicAccessExclusion` - `ec2.VpcBlockPublicAccessOptions` - `m2.Deployment` - `workspacesweb.DataProtectionSettings` #### New functions: - `apigateway.getBasePathMappingV2` - `apigateway.getDomainNameAccessAssociation` - `apigateway.getDomainNameV2` - `connect.getEmailAddress` - `customerprofiles.getSegmentDefinition` - `ec2.getVpcBlockPublicAccessExclusion` - `ec2.getVpcBlockPublicAccessOptions` - `m2.getDeployment` - `workspacesweb.getDataProtectionSettings` --- .docs.version | 2 +- .../aws-apigateway-basepathmappingv2.json | 63 + ...pigateway-domainnameaccessassociation.json | 74 + .../aws-apigateway-domainnamev2.json | 93 + .../aws-autoscaling-scalingpolicy.json | 9 + .../aws-b2bi-capability.json | 4 +- .../aws-b2bi-transformer.json | 4 +- .../aws-connect-emailaddress.json | 109 + .../aws-connect-hoursofoperation.json | 277 +- .../aws-customerprofiles-integration.json | 13 + ...ws-customerprofiles-segmentdefinition.json | 477 ++ .../aws-dms-dataprovider.json | 5 +- .../aws-dms-instanceprofile.json | 5 +- .../aws-dms-migrationproject.json | 5 +- .../aws-dynamodb-table.json | 8 +- .../aws-ec2-launchtemplate.json | 14 + ...aws-ec2-vpcblockpublicaccessexclusion.json | 90 + .../aws-ec2-vpcblockpublicaccessoptions.json | 40 + ...s-clustercapacityproviderassociations.json | 2 +- .../aws-efs-filesystem.json | 302 +- ...ws-entityresolution-idmappingworkflow.json | 1 + .../aws-entityresolution-idnamespace.json | 3 +- ...aws-entityresolution-matchingworkflow.json | 3 +- .../aws-entityresolution-schemamapping.json | 3 +- .../aws-groundstation-config.json | 8 + ...s-groundstation-dataflowendpointgroup.json | 11 + .../aws-groundstation-missionprofile.json | 8 + .../aws-iot-thingtype.json | 36 +- .../aws-iotsitewise-accesspolicy.json | 6 +- .../aws-iotsitewise-portal.json | 49 +- .../aws-lambda-eventsourcemapping.json | 675 +-- .../aws-m2-deployment.json | 69 + ...s-opensearchserverless-securityconfig.json | 57 +- aws-cloudformation-schema/aws-rbin-rule.json | 13 + .../aws-rds-globalcluster.json | 13 + .../aws-route53recoverycontrol-cluster.json | 4 +- ...s-route53recoverycontrol-controlpanel.json | 4 +- ...aws-route53recoverycontrol-safetyrule.json | 4 +- ...aws-route53resolver-firewallrulegroup.json | 20 +- .../aws-s3express-directorybucket.json | 74 +- .../aws-sagemaker-cluster.json | 433 +- .../aws-sagemaker-domain.json | 2 +- .../aws-sagemaker-modelpackage.json | 5 +- .../aws-sagemaker-modelpackagegroup.json | 8 + .../aws-sagemaker-project.json | 8 + .../aws-sagemaker-userprofile.json | 2 +- .../aws-synthetics-canary.json | 11 +- ...-workspacesweb-dataprotectionsettings.json | 250 + .../aws-workspacesweb-portal.json | 18 +- meta/.botocore.version | 2 +- .../pulumi-gen-aws-native/supported-types.txt | 8 + .../pulumi-resource-aws-native/metadata.json | 1527 +++++- .../pulumi-resource-aws-native/schema.json | 4780 ++++++++++++++++- reports/missedAutonaming.json | 220 +- sdk/dotnet/ApiGateway/BasePathMappingV2.cs | 127 + .../ApiGateway/DomainNameAccessAssociation.cs | 135 + sdk/dotnet/ApiGateway/DomainNameV2.cs | 142 + sdk/dotnet/ApiGateway/Enums.cs | 30 + sdk/dotnet/ApiGateway/GetBasePathMappingV2.cs | 86 + .../GetDomainNameAccessAssociation.cs | 71 + sdk/dotnet/ApiGateway/GetDomainNameV2.cs | 98 + .../DomainNameV2EndpointConfigurationArgs.cs | 28 + .../DomainNameV2EndpointConfiguration.cs | 24 + ...PolicyCustomizedMetricSpecificationArgs.cs | 3 + ...PolicyTargetTrackingMetricDataQueryArgs.cs | 3 + ...alingPolicyTargetTrackingMetricStatArgs.cs | 3 + ...lingPolicyCustomizedMetricSpecification.cs | 4 + ...lingPolicyTargetTrackingMetricDataQuery.cs | 4 + .../ScalingPolicyTargetTrackingMetricStat.cs | 4 + sdk/dotnet/B2bi/Enums.cs | 538 ++ sdk/dotnet/CloudFormation/GetGuardHook.cs | 6 + sdk/dotnet/CloudFormation/GuardHook.cs | 12 + .../Inputs/OptionsPropertiesArgs.cs | 6 + .../Outputs/OptionsProperties.cs | 6 + sdk/dotnet/Connect/EmailAddress.cs | 144 + sdk/dotnet/Connect/Enums.cs | 36 + sdk/dotnet/Connect/GetEmailAddress.cs | 100 + sdk/dotnet/Connect/GetHoursOfOperation.cs | 7 + sdk/dotnet/Connect/HoursOfOperation.cs | 18 + .../Inputs/HoursOfOperationOverrideArgs.cs | 46 + .../HoursOfOperationOverrideConfigArgs.cs | 41 + .../HoursOfOperationOverrideTimeSliceArgs.cs | 35 + .../Outputs/HoursOfOperationOverride.cs | 48 + .../Outputs/HoursOfOperationOverrideConfig.cs | 45 + .../HoursOfOperationOverrideTimeSlice.cs | 38 + sdk/dotnet/CustomerProfiles/Enums.cs | 174 + sdk/dotnet/CustomerProfiles/GetIntegration.cs | 7 + .../CustomerProfiles/GetSegmentDefinition.cs | 105 + .../SegmentDefinitionAddressDimensionArgs.cs | 41 + ...SegmentDefinitionAttributeDimensionArgs.cs | 34 + ...initionCalculatedAttributeDimensionArgs.cs | 37 + ...SegmentDefinitionConditionOverridesArgs.cs | 26 + .../SegmentDefinitionDateDimensionArgs.cs | 34 + ...gmentDefinitionDimension0PropertiesArgs.cs | 26 + ...gmentDefinitionDimension1PropertiesArgs.cs | 31 + ...ionExtraLengthValueProfileDimensionArgs.cs | 34 + .../Inputs/SegmentDefinitionGroupArgs.cs | 45 + .../SegmentDefinitionProfileAttributesArgs.cs | 91 + .../SegmentDefinitionProfileDimensionArgs.cs | 34 + .../SegmentDefinitionRangeOverrideArgs.cs | 41 + .../SegmentDefinitionSegmentGroupArgs.cs | 31 + .../SegmentDefinitionSourceSegmentArgs.cs | 26 + sdk/dotnet/CustomerProfiles/Integration.cs | 18 + .../SegmentDefinitionAddressDimension.cs | 48 + .../SegmentDefinitionAttributeDimension.cs | 32 + ...tDefinitionCalculatedAttributeDimension.cs | 36 + .../SegmentDefinitionConditionOverrides.cs | 27 + .../Outputs/SegmentDefinitionDateDimension.cs | 32 + .../SegmentDefinitionDimension0Properties.cs | 27 + .../SegmentDefinitionDimension1Properties.cs | 27 + ...initionExtraLengthValueProfileDimension.cs | 32 + .../Outputs/SegmentDefinitionGroup.cs | 40 + .../SegmentDefinitionProfileAttributes.cs | 108 + .../SegmentDefinitionProfileDimension.cs | 32 + .../Outputs/SegmentDefinitionRangeOverride.cs | 45 + .../Outputs/SegmentDefinitionSegmentGroup.cs | 29 + .../Outputs/SegmentDefinitionSourceSegment.cs | 27 + .../CustomerProfiles/SegmentDefinition.cs | 165 + .../Inputs/TableGlobalSecondaryIndexArgs.cs | 2 +- .../Inputs/TableWarmThroughputArgs.cs | 3 + .../Outputs/TableGlobalSecondaryIndex.cs | 2 +- .../DynamoDb/Outputs/TableWarmThroughput.cs | 3 + sdk/dotnet/Ec2/Enums.cs | 62 + .../Ec2/GetVpcBlockPublicAccessExclusion.cs | 86 + .../Ec2/GetVpcBlockPublicAccessOptions.cs | 79 + ...hTemplateBaselinePerformanceFactorsArgs.cs | 23 + .../Ec2/Inputs/LaunchTemplateCpuArgs.cs | 28 + .../LaunchTemplateInstanceRequirementsArgs.cs | 3 + .../Ec2/Inputs/LaunchTemplateReferenceArgs.cs | 26 + ...aunchTemplateBaselinePerformanceFactors.cs | 24 + sdk/dotnet/Ec2/Outputs/LaunchTemplateCpu.cs | 24 + .../LaunchTemplateInstanceRequirements.cs | 4 + .../Ec2/Outputs/LaunchTemplateReference.cs | 27 + .../Ec2/VpcBlockPublicAccessExclusion.cs | 133 + sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs | 86 + sdk/dotnet/Ecs/Enums.cs | 3 + .../TaskDefinitionContainerDefinitionArgs.cs | 3 + .../TaskDefinitionContainerDefinition.cs | 3 + .../FileSystemReplicationDestinationArgs.cs | 9 + .../FileSystemReplicationDestination.cs | 14 +- sdk/dotnet/IoT/Enums.cs | 28 + sdk/dotnet/IoT/GetThingType.cs | 9 +- .../ThingTypePropagatingAttributeArgs.cs | 29 + .../ThingTypePropertiesPropertiesArgs.cs | 3 + ...pertiesMqtt5ConfigurationPropertiesArgs.cs | 28 + .../Outputs/ThingTypePropagatingAttribute.cs | 33 + .../Outputs/ThingTypePropertiesProperties.cs | 4 + ...sPropertiesMqtt5ConfigurationProperties.cs | 24 + sdk/dotnet/IoT/ThingType.cs | 1 - sdk/dotnet/IoTSiteWise/Enums.cs | 31 + sdk/dotnet/IoTSiteWise/GetPortal.cs | 4 + .../IoTSiteWise/Inputs/PortalTypeEntryArgs.cs | 31 + .../IoTSiteWise/Outputs/PortalTypeEntry.cs | 27 + sdk/dotnet/IoTSiteWise/Portal.cs | 24 + sdk/dotnet/Lambda/Enums.cs | 27 + sdk/dotnet/Lambda/EventSourceMapping.cs | 12 + sdk/dotnet/Lambda/GetEventSourceMapping.cs | 8 + .../EventSourceMappingMetricsConfigArgs.cs | 32 + ...ourceMappingProvisionedPollerConfigArgs.cs | 32 + .../EventSourceMappingMetricsConfig.cs | 27 + ...entSourceMappingProvisionedPollerConfig.cs | 35 + sdk/dotnet/M2/Deployment.cs | 121 + sdk/dotnet/M2/GetDeployment.cs | 86 + sdk/dotnet/Mwaa/Environment.cs | 8 +- sdk/dotnet/Mwaa/GetEnvironment.cs | 4 +- sdk/dotnet/OpenSearchServerless/Enums.cs | 1 + .../OpenSearchServerless/GetSecurityConfig.cs | 4 + ...onfigIamIdentityCenterConfigOptionsArgs.cs | 47 + ...ityConfigIamIdentityCenterConfigOptions.cs | 54 + .../OpenSearchServerless/SecurityConfig.cs | 7 + sdk/dotnet/Rbin/GetRule.cs | 7 + sdk/dotnet/Rbin/Rule.cs | 18 + sdk/dotnet/Rds/GetGlobalCluster.cs | 4 + sdk/dotnet/Rds/GlobalCluster.cs | 6 + .../Inputs/GlobalClusterGlobalEndpointArgs.cs | 26 + .../Outputs/GlobalClusterGlobalEndpoint.cs | 27 + .../Route53RecoveryControl/GetSafetyRule.cs | 9 +- sdk/dotnet/Route53Resolver/Enums.cs | 63 + .../FirewallRuleGroupFirewallRuleArgs.cs | 22 +- .../Outputs/FirewallRuleGroupFirewallRule.cs | 25 +- sdk/dotnet/S3Express/DirectoryBucket.cs | 12 + sdk/dotnet/S3Express/Enums.cs | 28 + sdk/dotnet/S3Express/GetDirectoryBucket.cs | 9 +- ...ucketAbortIncompleteMultipartUploadArgs.cs | 29 + ...rectoryBucketLifecycleConfigurationArgs.cs | 32 + .../Inputs/DirectoryBucketRuleArgs.cs | 44 + ...oryBucketAbortIncompleteMultipartUpload.cs | 30 + .../DirectoryBucketLifecycleConfiguration.cs | 27 + .../S3Express/Outputs/DirectoryBucketRule.cs | 52 + sdk/dotnet/SageMaker/Enums.cs | 10 + .../Inputs/ClusterInstanceGroupArgs.cs | 3 + .../SageMaker/Outputs/ClusterInstanceGroup.cs | 4 + sdk/dotnet/Synthetics/Canary.cs | 12 + sdk/dotnet/Synthetics/Enums.cs | 31 + sdk/dotnet/Synthetics/GetCanary.cs | 7 + .../WorkSpacesWeb/DataProtectionSettings.cs | 128 + sdk/dotnet/WorkSpacesWeb/Enums.cs | 27 + .../GetDataProtectionSettings.cs | 87 + sdk/dotnet/WorkSpacesWeb/GetPortal.cs | 4 + ...DataProtectionSettingsCustomPatternArgs.cs | 32 + ...ettingsInlineRedactionConfigurationArgs.cs | 47 + ...ctionSettingsInlineRedactionPatternArgs.cs | 48 + ...tectionSettingsRedactionPlaceHolderArgs.cs | 26 + .../DataProtectionSettingsCustomPattern.cs | 37 + ...ionSettingsInlineRedactionConfiguration.cs | 37 + ...rotectionSettingsInlineRedactionPattern.cs | 45 + ...aProtectionSettingsRedactionPlaceHolder.cs | 29 + sdk/dotnet/WorkSpacesWeb/Portal.cs | 6 + sdk/go/aws/apigateway/basePathMappingV2.go | 169 + .../apigateway/domainNameAccessAssociation.go | 177 + sdk/go/aws/apigateway/domainNameV2.go | 182 + sdk/go/aws/apigateway/getBasePathMappingV2.go | 98 + .../getDomainNameAccessAssociation.go | 84 + sdk/go/aws/apigateway/getDomainNameV2.go | 114 + sdk/go/aws/apigateway/init.go | 6 + sdk/go/aws/apigateway/pulumiEnums.go | 168 + sdk/go/aws/apigateway/pulumiTypes.go | 147 + sdk/go/aws/autoscaling/pulumiTypes.go | 36 + sdk/go/aws/b2bi/pulumiEnums.go | 1084 +++- sdk/go/aws/cloudformation/getGuardHook.go | 8 +- sdk/go/aws/cloudformation/guardHook.go | 22 +- sdk/go/aws/cloudformation/pulumiTypes.go | 7 + sdk/go/aws/connect/emailAddress.go | 180 + sdk/go/aws/connect/getEmailAddress.go | 113 + sdk/go/aws/connect/getHoursOfOperation.go | 7 + sdk/go/aws/connect/hoursOfOperation.go | 11 + sdk/go/aws/connect/init.go | 2 + sdk/go/aws/connect/pulumiEnums.go | 180 + sdk/go/aws/connect/pulumiTypes.go | 327 ++ sdk/go/aws/customerprofiles/getIntegration.go | 7 + .../customerprofiles/getSegmentDefinition.go | 110 + sdk/go/aws/customerprofiles/init.go | 2 + sdk/go/aws/customerprofiles/integration.go | 11 + sdk/go/aws/customerprofiles/pulumiEnums.go | 888 +++ sdk/go/aws/customerprofiles/pulumiTypes.go | 1819 +++++++ .../aws/customerprofiles/segmentDefinition.go | 204 + sdk/go/aws/dynamodb/pulumiTypes.go | 9 +- .../ec2/getVpcBlockPublicAccessExclusion.go | 101 + .../aws/ec2/getVpcBlockPublicAccessOptions.go | 93 + sdk/go/aws/ec2/init.go | 4 + sdk/go/aws/ec2/pulumiEnums.go | 340 ++ sdk/go/aws/ec2/pulumiTypes.go | 404 +- .../aws/ec2/vpcBlockPublicAccessExclusion.go | 169 + sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go | 130 + sdk/go/aws/ecs/pulumiEnums.go | 1 + sdk/go/aws/ecs/pulumiTypes.go | 7 +- sdk/go/aws/efs/pulumiTypes.go | 22 +- sdk/go/aws/iot/getThingType.go | 7 + sdk/go/aws/iot/pulumiEnums.go | 169 + sdk/go/aws/iot/pulumiTypes.go | 268 + sdk/go/aws/iot/thingType.go | 1 - sdk/go/aws/iotsitewise/getPortal.go | 7 +- sdk/go/aws/iotsitewise/portal.go | 19 + sdk/go/aws/iotsitewise/pulumiEnums.go | 170 + sdk/go/aws/iotsitewise/pulumiTypes.go | 101 + sdk/go/aws/lambda/eventSourceMapping.go | 26 +- sdk/go/aws/lambda/getEventSourceMapping.go | 16 +- sdk/go/aws/lambda/pulumiEnums.go | 214 + sdk/go/aws/lambda/pulumiTypes.go | 301 ++ sdk/go/aws/m2/deployment.go | 168 + sdk/go/aws/m2/getDeployment.go | 98 + sdk/go/aws/m2/init.go | 2 + sdk/go/aws/mwaa/environment.go | 16 +- sdk/go/aws/mwaa/getEnvironment.go | 8 +- .../opensearchserverless/getSecurityConfig.go | 9 +- .../aws/opensearchserverless/pulumiEnums.go | 4 +- .../aws/opensearchserverless/pulumiTypes.go | 223 + .../opensearchserverless/securityConfig.go | 16 +- sdk/go/aws/rbin/getRule.go | 7 + sdk/go/aws/rbin/rule.go | 11 + sdk/go/aws/rds/getGlobalCluster.go | 7 +- sdk/go/aws/rds/globalCluster.go | 11 +- sdk/go/aws/rds/pulumiTypes.go | 141 + .../route53recoverycontrol/getSafetyRule.go | 8 + sdk/go/aws/route53resolver/pulumiEnums.go | 342 ++ sdk/go/aws/route53resolver/pulumiTypes.go | 39 +- sdk/go/aws/s3express/directoryBucket.go | 13 + sdk/go/aws/s3express/getDirectoryBucket.go | 9 + sdk/go/aws/s3express/pulumiEnums.go | 169 + sdk/go/aws/s3express/pulumiTypes.go | 424 ++ sdk/go/aws/sagemaker/pulumiEnums.go | 76 +- sdk/go/aws/sagemaker/pulumiTypes.go | 14 +- sdk/go/aws/synthetics/canary.go | 11 + sdk/go/aws/synthetics/getCanary.go | 7 + sdk/go/aws/synthetics/pulumiEnums.go | 170 + .../workspacesweb/dataProtectionSettings.go | 171 + .../getDataProtectionSettings.go | 113 + sdk/go/aws/workspacesweb/getPortal.go | 7 +- sdk/go/aws/workspacesweb/init.go | 2 + sdk/go/aws/workspacesweb/portal.go | 13 +- sdk/go/aws/workspacesweb/pulumiEnums.go | 167 + sdk/go/aws/workspacesweb/pulumiTypes.go | 562 ++ sdk/nodejs/apigateway/basePathMappingV2.ts | 114 + .../apigateway/domainNameAccessAssociation.ts | 120 + sdk/nodejs/apigateway/domainNameV2.ts | 114 + sdk/nodejs/apigateway/getBasePathMappingV2.ts | 53 + .../getDomainNameAccessAssociation.ts | 45 + sdk/nodejs/apigateway/getDomainNameV2.ts | 59 + sdk/nodejs/apigateway/index.ts | 36 + sdk/nodejs/cloudformation/getGuardHook.ts | 6 + sdk/nodejs/cloudformation/guardHook.ts | 12 + sdk/nodejs/connect/emailAddress.ts | 127 + sdk/nodejs/connect/getEmailAddress.ts | 64 + sdk/nodejs/connect/getHoursOfOperation.ts | 4 + sdk/nodejs/connect/hoursOfOperation.ts | 10 + sdk/nodejs/connect/index.ts | 12 + sdk/nodejs/customerprofiles/getIntegration.ts | 4 + .../customerprofiles/getSegmentDefinition.ts | 70 + sdk/nodejs/customerprofiles/index.ts | 12 + sdk/nodejs/customerprofiles/integration.ts | 10 + .../customerprofiles/segmentDefinition.ts | 146 + .../ec2/getVpcBlockPublicAccessExclusion.ts | 56 + .../ec2/getVpcBlockPublicAccessOptions.ts | 52 + sdk/nodejs/ec2/index.ts | 24 + .../ec2/vpcBlockPublicAccessExclusion.ts | 114 + sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts | 82 + sdk/nodejs/iot/getThingType.ts | 4 + sdk/nodejs/iot/thingType.ts | 2 +- sdk/nodejs/iotsitewise/getPortal.ts | 1 + sdk/nodejs/iotsitewise/portal.ts | 16 +- sdk/nodejs/lambda/eventSourceMapping.ts | 8 + sdk/nodejs/lambda/getEventSourceMapping.ts | 2 + sdk/nodejs/m2/deployment.ts | 113 + sdk/nodejs/m2/getDeployment.ts | 53 + sdk/nodejs/m2/index.ts | 12 + sdk/nodejs/mwaa/environment.ts | 8 +- sdk/nodejs/mwaa/getEnvironment.ts | 4 +- .../opensearchserverless/getSecurityConfig.ts | 1 + .../opensearchserverless/securityConfig.ts | 6 +- sdk/nodejs/rbin/getRule.ts | 4 + sdk/nodejs/rbin/rule.ts | 10 + sdk/nodejs/rds/getGlobalCluster.ts | 1 + sdk/nodejs/rds/globalCluster.ts | 4 + .../route53recoverycontrol/getSafetyRule.ts | 4 + sdk/nodejs/s3express/directoryBucket.ts | 10 + sdk/nodejs/s3express/getDirectoryBucket.ts | 4 + sdk/nodejs/synthetics/canary.ts | 10 + sdk/nodejs/synthetics/getCanary.ts | 4 + sdk/nodejs/tsconfig.json | 18 + sdk/nodejs/types/enums/apigateway/index.ts | 9 + sdk/nodejs/types/enums/b2bi/index.ts | 538 ++ sdk/nodejs/types/enums/connect/index.ts | 15 + .../types/enums/customerprofiles/index.ts | 69 + sdk/nodejs/types/enums/ec2/index.ts | 20 + sdk/nodejs/types/enums/ecs/index.ts | 3 + sdk/nodejs/types/enums/iot/index.ts | 7 + sdk/nodejs/types/enums/iotsitewise/index.ts | 10 + sdk/nodejs/types/enums/lambda/index.ts | 6 + .../types/enums/opensearchserverless/index.ts | 1 + .../types/enums/route53resolver/index.ts | 21 + sdk/nodejs/types/enums/s3express/index.ts | 7 + sdk/nodejs/types/enums/sagemaker/index.ts | 10 + sdk/nodejs/types/enums/synthetics/index.ts | 10 + sdk/nodejs/types/enums/workspacesweb/index.ts | 6 + sdk/nodejs/types/input.ts | 359 +- sdk/nodejs/types/output.ts | 359 +- .../workspacesweb/dataProtectionSettings.ts | 98 + .../getDataProtectionSettings.ts | 45 + sdk/nodejs/workspacesweb/getPortal.ts | 1 + sdk/nodejs/workspacesweb/index.ts | 12 + sdk/nodejs/workspacesweb/portal.ts | 4 + sdk/python/pulumi_aws_native/__init__.py | 11 +- .../pulumi_aws_native/apigateway/__init__.py | 6 + .../pulumi_aws_native/apigateway/_enums.py | 8 + .../pulumi_aws_native/apigateway/_inputs.py | 25 + .../apigateway/base_path_mapping_v2.py | 225 + .../domain_name_access_association.py | 229 + .../apigateway/domain_name_v2.py | 281 + .../apigateway/get_base_path_mapping_v2.py | 105 + .../get_domain_name_access_association.py | 77 + .../apigateway/get_domain_name_v2.py | 139 + .../pulumi_aws_native/apigateway/outputs.py | 14 + .../pulumi_aws_native/autoscaling/_inputs.py | 39 + .../pulumi_aws_native/autoscaling/outputs.py | 24 + sdk/python/pulumi_aws_native/b2bi/_enums.py | 538 ++ .../cloudformation/_inputs.py | 13 + .../cloudformation/get_guard_hook.py | 6 + .../cloudformation/guard_hook.py | 16 + .../cloudformation/outputs.py | 10 + .../pulumi_aws_native/connect/__init__.py | 2 + .../pulumi_aws_native/connect/_enums.py | 14 + .../pulumi_aws_native/connect/_inputs.py | 223 + .../connect/email_address.py | 256 + .../connect/get_email_address.py | 134 + .../connect/get_hours_of_operation.py | 16 +- .../connect/hours_of_operation.py | 29 + .../pulumi_aws_native/connect/outputs.py | 181 + .../customerprofiles/__init__.py | 2 + .../customerprofiles/_enums.py | 64 + .../customerprofiles/_inputs.py | 917 ++++ .../customerprofiles/get_integration.py | 16 +- .../get_segment_definition.py | 126 + .../customerprofiles/integration.py | 29 + .../customerprofiles/outputs.py | 796 +++ .../customerprofiles/segment_definition.py | 299 ++ .../pulumi_aws_native/dynamodb/_inputs.py | 10 +- .../pulumi_aws_native/dynamodb/outputs.py | 8 +- sdk/python/pulumi_aws_native/ec2/__init__.py | 4 + sdk/python/pulumi_aws_native/ec2/_enums.py | 18 + sdk/python/pulumi_aws_native/ec2/_inputs.py | 97 + .../get_vpc_block_public_access_exclusion.py | 107 + .../get_vpc_block_public_access_options.py | 92 + sdk/python/pulumi_aws_native/ec2/outputs.py | 75 + .../ec2/vpc_block_public_access_exclusion.py | 227 + .../ec2/vpc_block_public_access_options.py | 136 + sdk/python/pulumi_aws_native/ecs/_enums.py | 3 + sdk/python/pulumi_aws_native/ecs/_inputs.py | 7 + sdk/python/pulumi_aws_native/ecs/outputs.py | 4 + sdk/python/pulumi_aws_native/efs/_inputs.py | 41 +- sdk/python/pulumi_aws_native/efs/outputs.py | 30 +- sdk/python/pulumi_aws_native/iot/_enums.py | 6 + sdk/python/pulumi_aws_native/iot/_inputs.py | 88 + .../pulumi_aws_native/iot/get_thing_type.py | 24 +- sdk/python/pulumi_aws_native/iot/outputs.py | 93 +- .../pulumi_aws_native/iot/thing_type.py | 3 +- .../pulumi_aws_native/iotsitewise/_enums.py | 9 + .../pulumi_aws_native/iotsitewise/_inputs.py | 30 + .../iotsitewise/get_portal.py | 13 +- .../pulumi_aws_native/iotsitewise/outputs.py | 36 + .../pulumi_aws_native/iotsitewise/portal.py | 53 +- .../pulumi_aws_native/lambda_/_enums.py | 5 + .../pulumi_aws_native/lambda_/_inputs.py | 88 + .../lambda_/event_source_mapping.py | 42 + .../lambda_/get_event_source_mapping.py | 24 +- .../pulumi_aws_native/lambda_/outputs.py | 71 + sdk/python/pulumi_aws_native/m2/__init__.py | 2 + sdk/python/pulumi_aws_native/m2/deployment.py | 207 + .../pulumi_aws_native/m2/get_deployment.py | 105 + .../pulumi_aws_native/mwaa/environment.py | 16 +- .../pulumi_aws_native/mwaa/get_environment.py | 4 +- .../opensearchserverless/_enums.py | 1 + .../opensearchserverless/_inputs.py | 109 + .../get_security_config.py | 13 +- .../opensearchserverless/outputs.py | 94 + .../opensearchserverless/security_config.py | 23 +- sdk/python/pulumi_aws_native/rbin/get_rule.py | 16 +- sdk/python/pulumi_aws_native/rbin/rule.py | 29 + sdk/python/pulumi_aws_native/rds/_inputs.py | 34 + .../rds/get_global_cluster.py | 14 +- .../pulumi_aws_native/rds/global_cluster.py | 23 + sdk/python/pulumi_aws_native/rds/outputs.py | 20 + .../route53recoverycontrol/get_safety_rule.py | 23 +- .../route53resolver/_enums.py | 19 + .../route53resolver/_inputs.py | 99 +- .../route53resolver/outputs.py | 71 +- .../pulumi_aws_native/s3express/_enums.py | 6 + .../pulumi_aws_native/s3express/_inputs.py | 178 + .../s3express/directory_bucket.py | 31 +- .../s3express/get_directory_bucket.py | 22 +- .../pulumi_aws_native/s3express/outputs.py | 149 + .../pulumi_aws_native/sagemaker/_enums.py | 10 + .../pulumi_aws_native/sagemaker/_inputs.py | 13 + .../pulumi_aws_native/sagemaker/outputs.py | 10 + .../pulumi_aws_native/synthetics/_enums.py | 9 + .../pulumi_aws_native/synthetics/canary.py | 29 + .../synthetics/get_canary.py | 17 +- .../workspacesweb/__init__.py | 2 + .../pulumi_aws_native/workspacesweb/_enums.py | 5 + .../workspacesweb/_inputs.py | 251 + .../workspacesweb/data_protection_settings.py | 249 + .../get_data_protection_settings.py | 137 + .../workspacesweb/get_portal.py | 13 +- .../workspacesweb/outputs.py | 239 + .../pulumi_aws_native/workspacesweb/portal.py | 21 + 464 files changed, 38311 insertions(+), 1230 deletions(-) create mode 100644 aws-cloudformation-schema/aws-apigateway-basepathmappingv2.json create mode 100644 aws-cloudformation-schema/aws-apigateway-domainnameaccessassociation.json create mode 100644 aws-cloudformation-schema/aws-apigateway-domainnamev2.json create mode 100644 aws-cloudformation-schema/aws-connect-emailaddress.json create mode 100644 aws-cloudformation-schema/aws-customerprofiles-segmentdefinition.json create mode 100644 aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessexclusion.json create mode 100644 aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessoptions.json create mode 100644 aws-cloudformation-schema/aws-m2-deployment.json create mode 100644 aws-cloudformation-schema/aws-workspacesweb-dataprotectionsettings.json create mode 100644 sdk/dotnet/ApiGateway/BasePathMappingV2.cs create mode 100644 sdk/dotnet/ApiGateway/DomainNameAccessAssociation.cs create mode 100644 sdk/dotnet/ApiGateway/DomainNameV2.cs create mode 100644 sdk/dotnet/ApiGateway/GetBasePathMappingV2.cs create mode 100644 sdk/dotnet/ApiGateway/GetDomainNameAccessAssociation.cs create mode 100644 sdk/dotnet/ApiGateway/GetDomainNameV2.cs create mode 100644 sdk/dotnet/ApiGateway/Inputs/DomainNameV2EndpointConfigurationArgs.cs create mode 100644 sdk/dotnet/ApiGateway/Outputs/DomainNameV2EndpointConfiguration.cs create mode 100644 sdk/dotnet/Connect/EmailAddress.cs create mode 100644 sdk/dotnet/Connect/GetEmailAddress.cs create mode 100644 sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideArgs.cs create mode 100644 sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideConfigArgs.cs create mode 100644 sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideTimeSliceArgs.cs create mode 100644 sdk/dotnet/Connect/Outputs/HoursOfOperationOverride.cs create mode 100644 sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideConfig.cs create mode 100644 sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideTimeSlice.cs create mode 100644 sdk/dotnet/CustomerProfiles/GetSegmentDefinition.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAddressDimensionArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAttributeDimensionArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionCalculatedAttributeDimensionArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionConditionOverridesArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDateDimensionArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension0PropertiesArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension1PropertiesArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionExtraLengthValueProfileDimensionArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionGroupArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileAttributesArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileDimensionArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionRangeOverrideArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSegmentGroupArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSourceSegmentArgs.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAddressDimension.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAttributeDimension.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionCalculatedAttributeDimension.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionConditionOverrides.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDateDimension.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension0Properties.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension1Properties.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionExtraLengthValueProfileDimension.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionGroup.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileAttributes.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileDimension.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionRangeOverride.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSegmentGroup.cs create mode 100644 sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSourceSegment.cs create mode 100644 sdk/dotnet/CustomerProfiles/SegmentDefinition.cs create mode 100644 sdk/dotnet/Ec2/GetVpcBlockPublicAccessExclusion.cs create mode 100644 sdk/dotnet/Ec2/GetVpcBlockPublicAccessOptions.cs create mode 100644 sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs create mode 100644 sdk/dotnet/Ec2/Inputs/LaunchTemplateCpuArgs.cs create mode 100644 sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs create mode 100644 sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs create mode 100644 sdk/dotnet/Ec2/Outputs/LaunchTemplateCpu.cs create mode 100644 sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs create mode 100644 sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs create mode 100644 sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs create mode 100644 sdk/dotnet/IoT/Inputs/ThingTypePropagatingAttributeArgs.cs create mode 100644 sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs.cs create mode 100644 sdk/dotnet/IoT/Outputs/ThingTypePropagatingAttribute.cs create mode 100644 sdk/dotnet/IoT/Outputs/ThingTypePropertiesPropertiesMqtt5ConfigurationProperties.cs create mode 100644 sdk/dotnet/IoTSiteWise/Inputs/PortalTypeEntryArgs.cs create mode 100644 sdk/dotnet/IoTSiteWise/Outputs/PortalTypeEntry.cs create mode 100644 sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs create mode 100644 sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs create mode 100644 sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs create mode 100644 sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs create mode 100644 sdk/dotnet/M2/Deployment.cs create mode 100644 sdk/dotnet/M2/GetDeployment.cs create mode 100644 sdk/dotnet/OpenSearchServerless/Inputs/SecurityConfigIamIdentityCenterConfigOptionsArgs.cs create mode 100644 sdk/dotnet/OpenSearchServerless/Outputs/SecurityConfigIamIdentityCenterConfigOptions.cs create mode 100644 sdk/dotnet/Rds/Inputs/GlobalClusterGlobalEndpointArgs.cs create mode 100644 sdk/dotnet/Rds/Outputs/GlobalClusterGlobalEndpoint.cs create mode 100644 sdk/dotnet/S3Express/Inputs/DirectoryBucketAbortIncompleteMultipartUploadArgs.cs create mode 100644 sdk/dotnet/S3Express/Inputs/DirectoryBucketLifecycleConfigurationArgs.cs create mode 100644 sdk/dotnet/S3Express/Inputs/DirectoryBucketRuleArgs.cs create mode 100644 sdk/dotnet/S3Express/Outputs/DirectoryBucketAbortIncompleteMultipartUpload.cs create mode 100644 sdk/dotnet/S3Express/Outputs/DirectoryBucketLifecycleConfiguration.cs create mode 100644 sdk/dotnet/S3Express/Outputs/DirectoryBucketRule.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/DataProtectionSettings.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/GetDataProtectionSettings.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsCustomPatternArgs.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionConfigurationArgs.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionPatternArgs.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsRedactionPlaceHolderArgs.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsCustomPattern.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionConfiguration.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionPattern.cs create mode 100644 sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsRedactionPlaceHolder.cs create mode 100644 sdk/go/aws/apigateway/basePathMappingV2.go create mode 100644 sdk/go/aws/apigateway/domainNameAccessAssociation.go create mode 100644 sdk/go/aws/apigateway/domainNameV2.go create mode 100644 sdk/go/aws/apigateway/getBasePathMappingV2.go create mode 100644 sdk/go/aws/apigateway/getDomainNameAccessAssociation.go create mode 100644 sdk/go/aws/apigateway/getDomainNameV2.go create mode 100644 sdk/go/aws/connect/emailAddress.go create mode 100644 sdk/go/aws/connect/getEmailAddress.go create mode 100644 sdk/go/aws/customerprofiles/getSegmentDefinition.go create mode 100644 sdk/go/aws/customerprofiles/segmentDefinition.go create mode 100644 sdk/go/aws/ec2/getVpcBlockPublicAccessExclusion.go create mode 100644 sdk/go/aws/ec2/getVpcBlockPublicAccessOptions.go create mode 100644 sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go create mode 100644 sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go create mode 100644 sdk/go/aws/m2/deployment.go create mode 100644 sdk/go/aws/m2/getDeployment.go create mode 100644 sdk/go/aws/workspacesweb/dataProtectionSettings.go create mode 100644 sdk/go/aws/workspacesweb/getDataProtectionSettings.go create mode 100644 sdk/nodejs/apigateway/basePathMappingV2.ts create mode 100644 sdk/nodejs/apigateway/domainNameAccessAssociation.ts create mode 100644 sdk/nodejs/apigateway/domainNameV2.ts create mode 100644 sdk/nodejs/apigateway/getBasePathMappingV2.ts create mode 100644 sdk/nodejs/apigateway/getDomainNameAccessAssociation.ts create mode 100644 sdk/nodejs/apigateway/getDomainNameV2.ts create mode 100644 sdk/nodejs/connect/emailAddress.ts create mode 100644 sdk/nodejs/connect/getEmailAddress.ts create mode 100644 sdk/nodejs/customerprofiles/getSegmentDefinition.ts create mode 100644 sdk/nodejs/customerprofiles/segmentDefinition.ts create mode 100644 sdk/nodejs/ec2/getVpcBlockPublicAccessExclusion.ts create mode 100644 sdk/nodejs/ec2/getVpcBlockPublicAccessOptions.ts create mode 100644 sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts create mode 100644 sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts create mode 100644 sdk/nodejs/m2/deployment.ts create mode 100644 sdk/nodejs/m2/getDeployment.ts create mode 100644 sdk/nodejs/workspacesweb/dataProtectionSettings.ts create mode 100644 sdk/nodejs/workspacesweb/getDataProtectionSettings.ts create mode 100644 sdk/python/pulumi_aws_native/apigateway/base_path_mapping_v2.py create mode 100644 sdk/python/pulumi_aws_native/apigateway/domain_name_access_association.py create mode 100644 sdk/python/pulumi_aws_native/apigateway/domain_name_v2.py create mode 100644 sdk/python/pulumi_aws_native/apigateway/get_base_path_mapping_v2.py create mode 100644 sdk/python/pulumi_aws_native/apigateway/get_domain_name_access_association.py create mode 100644 sdk/python/pulumi_aws_native/apigateway/get_domain_name_v2.py create mode 100644 sdk/python/pulumi_aws_native/connect/email_address.py create mode 100644 sdk/python/pulumi_aws_native/connect/get_email_address.py create mode 100644 sdk/python/pulumi_aws_native/customerprofiles/get_segment_definition.py create mode 100644 sdk/python/pulumi_aws_native/customerprofiles/segment_definition.py create mode 100644 sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_exclusion.py create mode 100644 sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_options.py create mode 100644 sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_exclusion.py create mode 100644 sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_options.py create mode 100644 sdk/python/pulumi_aws_native/m2/deployment.py create mode 100644 sdk/python/pulumi_aws_native/m2/get_deployment.py create mode 100644 sdk/python/pulumi_aws_native/workspacesweb/data_protection_settings.py create mode 100644 sdk/python/pulumi_aws_native/workspacesweb/get_data_protection_settings.py diff --git a/.docs.version b/.docs.version index 703b251ac9..a0e287aeaf 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -cb94316f94576e3ce5c9b6f2912af63b46f9357e +29eaaa79dfb7b0afd2f6a548371b1182aafe20c1 diff --git a/aws-cloudformation-schema/aws-apigateway-basepathmappingv2.json b/aws-cloudformation-schema/aws-apigateway-basepathmappingv2.json new file mode 100644 index 0000000000..19fc2bb2b6 --- /dev/null +++ b/aws-cloudformation-schema/aws-apigateway-basepathmappingv2.json @@ -0,0 +1,63 @@ +{ + "typeName" : "AWS::ApiGateway::BasePathMappingV2", + "description" : "Resource Type definition for AWS::ApiGateway::BasePathMappingV2", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", + "additionalProperties" : false, + "properties" : { + "BasePath" : { + "type" : "string", + "description" : "The base path name that callers of the API must provide in the URL after the domain name." + }, + "DomainNameArn" : { + "type" : "string", + "description" : "The Arn of an AWS::ApiGateway::DomainNameV2 resource." + }, + "RestApiId" : { + "type" : "string", + "description" : "The ID of the API." + }, + "Stage" : { + "type" : "string", + "description" : "The name of the API's stage." + }, + "BasePathMappingArn" : { + "type" : "string", + "description" : "Amazon Resource Name (ARN) of the resource." + } + }, + "required" : [ "DomainNameArn", "RestApiId" ], + "createOnlyProperties" : [ "/properties/DomainNameArn", "/properties/BasePath" ], + "readOnlyProperties" : [ "/properties/BasePathMappingArn" ], + "primaryIdentifier" : [ "/properties/BasePathMappingArn" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "handlers" : { + "create" : { + "permissions" : [ "apigateway:POST", "apigateway:GET" ] + }, + "read" : { + "permissions" : [ "apigateway:GET" ] + }, + "update" : { + "permissions" : [ "apigateway:GET", "apigateway:DELETE", "apigateway:PATCH" ] + }, + "delete" : { + "permissions" : [ "apigateway:DELETE" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "DomainNameArn" : { + "$ref" : "resource-schema.json#/properties/DomainNameArn" + } + }, + "required" : [ "DomainNameArn" ] + }, + "permissions" : [ "apigateway:GET" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-apigateway-domainnameaccessassociation.json b/aws-cloudformation-schema/aws-apigateway-domainnameaccessassociation.json new file mode 100644 index 0000000000..1d0886556a --- /dev/null +++ b/aws-cloudformation-schema/aws-apigateway-domainnameaccessassociation.json @@ -0,0 +1,74 @@ +{ + "typeName" : "AWS::ApiGateway::DomainNameAccessAssociation", + "description" : "Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-apigateway", + "additionalProperties" : false, + "properties" : { + "DomainNameAccessAssociationArn" : { + "type" : "string", + "description" : "The amazon resource name (ARN) of the domain name access association resource." + }, + "DomainNameArn" : { + "type" : "string", + "description" : "The amazon resource name (ARN) of the domain name resource." + }, + "AccessAssociationSource" : { + "type" : "string", + "description" : "The source of the domain name access association resource." + }, + "AccessAssociationSourceType" : { + "type" : "string", + "description" : "The source type of the domain name access association resource.", + "enum" : [ "VPCE" ] + }, + "Tags" : { + "description" : "An array of arbitrary tags (key-value pairs) to associate with the domainname access association.", + "uniqueItems" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "definitions" : { + "Tag" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Value" : { + "type" : "string" + }, + "Key" : { + "type" : "string" + } + }, + "required" : [ "Value", "Key" ] + } + }, + "primaryIdentifier" : [ "/properties/DomainNameAccessAssociationArn" ], + "required" : [ "DomainNameArn", "AccessAssociationSource", "AccessAssociationSourceType" ], + "readOnlyProperties" : [ "/properties/DomainNameAccessAssociationArn" ], + "createOnlyProperties" : [ "/properties/DomainNameArn", "/properties/AccessAssociationSource", "/properties/AccessAssociationSourceType", "/properties/Tags" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : false, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "apigateway:POST", "apigateway:DELETE", "apigateway:GET" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "apigateway:POST", "apigateway:GET" ] + }, + "read" : { + "permissions" : [ "apigateway:GET" ] + }, + "delete" : { + "permissions" : [ "apigateway:DELETE", "apigateway:GET" ] + }, + "list" : { + "permissions" : [ "apigateway:GET" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-apigateway-domainnamev2.json b/aws-cloudformation-schema/aws-apigateway-domainnamev2.json new file mode 100644 index 0000000000..88cf2404bd --- /dev/null +++ b/aws-cloudformation-schema/aws-apigateway-domainnamev2.json @@ -0,0 +1,93 @@ +{ + "typeName" : "AWS::ApiGateway::DomainNameV2", + "description" : "Resource Type definition for AWS::ApiGateway::DomainNameV2.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", + "definitions" : { + "EndpointConfiguration" : { + "type" : "object", + "properties" : { + "Types" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + }, + "additionalProperties" : false + }, + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "CertificateArn" : { + "type" : "string" + }, + "DomainName" : { + "type" : "string" + }, + "EndpointConfiguration" : { + "$ref" : "#/definitions/EndpointConfiguration" + }, + "SecurityPolicy" : { + "type" : "string" + }, + "Policy" : { + "type" : [ "object", "string" ] + }, + "ManagementPolicy" : { + "type" : [ "object", "string" ] + }, + "DomainNameId" : { + "type" : "string" + }, + "DomainNameArn" : { + "type" : "string", + "description" : "The amazon resource name (ARN) of the domain name resource." + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "apigateway:PUT", "apigateway:PATCH", "apigateway:DELETE", "apigateway:GET", "apigateway:POST" ] + }, + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/DomainNameArn" ], + "createOnlyProperties" : [ "/properties/DomainName", "/properties/SecurityPolicy", "/properties/EndpointConfiguration" ], + "readOnlyProperties" : [ "/properties/DomainNameId", "/properties/DomainNameArn" ], + "handlers" : { + "create" : { + "permissions" : [ "apigateway:POST", "apigateway:GET", "apigateway:UpdateDomainNamePolicy", "apigateway:UpdateDomainNameManagementPolicy" ] + }, + "read" : { + "permissions" : [ "apigateway:GET" ] + }, + "update" : { + "permissions" : [ "apigateway:GET", "apigateway:PUT", "apigateway:PATCH", "apigateway:UpdateDomainNamePolicy", "apigateway:UpdateDomainNameManagementPolicy" ] + }, + "delete" : { + "permissions" : [ "apigateway:DELETE", "apigateway:GET", "apigateway:UpdateDomainNamePolicy", "apigateway:UpdateDomainNameManagementPolicy" ] + }, + "list" : { + "permissions" : [ "apigateway:GET" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-autoscaling-scalingpolicy.json b/aws-cloudformation-schema/aws-autoscaling-scalingpolicy.json index ecef098ee5..78845a70d8 100644 --- a/aws-cloudformation-schema/aws-autoscaling-scalingpolicy.json +++ b/aws-cloudformation-schema/aws-autoscaling-scalingpolicy.json @@ -89,6 +89,9 @@ }, "Namespace" : { "type" : "string" + }, + "Period" : { + "type" : "integer" } }, "required" : [ ] @@ -272,6 +275,9 @@ }, "Unit" : { "type" : "string" + }, + "Period" : { + "type" : "integer" } }, "required" : [ "Stat", "Metric" ] @@ -310,6 +316,9 @@ }, "Expression" : { "type" : "string" + }, + "Period" : { + "type" : "integer" } }, "required" : [ "Id" ] diff --git a/aws-cloudformation-schema/aws-b2bi-capability.json b/aws-cloudformation-schema/aws-b2bi-capability.json index 4609865f9f..16346b912f 100644 --- a/aws-cloudformation-schema/aws-b2bi-capability.json +++ b/aws-cloudformation-schema/aws-b2bi-capability.json @@ -108,11 +108,11 @@ }, "X12TransactionSet" : { "type" : "string", - "enum" : [ "X12_110", "X12_180", "X12_204", "X12_210", "X12_211", "X12_214", "X12_215", "X12_259", "X12_260", "X12_266", "X12_269", "X12_270", "X12_271", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", "X12_310", "X12_315", "X12_322", "X12_404", "X12_410", "X12_417", "X12_421", "X12_426", "X12_810", "X12_820", "X12_824", "X12_830", "X12_832", "X12_834", "X12_835", "X12_837", "X12_844", "X12_846", "X12_849", "X12_850", "X12_852", "X12_855", "X12_856", "X12_860", "X12_861", "X12_864", "X12_865", "X12_869", "X12_870", "X12_940", "X12_945", "X12_990", "X12_997", "X12_999", "X12_270_X279", "X12_271_X279", "X12_275_X210", "X12_275_X211", "X12_276_X212", "X12_277_X212", "X12_277_X214", "X12_277_X364", "X12_278_X217", "X12_820_X218", "X12_820_X306", "X12_824_X186", "X12_834_X220", "X12_834_X307", "X12_834_X318", "X12_835_X221", "X12_837_X222", "X12_837_X223", "X12_837_X224", "X12_837_X291", "X12_837_X292", "X12_837_X298", "X12_999_X231" ] + "enum" : [ "X12_100", "X12_101", "X12_102", "X12_103", "X12_104", "X12_105", "X12_106", "X12_107", "X12_108", "X12_109", "X12_110", "X12_111", "X12_112", "X12_113", "X12_120", "X12_121", "X12_124", "X12_125", "X12_126", "X12_127", "X12_128", "X12_129", "X12_130", "X12_131", "X12_132", "X12_133", "X12_135", "X12_138", "X12_139", "X12_140", "X12_141", "X12_142", "X12_143", "X12_144", "X12_146", "X12_147", "X12_148", "X12_149", "X12_150", "X12_151", "X12_152", "X12_153", "X12_154", "X12_155", "X12_157", "X12_158", "X12_159", "X12_160", "X12_161", "X12_163", "X12_170", "X12_175", "X12_176", "X12_179", "X12_180", "X12_185", "X12_186", "X12_187", "X12_188", "X12_189", "X12_190", "X12_191", "X12_194", "X12_195", "X12_196", "X12_197", "X12_198", "X12_199", "X12_200", "X12_201", "X12_202", "X12_203", "X12_204", "X12_205", "X12_206", "X12_210", "X12_211", "X12_212", "X12_213", "X12_214", "X12_215", "X12_216", "X12_217", "X12_218", "X12_219", "X12_220", "X12_222", "X12_223", "X12_224", "X12_225", "X12_227", "X12_228", "X12_240", "X12_242", "X12_244", "X12_245", "X12_248", "X12_249", "X12_250", "X12_251", "X12_252", "X12_255", "X12_256", "X12_259", "X12_260", "X12_261", "X12_262", "X12_263", "X12_264", "X12_265", "X12_266", "X12_267", "X12_268", "X12_269", "X12_270", "X12_271", "X12_272", "X12_273", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", "X12_280", "X12_283", "X12_284", "X12_285", "X12_286", "X12_288", "X12_290", "X12_300", "X12_301", "X12_303", "X12_304", "X12_309", "X12_310", "X12_311", "X12_312", "X12_313", "X12_315", "X12_317", "X12_319", "X12_322", "X12_323", "X12_324", "X12_325", "X12_326", "X12_350", "X12_352", "X12_353", "X12_354", "X12_355", "X12_356", "X12_357", "X12_358", "X12_361", "X12_362", "X12_404", "X12_410", "X12_412", "X12_414", "X12_417", "X12_418", "X12_419", "X12_420", "X12_421", "X12_422", "X12_423", "X12_424", "X12_425", "X12_426", "X12_429", "X12_431", "X12_432", "X12_433", "X12_434", "X12_435", "X12_436", "X12_437", "X12_440", "X12_451", "X12_452", "X12_453", "X12_455", "X12_456", "X12_460", "X12_463", "X12_466", "X12_468", "X12_470", "X12_475", "X12_485", "X12_486", "X12_490", "X12_492", "X12_494", "X12_500", "X12_501", "X12_503", "X12_504", "X12_511", "X12_517", "X12_521", "X12_527", "X12_536", "X12_540", "X12_561", "X12_567", "X12_568", "X12_601", "X12_602", "X12_620", "X12_625", "X12_650", "X12_715", "X12_753", "X12_754", "X12_805", "X12_806", "X12_810", "X12_811", "X12_812", "X12_813", "X12_814", "X12_815", "X12_816", "X12_818", "X12_819", "X12_820", "X12_821", "X12_822", "X12_823", "X12_824", "X12_826", "X12_827", "X12_828", "X12_829", "X12_830", "X12_831", "X12_832", "X12_833", "X12_834", "X12_835", "X12_836", "X12_837", "X12_838", "X12_839", "X12_840", "X12_841", "X12_842", "X12_843", "X12_844", "X12_845", "X12_846", "X12_847", "X12_848", "X12_849", "X12_850", "X12_851", "X12_852", "X12_853", "X12_854", "X12_855", "X12_856", "X12_857", "X12_858", "X12_859", "X12_860", "X12_861", "X12_862", "X12_863", "X12_864", "X12_865", "X12_866", "X12_867", "X12_868", "X12_869", "X12_870", "X12_871", "X12_872", "X12_873", "X12_874", "X12_875", "X12_876", "X12_877", "X12_878", "X12_879", "X12_880", "X12_881", "X12_882", "X12_883", "X12_884", "X12_885", "X12_886", "X12_887", "X12_888", "X12_889", "X12_891", "X12_893", "X12_894", "X12_895", "X12_896", "X12_920", "X12_924", "X12_925", "X12_926", "X12_928", "X12_940", "X12_943", "X12_944", "X12_945", "X12_947", "X12_980", "X12_990", "X12_993", "X12_996", "X12_997", "X12_998", "X12_999", "X12_270_X279", "X12_271_X279", "X12_275_X210", "X12_275_X211", "X12_276_X212", "X12_277_X212", "X12_277_X214", "X12_277_X364", "X12_278_X217", "X12_820_X218", "X12_820_X306", "X12_824_X186", "X12_834_X220", "X12_834_X307", "X12_834_X318", "X12_835_X221", "X12_837_X222", "X12_837_X223", "X12_837_X224", "X12_837_X291", "X12_837_X292", "X12_837_X298", "X12_999_X231" ] }, "X12Version" : { "type" : "string", - "enum" : [ "VERSION_4010", "VERSION_4030", "VERSION_5010", "VERSION_5010_HIPAA" ] + "enum" : [ "VERSION_4010", "VERSION_4030", "VERSION_4050", "VERSION_4060", "VERSION_5010", "VERSION_5010_HIPAA" ] } }, "properties" : { diff --git a/aws-cloudformation-schema/aws-b2bi-transformer.json b/aws-cloudformation-schema/aws-b2bi-transformer.json index df6e3d3195..bce54f02b6 100644 --- a/aws-cloudformation-schema/aws-b2bi-transformer.json +++ b/aws-cloudformation-schema/aws-b2bi-transformer.json @@ -154,11 +154,11 @@ }, "X12TransactionSet" : { "type" : "string", - "enum" : [ "X12_110", "X12_180", "X12_204", "X12_210", "X12_211", "X12_214", "X12_215", "X12_259", "X12_260", "X12_266", "X12_269", "X12_270", "X12_271", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", "X12_310", "X12_315", "X12_322", "X12_404", "X12_410", "X12_417", "X12_421", "X12_426", "X12_810", "X12_820", "X12_824", "X12_830", "X12_832", "X12_834", "X12_835", "X12_837", "X12_844", "X12_846", "X12_849", "X12_850", "X12_852", "X12_855", "X12_856", "X12_860", "X12_861", "X12_864", "X12_865", "X12_869", "X12_870", "X12_940", "X12_945", "X12_990", "X12_997", "X12_999", "X12_270_X279", "X12_271_X279", "X12_275_X210", "X12_275_X211", "X12_276_X212", "X12_277_X212", "X12_277_X214", "X12_277_X364", "X12_278_X217", "X12_820_X218", "X12_820_X306", "X12_824_X186", "X12_834_X220", "X12_834_X307", "X12_834_X318", "X12_835_X221", "X12_837_X222", "X12_837_X223", "X12_837_X224", "X12_837_X291", "X12_837_X292", "X12_837_X298", "X12_999_X231" ] + "enum" : [ "X12_100", "X12_101", "X12_102", "X12_103", "X12_104", "X12_105", "X12_106", "X12_107", "X12_108", "X12_109", "X12_110", "X12_111", "X12_112", "X12_113", "X12_120", "X12_121", "X12_124", "X12_125", "X12_126", "X12_127", "X12_128", "X12_129", "X12_130", "X12_131", "X12_132", "X12_133", "X12_135", "X12_138", "X12_139", "X12_140", "X12_141", "X12_142", "X12_143", "X12_144", "X12_146", "X12_147", "X12_148", "X12_149", "X12_150", "X12_151", "X12_152", "X12_153", "X12_154", "X12_155", "X12_157", "X12_158", "X12_159", "X12_160", "X12_161", "X12_163", "X12_170", "X12_175", "X12_176", "X12_179", "X12_180", "X12_185", "X12_186", "X12_187", "X12_188", "X12_189", "X12_190", "X12_191", "X12_194", "X12_195", "X12_196", "X12_197", "X12_198", "X12_199", "X12_200", "X12_201", "X12_202", "X12_203", "X12_204", "X12_205", "X12_206", "X12_210", "X12_211", "X12_212", "X12_213", "X12_214", "X12_215", "X12_216", "X12_217", "X12_218", "X12_219", "X12_220", "X12_222", "X12_223", "X12_224", "X12_225", "X12_227", "X12_228", "X12_240", "X12_242", "X12_244", "X12_245", "X12_248", "X12_249", "X12_250", "X12_251", "X12_252", "X12_255", "X12_256", "X12_259", "X12_260", "X12_261", "X12_262", "X12_263", "X12_264", "X12_265", "X12_266", "X12_267", "X12_268", "X12_269", "X12_270", "X12_271", "X12_272", "X12_273", "X12_274", "X12_275", "X12_276", "X12_277", "X12_278", "X12_280", "X12_283", "X12_284", "X12_285", "X12_286", "X12_288", "X12_290", "X12_300", "X12_301", "X12_303", "X12_304", "X12_309", "X12_310", "X12_311", "X12_312", "X12_313", "X12_315", "X12_317", "X12_319", "X12_322", "X12_323", "X12_324", "X12_325", "X12_326", "X12_350", "X12_352", "X12_353", "X12_354", "X12_355", "X12_356", "X12_357", "X12_358", "X12_361", "X12_362", "X12_404", "X12_410", "X12_412", "X12_414", "X12_417", "X12_418", "X12_419", "X12_420", "X12_421", "X12_422", "X12_423", "X12_424", "X12_425", "X12_426", "X12_429", "X12_431", "X12_432", "X12_433", "X12_434", "X12_435", "X12_436", "X12_437", "X12_440", "X12_451", "X12_452", "X12_453", "X12_455", "X12_456", "X12_460", "X12_463", "X12_466", "X12_468", "X12_470", "X12_475", "X12_485", "X12_486", "X12_490", "X12_492", "X12_494", "X12_500", "X12_501", "X12_503", "X12_504", "X12_511", "X12_517", "X12_521", "X12_527", "X12_536", "X12_540", "X12_561", "X12_567", "X12_568", "X12_601", "X12_602", "X12_620", "X12_625", "X12_650", "X12_715", "X12_753", "X12_754", "X12_805", "X12_806", "X12_810", "X12_811", "X12_812", "X12_813", "X12_814", "X12_815", "X12_816", "X12_818", "X12_819", "X12_820", "X12_821", "X12_822", "X12_823", "X12_824", "X12_826", "X12_827", "X12_828", "X12_829", "X12_830", "X12_831", "X12_832", "X12_833", "X12_834", "X12_835", "X12_836", "X12_837", "X12_838", "X12_839", "X12_840", "X12_841", "X12_842", "X12_843", "X12_844", "X12_845", "X12_846", "X12_847", "X12_848", "X12_849", "X12_850", "X12_851", "X12_852", "X12_853", "X12_854", "X12_855", "X12_856", "X12_857", "X12_858", "X12_859", "X12_860", "X12_861", "X12_862", "X12_863", "X12_864", "X12_865", "X12_866", "X12_867", "X12_868", "X12_869", "X12_870", "X12_871", "X12_872", "X12_873", "X12_874", "X12_875", "X12_876", "X12_877", "X12_878", "X12_879", "X12_880", "X12_881", "X12_882", "X12_883", "X12_884", "X12_885", "X12_886", "X12_887", "X12_888", "X12_889", "X12_891", "X12_893", "X12_894", "X12_895", "X12_896", "X12_920", "X12_924", "X12_925", "X12_926", "X12_928", "X12_940", "X12_943", "X12_944", "X12_945", "X12_947", "X12_980", "X12_990", "X12_993", "X12_996", "X12_997", "X12_998", "X12_999", "X12_270_X279", "X12_271_X279", "X12_275_X210", "X12_275_X211", "X12_276_X212", "X12_277_X212", "X12_277_X214", "X12_277_X364", "X12_278_X217", "X12_820_X218", "X12_820_X306", "X12_824_X186", "X12_834_X220", "X12_834_X307", "X12_834_X318", "X12_835_X221", "X12_837_X222", "X12_837_X223", "X12_837_X224", "X12_837_X291", "X12_837_X292", "X12_837_X298", "X12_999_X231" ] }, "X12Version" : { "type" : "string", - "enum" : [ "VERSION_4010", "VERSION_4030", "VERSION_5010", "VERSION_5010_HIPAA" ] + "enum" : [ "VERSION_4010", "VERSION_4030", "VERSION_4050", "VERSION_4060", "VERSION_5010", "VERSION_5010_HIPAA" ] } }, "properties" : { diff --git a/aws-cloudformation-schema/aws-connect-emailaddress.json b/aws-cloudformation-schema/aws-connect-emailaddress.json new file mode 100644 index 0000000000..d119de8ac8 --- /dev/null +++ b/aws-cloudformation-schema/aws-connect-emailaddress.json @@ -0,0 +1,109 @@ +{ + "typeName" : "AWS::Connect::EmailAddress", + "description" : "Resource Type definition for AWS::Connect::EmailAddress", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", + "definitions" : { + "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 + }, + "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 -.", + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "InstanceArn" : { + "description" : "The identifier of the Amazon Connect instance.", + "type" : "string", + "pattern" : "^arn:(aws|aws-us-gov):connect:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{1,20}:instance/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$", + "minLength" : 1, + "maxLength" : 250 + }, + "EmailAddressArn" : { + "description" : "The identifier of the email address.", + "type" : "string", + "pattern" : "^arn:(aws|aws-us-gov):connect:[a-z]{2}-[a-z]+-[0-9]{1}:[0-9]{1,20}:instance/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/email-address/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "Description" : { + "description" : "A description for the email address.", + "type" : "string", + "pattern" : "(^[\\S].*[\\S]$)|(^[\\S]$)", + "minLength" : 1, + "maxLength" : 250 + }, + "EmailAddress" : { + "description" : "Email address to be created for this instance", + "type" : "string", + "pattern" : "([^\\s@]+@[^\\s@]+\\.[^\\s@]+)", + "minLength" : 1, + "maxLength" : 255 + }, + "DisplayName" : { + "description" : "The display name for the email address.", + "type" : "string", + "pattern" : "(^[\\S].*[\\S]$)|(^[\\S]$)", + "minLength" : 0, + "maxLength" : 256 + }, + "Tags" : { + "type" : "array", + "maxItems" : 50, + "uniqueItems" : true, + "insertionOrder" : false, + "description" : "One or more tags.", + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "connect:TagResource", "connect:UntagResource" ] + }, + "additionalProperties" : false, + "required" : [ "InstanceArn", "EmailAddress" ], + "readOnlyProperties" : [ "/properties/EmailAddressArn" ], + "createOnlyProperties" : [ "/properties/EmailAddress" ], + "primaryIdentifier" : [ "/properties/EmailAddressArn" ], + "handlers" : { + "create" : { + "permissions" : [ "connect:CreateEmailAddress", "connect:TagResource", "connect:ListIntegrationAssociations", "ses:GetEmailIdentity", "ses:DescribeReceiptRule", "ses:UpdateReceiptRule", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "connect:DescribeEmailAddress" ] + }, + "update" : { + "permissions" : [ "connect:UpdateEmailAddressMetadata", "connect:TagResource", "connect:UntagResource" ] + }, + "delete" : { + "permissions" : [ "connect:DeleteEmailAddress", "connect:UntagResource", "iam:PassRole", "ses:DescribeReceiptRule", "ses:UpdateReceiptRule" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "InstanceArn" : { + "$ref" : "resource-schema.json#/properties/InstanceArn" + } + }, + "required" : [ "InstanceArn" ] + }, + "permissions" : [ "connect:DescribeEmailAddress", "connect:SearchEmailAddresses" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-connect-hoursofoperation.json b/aws-cloudformation-schema/aws-connect-hoursofoperation.json index 61a1f29868..e04ace0c48 100644 --- a/aws-cloudformation-schema/aws-connect-hoursofoperation.json +++ b/aws-cloudformation-schema/aws-connect-hoursofoperation.json @@ -1,153 +1,266 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", - "tagging" : { - "permissions" : [ "connect:TagResource", "connect:UntagResource" ], - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true - }, - "handlers" : { - "read" : { - "permissions" : [ "connect:DescribeHoursOfOperation", "connect:ListHoursOfOperationOverrides" ] - }, - "create" : { - "permissions" : [ "connect:CreateHoursOfOperation", "connect:TagResource", "connect:CreateHoursOfOperationOverride" ] - }, - "update" : { - "permissions" : [ "connect:UpdateHoursOfOperation", "connect:CreateHoursOfOperationOverride", "connect:UpdateHoursOfOperationOverride", "connect:DeleteHoursOfOperationOverride", "connect:ListHoursOfOperationOverrides", "connect:TagResource", "connect:UntagResource" ] - }, - "list" : { - "permissions" : [ "connect:ListHoursOfOperations" ], - "handlerSchema" : { - "properties" : { - "InstanceArn" : { - "$ref" : "resource-schema.json#/properties/InstanceArn" - } - }, - "required" : [ "InstanceArn" ] - } - }, - "delete" : { - "permissions" : [ "connect:DeleteHoursOfOperation", "connect:UntagResource" ] - } - }, "typeName" : "AWS::Connect::HoursOfOperation", - "readOnlyProperties" : [ "/properties/HoursOfOperationArn" ], "description" : "Resource Type definition for AWS::Connect::HoursOfOperation", - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/HoursOfOperationArn" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-connect", "definitions" : { "HoursOfOperationTimeSlice" : { "description" : "The start time or end time for an hours of operation.", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Hours" : { - "description" : "The hours.", - "maximum" : 23, "type" : "integer", - "minimum" : 0 + "description" : "The hours.", + "minimum" : 0, + "maximum" : 23 }, "Minutes" : { - "description" : "The minutes.", - "maximum" : 59, "type" : "integer", - "minimum" : 0 + "description" : "The minutes.", + "minimum" : 0, + "maximum" : 59 } }, "required" : [ "Hours", "Minutes" ] }, "HoursOfOperationConfig" : { "description" : "Contains information about the hours of operation.", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "EndTime" : { - "description" : "The end time that your contact center closes.", - "$ref" : "#/definitions/HoursOfOperationTimeSlice" + "Day" : { + "type" : "string", + "description" : "The day that the hours of operation applies to.", + "enum" : [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ] }, "StartTime" : { "description" : "The start time that your contact center opens.", "$ref" : "#/definitions/HoursOfOperationTimeSlice" }, - "Day" : { - "description" : "The day that the hours of operation applies to.", - "type" : "string", - "enum" : [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ] + "EndTime" : { + "description" : "The end time that your contact center closes.", + "$ref" : "#/definitions/HoursOfOperationTimeSlice" } }, "required" : [ "Day", "StartTime", "EndTime" ] }, "Tag" : { "description" : "A key-value pair to associate with a resource.", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "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" : "^(?!aws:)[a-zA-Z+-=._:/]+$" + }, "Value" : { - "description" : "The value for the tag. You can specify a value that is maximum of 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", + "description" : "The value for the tag. You can specify a value that is maximum of 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 -. ", "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ] + }, + "OverrideTimeSlice" : { + "description" : "The start time or end time for an an hours of operation override.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Hours" : { + "type" : "integer", + "description" : "The hours.", + "minimum" : 0, + "maximum" : 23 }, - "Key" : { - "minLength" : 1, - "pattern" : "^(?!aws:)[a-zA-Z+-=._:/]+$", - "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 -. ", + "Minutes" : { + "type" : "integer", + "description" : "The minutes.", + "minimum" : 0, + "maximum" : 59 + } + }, + "required" : [ "Hours", "Minutes" ] + }, + "HoursOfOperationOverrideConfig" : { + "description" : "Contains information about the hours of operation override.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Day" : { "type" : "string", - "maxLength" : 128 + "description" : "The day that the hours of operation override applies to.", + "enum" : [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ] + }, + "StartTime" : { + "description" : "The new start time that your contact center opens for the overriden days.", + "$ref" : "#/definitions/OverrideTimeSlice" + }, + "EndTime" : { + "description" : "The new end time that your contact center closes for the overriden days.", + "$ref" : "#/definitions/OverrideTimeSlice" } }, - "required" : [ "Key", "Value" ] + "required" : [ "Day", "StartTime", "EndTime" ] + }, + "HoursOfOperationOverride" : { + "description" : "Overrides attached to the hours of operation.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "OverrideName" : { + "$ref" : "#/definitions/OverrideName" + }, + "OverrideDescription" : { + "$ref" : "#/definitions/OverrideDescription" + }, + "EffectiveFrom" : { + "$ref" : "#/definitions/EffectiveFrom" + }, + "EffectiveTill" : { + "$ref" : "#/definitions/EffectiveTill" + }, + "OverrideConfig" : { + "$ref" : "#/definitions/OverrideConfig" + }, + "HoursOfOperationOverrideId" : { + "$ref" : "#/definitions/HoursOfOperationOverrideId" + } + }, + "required" : [ "OverrideName", "EffectiveFrom", "EffectiveTill", "OverrideConfig" ] + }, + "OverrideName" : { + "description" : "The name of the hours of operation override.", + "type" : "string", + "minLength" : 1, + "maxLength" : 127 + }, + "OverrideDescription" : { + "description" : "The description of the hours of operation override.", + "type" : "string", + "minLength" : 1, + "maxLength" : 250 + }, + "EffectiveFrom" : { + "description" : "The date from which the hours of operation override would be effective.", + "type" : "string", + "pattern" : "^\\d{4}-\\d{2}-\\d{2}$" + }, + "EffectiveTill" : { + "description" : "The date till which the hours of operation override would be effective.", + "type" : "string", + "pattern" : "^\\d{4}-\\d{2}-\\d{2}$" + }, + "OverrideConfig" : { + "description" : "Configuration information for the hours of operation override: day, start time, and end time.", + "type" : "array", + "maxItems" : 100, + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/HoursOfOperationOverrideConfig" + } + }, + "HoursOfOperationOverrideId" : { + "description" : "The Resource Identifier for the hours of operation override.", + "type" : "string", + "pattern" : "^[-a-zA-Z0-9]*$" } }, - "required" : [ "InstanceArn", "Name", "TimeZone", "Config" ], "properties" : { - "TimeZone" : { - "description" : "The time zone of the hours of operation.", - "type" : "string" + "InstanceArn" : { + "description" : "The identifier of the Amazon Connect instance.", + "type" : "string", + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$" }, - "HoursOfOperationArn" : { - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$", - "description" : "The Amazon Resource Name (ARN) for the hours of operation.", - "type" : "string" + "Name" : { + "description" : "The name of the hours of operation.", + "type" : "string", + "minLength" : 1, + "maxLength" : 127 }, "Description" : { - "minLength" : 1, "description" : "The description of the hours of operation.", "type" : "string", + "minLength" : 1, "maxLength" : 250 }, + "TimeZone" : { + "description" : "The time zone of the hours of operation.", + "type" : "string" + }, "Config" : { + "description" : "Configuration information for the hours of operation: day, start time, and end time.", + "type" : "array", "maxItems" : 100, "uniqueItems" : true, - "description" : "Configuration information for the hours of operation: day, start time, and end time.", "insertionOrder" : false, - "type" : "array", "items" : { "$ref" : "#/definitions/HoursOfOperationConfig" } }, - "InstanceArn" : { - "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*$", - "description" : "The identifier of the Amazon Connect instance.", - "type" : "string" + "HoursOfOperationArn" : { + "description" : "The Amazon Resource Name (ARN) for the hours of operation.", + "type" : "string", + "pattern" : "^arn:aws[-a-z0-9]*:connect:[-a-z0-9]*:[0-9]{12}:instance/[-a-zA-Z0-9]*/operating-hours/[-a-zA-Z0-9]*$" }, "Tags" : { + "description" : "One or more tags.", + "type" : "array", "maxItems" : 50, "uniqueItems" : true, - "description" : "One or more tags.", "insertionOrder" : false, - "type" : "array", "items" : { "$ref" : "#/definitions/Tag" } }, - "Name" : { - "minLength" : 1, - "description" : "The name of the hours of operation.", - "type" : "string", - "maxLength" : 127 + "HoursOfOperationOverrides" : { + "description" : "One or more hours of operation overrides assigned to an hour of operation.", + "type" : "array", + "maxItems" : 50, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/HoursOfOperationOverride" + } + } + }, + "required" : [ "InstanceArn", "Name", "TimeZone", "Config" ], + "handlers" : { + "create" : { + "permissions" : [ "connect:CreateHoursOfOperation", "connect:TagResource", "connect:CreateHoursOfOperationOverride" ] + }, + "read" : { + "permissions" : [ "connect:DescribeHoursOfOperation", "connect:ListHoursOfOperationOverrides" ] + }, + "delete" : { + "permissions" : [ "connect:DeleteHoursOfOperation", "connect:UntagResource" ] + }, + "update" : { + "permissions" : [ "connect:UpdateHoursOfOperation", "connect:CreateHoursOfOperationOverride", "connect:UpdateHoursOfOperationOverride", "connect:DeleteHoursOfOperationOverride", "connect:ListHoursOfOperationOverrides", "connect:TagResource", "connect:UntagResource" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "InstanceArn" : { + "$ref" : "resource-schema.json#/properties/InstanceArn" + } + }, + "required" : [ "InstanceArn" ] + }, + "permissions" : [ "connect:ListHoursOfOperations" ] } + }, + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/HoursOfOperationArn" ], + "readOnlyProperties" : [ "/properties/HoursOfOperationArn" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "connect:TagResource", "connect:UntagResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-customerprofiles-integration.json b/aws-cloudformation-schema/aws-customerprofiles-integration.json index f39d01e245..72ab34c9f5 100644 --- a/aws-cloudformation-schema/aws-customerprofiles-integration.json +++ b/aws-cloudformation-schema/aws-customerprofiles-integration.json @@ -415,6 +415,19 @@ "items" : { "$ref" : "#/definitions/ObjectTypeMapping" } + }, + "EventTriggerNames" : { + "description" : "A list of unique names for active event triggers associated with the integration.", + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^[a-zA-Z0-9_-]+$", + "minLength" : 1, + "maxLength" : 64 + }, + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 1 } }, "required" : [ "DomainName" ], diff --git a/aws-cloudformation-schema/aws-customerprofiles-segmentdefinition.json b/aws-cloudformation-schema/aws-customerprofiles-segmentdefinition.json new file mode 100644 index 0000000000..d72f2e65a1 --- /dev/null +++ b/aws-cloudformation-schema/aws-customerprofiles-segmentdefinition.json @@ -0,0 +1,477 @@ +{ + "typeName" : "AWS::CustomerProfiles::SegmentDefinition", + "description" : "A segment definition resource of Amazon Connect Customer Profiles", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-customer-profiles", + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "pattern" : "^(?!aws:)[a-zA-Z+-=._:/]+$", + "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, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "ConditionOverrides" : { + "description" : "Overrides the condition block within the original calculated attribute definition.", + "type" : "object", + "properties" : { + "Range" : { + "$ref" : "#/definitions/RangeOverride" + } + }, + "additionalProperties" : false + }, + "RangeOverride" : { + "description" : "Defines the range to be applied to the calculated attribute definition.", + "type" : "object", + "properties" : { + "Start" : { + "description" : "The starting point for this overridden range.", + "type" : "integer", + "minimum" : 1, + "maximum" : 366 + }, + "End" : { + "description" : "The ending point for this overridden range.", + "type" : "integer", + "minimum" : 0, + "maximum" : 366 + }, + "Unit" : { + "description" : "The unit to be applied to the range.", + "type" : "string", + "enum" : [ "DAYS" ] + } + }, + "required" : [ "Start", "Unit" ], + "additionalProperties" : false + }, + "AddressDimension" : { + "description" : "The address based criteria for the segment.", + "type" : "object", + "properties" : { + "City" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "Country" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "County" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "PostalCode" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "Province" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "State" : { + "$ref" : "#/definitions/ProfileDimension" + } + }, + "additionalProperties" : false + }, + "AttributeDimension" : { + "description" : "Specifies attribute based criteria for a segment.", + "type" : "object", + "properties" : { + "DimensionType" : { + "$ref" : "#/definitions/AttributeDimensionType" + }, + "Values" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 50 + } + }, + "required" : [ "DimensionType", "Values" ], + "additionalProperties" : false + }, + "AttributeDimensionType" : { + "description" : "The type of segment dimension to use.", + "type" : "string", + "enum" : [ "INCLUSIVE", "EXCLUSIVE", "CONTAINS", "BEGINS_WITH", "ENDS_WITH", "BEFORE", "AFTER", "BETWEEN", "NOT_BETWEEN", "ON", "GREATER_THAN", "LESS_THAN", "GREATER_THAN_OR_EQUAL", "LESS_THAN_OR_EQUAL", "EQUAL" ] + }, + "CalculatedAttributeDimension" : { + "description" : "Specifies calculated attribute based criteria for a segment.", + "type" : "object", + "properties" : { + "DimensionType" : { + "$ref" : "#/definitions/AttributeDimensionType" + }, + "Values" : { + "type" : "array", + "items" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 50 + }, + "ConditionOverrides" : { + "$ref" : "#/definitions/ConditionOverrides" + } + }, + "required" : [ "DimensionType", "Values" ], + "additionalProperties" : false + }, + "CustomAttributes" : { + "description" : "One or more custom attributes to use as criteria for the segment.", + "type" : "object", + "patternProperties" : { + "^[a-zA-Z_][a-zA-Z_0-9-]*$" : { + "$ref" : "#/definitions/AttributeDimension" + } + }, + "additionalProperties" : false + }, + "CalculatedCustomAttributes" : { + "description" : "One or more calculated attributes to use as criteria for the segment.", + "type" : "object", + "patternProperties" : { + "^[a-zA-Z_][a-zA-Z_0-9-]*$" : { + "$ref" : "#/definitions/CalculatedAttributeDimension" + } + }, + "additionalProperties" : false + }, + "DateDimension" : { + "description" : "Specifies date based criteria for a segment.", + "type" : "object", + "properties" : { + "DimensionType" : { + "$ref" : "#/definitions/DateDimensionType" + }, + "Values" : { + "type" : "array", + "items" : { + "type" : "string" + }, + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 50 + } + }, + "required" : [ "DimensionType", "Values" ], + "additionalProperties" : false + }, + "DateDimensionType" : { + "description" : "The type of segment dimension to use for a date dimension.", + "type" : "string", + "enum" : [ "BEFORE", "AFTER", "BETWEEN", "NOT_BETWEEN", "ON" ] + }, + "Dimension" : { + "description" : "The criteria that define the dimensions for the segment.", + "oneOf" : [ { + "type" : "object", + "title" : "ProfileAttributes", + "properties" : { + "ProfileAttributes" : { + "$ref" : "#/definitions/ProfileAttributes" + } + }, + "required" : [ "ProfileAttributes" ], + "additionalProperties" : false + }, { + "type" : "object", + "title" : "CalculatedAttributes", + "properties" : { + "CalculatedAttributes" : { + "$ref" : "#/definitions/CalculatedCustomAttributes" + } + }, + "additionalProperties" : false + } ] + }, + "ExtraLengthValueProfileDimension" : { + "description" : "Specifies criteria for a segment using extended-length string values.", + "type" : "object", + "properties" : { + "DimensionType" : { + "$ref" : "#/definitions/StringDimensionType" + }, + "Values" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 1000, + "minLength" : 1 + }, + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 50 + } + }, + "required" : [ "DimensionType", "Values" ], + "additionalProperties" : false + }, + "Group" : { + "description" : "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "type" : "object", + "properties" : { + "Dimensions" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Dimension" + } + }, + "SourceSegments" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SourceSegment" + } + }, + "SourceType" : { + "$ref" : "#/definitions/IncludeOptions" + }, + "Type" : { + "$ref" : "#/definitions/IncludeOptions" + } + }, + "additionalProperties" : false + }, + "IncludeOptions" : { + "description" : "Specifies the operator on how to handle multiple groups within the same segment.", + "type" : "string", + "enum" : [ "ALL", "ANY", "NONE" ] + }, + "ProfileAttributes" : { + "description" : "Specifies the dimension settings within profile attributes for a segment.", + "type" : "object", + "properties" : { + "AccountNumber" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "AdditionalInformation" : { + "$ref" : "#/definitions/ExtraLengthValueProfileDimension" + }, + "FirstName" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "LastName" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "MiddleName" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "GenderString" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "PartyTypeString" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "BirthDate" : { + "$ref" : "#/definitions/DateDimension" + }, + "PhoneNumber" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "BusinessName" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "BusinessPhoneNumber" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "HomePhoneNumber" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "MobilePhoneNumber" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "EmailAddress" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "PersonalEmailAddress" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "BusinessEmailAddress" : { + "$ref" : "#/definitions/ProfileDimension" + }, + "Address" : { + "$ref" : "#/definitions/AddressDimension" + }, + "ShippingAddress" : { + "$ref" : "#/definitions/AddressDimension" + }, + "MailingAddress" : { + "$ref" : "#/definitions/AddressDimension" + }, + "BillingAddress" : { + "$ref" : "#/definitions/AddressDimension" + }, + "Attributes" : { + "$ref" : "#/definitions/CustomAttributes" + } + }, + "additionalProperties" : false + }, + "ProfileDimension" : { + "description" : "Specifies profile based criteria for a segment.", + "type" : "object", + "properties" : { + "DimensionType" : { + "$ref" : "#/definitions/StringDimensionType" + }, + "Values" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "insertionOrder" : false, + "minItems" : 1, + "maxItems" : 50 + } + }, + "required" : [ "DimensionType", "Values" ], + "additionalProperties" : false + }, + "SegmentGroup" : { + "type" : "object", + "properties" : { + "Groups" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Group" + } + }, + "Include" : { + "$ref" : "#/definitions/IncludeOptions" + } + }, + "additionalProperties" : false + }, + "SourceSegment" : { + "description" : "The base segment to build the segment on.", + "type" : "object", + "properties" : { + "SegmentDefinitionName" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + } + }, + "additionalProperties" : false + }, + "StringDimensionType" : { + "description" : "The type of segment dimension to use for a string dimension.", + "type" : "string", + "enum" : [ "INCLUSIVE", "EXCLUSIVE", "CONTAINS", "BEGINS_WITH", "ENDS_WITH" ] + } + }, + "properties" : { + "CreatedAt" : { + "description" : "The time of this segment definition got created.", + "type" : "string", + "format" : "date-time" + }, + "Description" : { + "description" : "The description of the segment definition.", + "type" : "string", + "maxLength" : 1000, + "minLength" : 1 + }, + "DisplayName" : { + "description" : "The display name of the segment definition.", + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "DomainName" : { + "description" : "The unique name of the domain.", + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + }, + "SegmentDefinitionName" : { + "description" : "The unique name of the segment definition.", + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9_-]+$" + }, + "SegmentGroups" : { + "description" : "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "$ref" : "#/definitions/SegmentGroup" + }, + "SegmentDefinitionArn" : { + "description" : "The Amazon Resource Name (ARN) of the segment definition.", + "type" : "string", + "maxLength" : 255, + "minLength" : 1 + }, + "Tags" : { + "description" : "The tags used to organize, track, or control access for this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + }, + "minItems" : 0, + "maxItems" : 50 + } + }, + "required" : [ "DomainName", "DisplayName", "SegmentDefinitionName", "SegmentGroups" ], + "readOnlyProperties" : [ "/properties/CreatedAt", "/properties/SegmentDefinitionArn" ], + "createOnlyProperties" : [ "/properties/DomainName", "/properties/SegmentDefinitionName", "/properties/DisplayName", "/properties/SegmentGroups" ], + "primaryIdentifier" : [ "/properties/DomainName", "/properties/SegmentDefinitionName" ], + "handlers" : { + "create" : { + "permissions" : [ "profile:CreateSegmentDefinition", "profile:TagResource" ] + }, + "read" : { + "permissions" : [ "profile:GetSegmentDefinition" ] + }, + "update" : { + "permissions" : [ "profile:GetSegmentDefinition", "profile:UntagResource", "profile:TagResource" ] + }, + "delete" : { + "permissions" : [ "profile:DeleteSegmentDefinition" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "DomainName" : { + "$ref" : "resource-schema.json#/properties/DomainName" + } + }, + "required" : [ "DomainName" ] + }, + "permissions" : [ "profile:ListSegmentDefinitions" ] + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "profile:TagResource", "profile:UntagResource", "profile:ListTagsForResource" ] + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-dataprovider.json b/aws-cloudformation-schema/aws-dms-dataprovider.json index 736508b0b8..65a38452ea 100644 --- a/aws-cloudformation-schema/aws-dms-dataprovider.json +++ b/aws-cloudformation-schema/aws-dms-dataprovider.json @@ -7,7 +7,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "dms:AddTagsToResource", "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, "definitions" : { "Tag" : { @@ -224,7 +225,7 @@ "permissions" : [ "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:ListTagsForResource" ] }, "update" : { - "permissions" : [ "dms:UpdateDataProvider", "dms:ModifyDataProvider", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + "permissions" : [ "dms:UpdateDataProvider", "dms:ModifyDataProvider", "dms:AddTagsToResource", "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, "delete" : { "permissions" : [ "dms:DeleteDataProvider" ] diff --git a/aws-cloudformation-schema/aws-dms-instanceprofile.json b/aws-cloudformation-schema/aws-dms-instanceprofile.json index a969cc7e25..6803431881 100644 --- a/aws-cloudformation-schema/aws-dms-instanceprofile.json +++ b/aws-cloudformation-schema/aws-dms-instanceprofile.json @@ -7,7 +7,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "dms:AddTagsToResource", "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, "definitions" : { "Tag" : { @@ -122,7 +123,7 @@ "permissions" : [ "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:ListTagsForResource" ] }, "update" : { - "permissions" : [ "dms:UpdateInstanceProfile", "dms:ModifyInstanceProfile", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + "permissions" : [ "dms:UpdateInstanceProfile", "dms:ModifyInstanceProfile", "dms:AddTagsToResource", "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, "delete" : { "permissions" : [ "dms:DeleteInstanceProfile" ] diff --git a/aws-cloudformation-schema/aws-dms-migrationproject.json b/aws-cloudformation-schema/aws-dms-migrationproject.json index 2256c87983..791f9e04f5 100644 --- a/aws-cloudformation-schema/aws-dms-migrationproject.json +++ b/aws-cloudformation-schema/aws-dms-migrationproject.json @@ -7,7 +7,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "dms:AddTagsToResource", "dms:RemoveTagsFromResource", "dms:ListTagsForResource" ] }, "definitions" : { "Tag" : { @@ -161,7 +162,7 @@ "permissions" : [ "dms:DescribeMigrationProjects", "dms:ListMigrationProjects", "dms:ListTagsForResource" ] }, "update" : { - "permissions" : [ "dms:UpdateMigrationProject", "dms:ModifyMigrationProject", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource", "iam:PassRole" ] + "permissions" : [ "dms:UpdateMigrationProject", "dms:ModifyMigrationProject", "dms:AddTagsToResource", "dms:RemoveTagsFromResource", "dms:ListTagsForResource", "iam:PassRole" ] }, "delete" : { "permissions" : [ "dms:DeleteMigrationProject" ] diff --git a/aws-cloudformation-schema/aws-dynamodb-table.json b/aws-cloudformation-schema/aws-dynamodb-table.json index 643cd120a9..99febc7060 100644 --- a/aws-cloudformation-schema/aws-dynamodb-table.json +++ b/aws-cloudformation-schema/aws-dynamodb-table.json @@ -288,15 +288,17 @@ }, { "required" : [ "WriteUnitsPerSecond" ] } ], - "description" : "", + "description" : "Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event.", "additionalProperties" : false, "type" : "object", "properties" : { "ReadUnitsPerSecond" : { + "description" : "Represents the number of read operations your base table can instantaneously support.", "type" : "integer", "minimum" : 1 }, "WriteUnitsPerSecond" : { + "description" : "Represents the number of write operations your base table can instantaneously support.", "type" : "integer", "minimum" : 1 } @@ -336,7 +338,7 @@ } }, "WarmThroughput" : { - "description" : "", + "description" : "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both.", "$ref" : "#/definitions/WarmThroughput" } }, @@ -486,7 +488,7 @@ "$ref" : "#/definitions/ProvisionedThroughput" }, "WarmThroughput" : { - "description" : "", + "description" : "Represents the warm throughput (in read units per second and write units per second) for creating a table.", "$ref" : "#/definitions/WarmThroughput" }, "TableName" : { diff --git a/aws-cloudformation-schema/aws-ec2-launchtemplate.json b/aws-cloudformation-schema/aws-ec2-launchtemplate.json index a2497d1a00..e5a82f7e27 100644 --- a/aws-cloudformation-schema/aws-ec2-launchtemplate.json +++ b/aws-cloudformation-schema/aws-ec2-launchtemplate.json @@ -834,6 +834,16 @@ "$ref" : "#/definitions/Reference" } }, + "BaselinePerformanceFactors" : { + "description" : "", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Cpu" : { + "$ref" : "#/definitions/Cpu" + } + } + }, "LaunchTemplateElasticInferenceAccelerator" : { "description" : "Specifies an elastic inference accelerator.\n ``LaunchTemplateElasticInferenceAccelerator`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "additionalProperties" : false, @@ -970,6 +980,10 @@ "description" : "The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).\n Default: No minimum or maximum limits", "$ref" : "#/definitions/NetworkBandwidthGbps" }, + "BaselinePerformanceFactors" : { + "description" : "", + "$ref" : "#/definitions/BaselinePerformanceFactors" + }, "SpotMaxPricePercentageOverLowestPrice" : { "description" : "[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.\n The parameter accepts an integer, which Amazon EC2 interprets as a percentage.\n If you set ``TargetCapacityUnitType`` to ``vcpu`` or ``memory-mib``, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.\n This parameter is not supported for [GetSpotPlacementScores](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) and [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html).\n Only one of ``SpotMaxPricePercentageOverLowestPrice`` or ``MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`` can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as ``999999``.\n Default: ``100``", "type" : "integer" diff --git a/aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessexclusion.json b/aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessexclusion.json new file mode 100644 index 0000000000..309afe31e6 --- /dev/null +++ b/aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessexclusion.json @@ -0,0 +1,90 @@ +{ + "typeName" : "AWS::EC2::VPCBlockPublicAccessExclusion", + "description" : "Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-vpcblockpublicaccessexclusion.git", + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "ec2:CreateTags", "ec2:DeleteTags" ] + }, + "definitions" : { + "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 + }, + "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 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "ExclusionId" : { + "type" : "string", + "description" : "The ID of the exclusion" + }, + "InternetGatewayExclusionMode" : { + "description" : "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.", + "type" : "string", + "enum" : [ "allow-bidirectional", "allow-egress" ] + }, + "VpcId" : { + "type" : "string", + "description" : "The ID of the vpc. Required only if you don't specify SubnetId." + }, + "SubnetId" : { + "type" : "string", + "description" : "The ID of the subnet. Required only if you don't specify VpcId" + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : false, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "additionalProperties" : false, + "oneOf" : [ { + "required" : [ "VpcId" ] + }, { + "required" : [ "SubnetId" ] + } ], + "required" : [ "InternetGatewayExclusionMode" ], + "createOnlyProperties" : [ "/properties/VpcId", "/properties/SubnetId" ], + "readOnlyProperties" : [ "/properties/ExclusionId" ], + "primaryIdentifier" : [ "/properties/ExclusionId" ], + "handlers" : { + "create" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessExclusions", "ec2:CreateVpcBlockPublicAccessExclusion", "ec2:CreateTags" ] + }, + "read" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessExclusions" ] + }, + "update" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessExclusions", "ec2:ModifyVpcBlockPublicAccessExclusion", "ec2:CreateTags", "ec2:DeleteTags" ] + }, + "delete" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessExclusions", "ec2:DeleteVpcBlockPublicAccessExclusion" ] + }, + "list" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessExclusions" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessoptions.json b/aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessoptions.json new file mode 100644 index 0000000000..a6df28054f --- /dev/null +++ b/aws-cloudformation-schema/aws-ec2-vpcblockpublicaccessoptions.json @@ -0,0 +1,40 @@ +{ + "typeName" : "AWS::EC2::VPCBlockPublicAccessOptions", + "description" : "Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2-vpcblockpublicaccessoptions.git", + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "properties" : { + "InternetGatewayBlockMode" : { + "description" : "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value", + "type" : "string", + "enum" : [ "block-bidirectional", "block-ingress" ] + }, + "AccountId" : { + "type" : "string", + "description" : "The identifier for the specified AWS account." + } + }, + "additionalProperties" : false, + "required" : [ "InternetGatewayBlockMode" ], + "readOnlyProperties" : [ "/properties/AccountId" ], + "primaryIdentifier" : [ "/properties/AccountId" ], + "handlers" : { + "create" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessOptions", "ec2:ModifyVpcBlockPublicAccessOptions" ] + }, + "read" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessOptions" ] + }, + "update" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessOptions", "ec2:ModifyVpcBlockPublicAccessOptions" ] + }, + "delete" : { + "permissions" : [ "ec2:DescribeVpcBlockPublicAccessOptions", "ec2:ModifyVpcBlockPublicAccessOptions" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json b/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json index 02ec7990e4..bdf781c234 100644 --- a/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json +++ b/aws-cloudformation-schema/aws-ecs-clustercapacityproviderassociations.json @@ -11,7 +11,7 @@ "permissions" : [ "ecs:DescribeClusters" ] }, "create" : { - "permissions" : [ "ecs:DescribeClusters", "ecs:PutClusterCapacityProviders" ] + "permissions" : [ "ecs:DescribeClusters", "ecs:PutClusterCapacityProviders", "ecs:DescribeCapacityProviders" ] }, "update" : { "permissions" : [ "ecs:DescribeClusters", "ecs:PutClusterCapacityProviders" ] diff --git a/aws-cloudformation-schema/aws-efs-filesystem.json b/aws-cloudformation-schema/aws-efs-filesystem.json index 4a5ca2f216..01da928e1a 100644 --- a/aws-cloudformation-schema/aws-efs-filesystem.json +++ b/aws-cloudformation-schema/aws-efs-filesystem.json @@ -1,216 +1,228 @@ { - "tagging" : { - "permissions" : [ "elasticfilesystem:TagResource", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:UntagResource", "elasticfilesystem:DeleteTags" ], - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/FileSystemTags", - "cloudFormationSystemTags" : true - }, "typeName" : "AWS::EFS::FileSystem", - "readOnlyProperties" : [ "/properties/Arn", "/properties/FileSystemId", "/properties/ReplicationConfiguration/Destinations/*/Status", "/properties/ReplicationConfiguration/Destinations/*/StatusMessage" ], "description" : "The ``AWS::EFS::FileSystem`` resource creates a new, empty file system in EFSlong (EFS). You must create a mount target ([AWS::EFS::MountTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html)) to mount your EFS file system on an EC2 or other AWS cloud compute resource.", - "createOnlyProperties" : [ "/properties/AvailabilityZoneName", "/properties/Encrypted", "/properties/KmsKeyId", "/properties/PerformanceMode" ], - "primaryIdentifier" : [ "/properties/FileSystemId" ], "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", - "propertyTransform" : { - "/properties/KmsKeyId" : "\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/[a-zA-Z0-9-]+\"", - "/properties/ReplicationConfiguration/Destinations/*/FileSystemId" : "$split(FileSystemId, \"/\")[-1]", - "/properties/FileSystemProtection/ReplicationOverwriteProtection" : "$uppercase(FileSystemProtection.ReplicationOverwriteProtection)='DISABLED' ? 'REPLICATING' : $uppercase(FileSystemProtection.ReplicationOverwriteProtection)" - }, - "handlers" : { - "read" : { - "permissions" : [ "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:DescribeReplicationConfigurations" ] - }, - "create" : { - "permissions" : [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:TagResource", "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:PutBackupPolicy", "elasticfilesystem:PutFileSystemPolicy", "elasticfilesystem:PutLifecycleConfiguration", "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant", "iam:PassRole", "iam:CreateServiceLinkedRole" ] - }, - "update" : { - "permissions" : [ "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DeleteFileSystemPolicy", "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:DeleteTags", "elasticfilesystem:DeleteReplicationConfiguration", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:PutBackupPolicy", "elasticfilesystem:PutFileSystemPolicy", "elasticfilesystem:PutLifecycleConfiguration", "elasticfilesystem:TagResource", "elasticfilesystem:UntagResource", "elasticfilesystem:UpdateFileSystem", "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant", "iam:PassRole", "iam:CreateServiceLinkedRole" ] - }, - "list" : { - "permissions" : [ "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:DescribeReplicationConfigurations" ] - }, - "delete" : { - "permissions" : [ "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DeleteFileSystem", "elasticfilesystem:DeleteReplicationConfiguration", "elasticfilesystem:DescribeReplicationConfigurations" ] - } - }, - "writeOnlyProperties" : [ "/properties/BypassPolicyLockoutSafetyCheck", "/properties/ReplicationConfiguration/Destinations/0/AvailabilityZoneName", "/properties/ReplicationConfiguration/Destinations/0/KmsKeyId" ], - "additionalProperties" : false, "definitions" : { - "ReplicationDestination" : { - "description" : "Describes the destination file system in the replication configuration.", - "additionalProperties" : false, + "Arn" : { + "type" : "string" + }, + "ElasticFileSystemTag" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "KmsKeyId" : { - "description" : "The ID of an kms-key-long used to protect the encrypted file system.", - "type" : "string" - }, - "AvailabilityZoneName" : { - "description" : "For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. \n Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see [EFS file system types](https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) in the *Amazon EFS User Guide*.\n One Zone file system type is not available in all Availability Zones in AWS-Regions where Amazon EFS is available.", - "type" : "string" - }, - "FileSystemId" : { - "pattern" : "^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$", - "description" : "The ID of the destination Amazon EFS file system.", - "type" : "string" + "Key" : { + "type" : "string", + "description" : "The tag key (String). The key can't start with ``aws:``." }, - "Region" : { - "description" : "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located.", - "type" : "string" + "Value" : { + "type" : "string", + "description" : "The value of the tag key." } - } + }, + "required" : [ "Value", "Key" ], + "description" : "A tag is a key-value pair attached to a file system. Allowed characters in the ``Key`` and ``Value`` properties are letters, white space, and numbers that can be represented in UTF-8, and the following characters:``+ - = . _ : /``" }, "LifecyclePolicy" : { - "description" : "Describes a policy used by Lifecycle management that specifies when to transition files into and out of the EFS storage classes. For more information, see [Managing file system storage](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n + Each ``LifecyclePolicy`` object can have only a single transition. This means that in a request body, ``LifecyclePolicies`` must be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive``, ``TransitionToPrimaryStorageClass``.\n + See the AWS::EFS::FileSystem examples for the correct ``LifecyclePolicy`` structure. Do not use the syntax shown on this page.", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "TransitionToIA" : { - "description" : "The number of days after files were last accessed in primary storage (the Standard storage class) at which to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory don't count as file access events.", - "type" : "string" + "type" : "string", + "description" : "The number of days after files were last accessed in primary storage (the Standard storage class) at which to move them to Infrequent Access (IA) storage. Metadata operations such as listing the contents of a directory don't count as file access events." }, "TransitionToPrimaryStorageClass" : { - "description" : "Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events.", - "type" : "string" + "type" : "string", + "description" : "Whether to move files back to primary (Standard) storage after they are accessed in IA or Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events." }, "TransitionToArchive" : { - "description" : "The number of days after files were last accessed in primary storage (the Standard storage class) at which to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events.", - "type" : "string" + "type" : "string", + "description" : "The number of days after files were last accessed in primary storage (the Standard storage class) at which to move them to Archive storage. Metadata operations such as listing the contents of a directory don't count as file access events." } - } + }, + "description" : "Describes a policy used by Lifecycle management that specifies when to transition files into and out of the EFS storage classes. For more information, see [Managing file system storage](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html).\n + Each ``LifecyclePolicy`` object can have only a single transition. This means that in a request body, ``LifecyclePolicies`` must be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive``, ``TransitionToPrimaryStorageClass``.\n + See the AWS::EFS::FileSystem examples for the correct ``LifecyclePolicy`` structure. Do not use the syntax shown on this page." }, - "FileSystemProtection" : { - "description" : "Describes the protection on the file system.", + "BackupPolicy" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ], + "description" : "Set the backup policy status for the file system.\n + *ENABLED* - Turns automatic backups on for the file system. \n + *DISABLED* - Turns automatic backups off for the file system." + } + }, + "required" : [ "Status" ], + "description" : "The backup policy turns automatic backups for the file system on or off." + }, + "FileSystemProtection" : { "type" : "object", + "additionalProperties" : false, "properties" : { "ReplicationOverwriteProtection" : { - "description" : "The status of the file system's replication overwrite protection.\n + ``ENABLED`` – The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default. \n + ``DISABLED`` – The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.\n + ``REPLICATING`` – The file system is being used as the destination file system in a replication configuration. The file system is read-only and is only modified only by EFS replication.\n \n If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable.", "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ] + "enum" : [ "DISABLED", "ENABLED" ], + "description" : "The status of the file system's replication overwrite protection.\n + ``ENABLED`` – The file system cannot be used as the destination file system in a replication configuration. The file system is writeable. Replication overwrite protection is ``ENABLED`` by default. \n + ``DISABLED`` – The file system can be used as the destination file system in a replication configuration. The file system is read-only and can only be modified by EFS replication.\n + ``REPLICATING`` – The file system is being used as the destination file system in a replication configuration. The file system is read-only and is only modified only by EFS replication.\n \n If the replication configuration is deleted, the file system's replication overwrite protection is re-enabled, the file system becomes writeable." } - } - }, - "Arn" : { - "type" : "string" + }, + "description" : "Describes the protection on the file system." }, - "ElasticFileSystemTag" : { - "description" : "A tag is a key-value pair attached to a file system. Allowed characters in the ``Key`` and ``Value`` properties are letters, white space, and numbers that can be represented in UTF-8, and the following characters:``+ - = . _ : /``", - "additionalProperties" : false, + "ReplicationDestination" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "description" : "The value of the tag key.", - "type" : "string" + "Status" : { + "type" : "string", + "description" : "" }, - "Key" : { - "description" : "The tag key (String). The key can't start with ``aws:``.", - "type" : "string" + "StatusMessage" : { + "type" : "string", + "description" : "" + }, + "FileSystemId" : { + "pattern" : "^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$", + "type" : "string", + "description" : "The ID of the destination Amazon EFS file system." + }, + "Region" : { + "type" : "string", + "description" : "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located." + }, + "RoleArn" : { + "type" : "string", + "description" : "" + }, + "AvailabilityZoneName" : { + "type" : "string", + "description" : "For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. \n Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see [EFS file system types](https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) in the *Amazon EFS User Guide*.\n One Zone file system type is not available in all Availability Zones in AWS-Regions where Amazon EFS is available." + }, + "KmsKeyId" : { + "type" : "string", + "description" : "The ID of an kms-key-long used to protect the encrypted file system." } }, - "required" : [ "Value", "Key" ] + "description" : "Describes the destination file system in the replication configuration." }, "ReplicationConfiguration" : { - "description" : "Describes the replication configuration for a specific file system.", - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Destinations" : { + "type" : "array", + "uniqueItems" : true, "minItems" : 1, "maxItems" : 1, - "uniqueItems" : true, - "description" : "An array of destination objects. Only one destination object is supported.", - "type" : "array", "items" : { "$ref" : "#/definitions/ReplicationDestination" - } - } - } - }, - "BackupPolicy" : { - "description" : "The backup policy turns automatic backups for the file system on or off.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Status" : { - "description" : "Set the backup policy status for the file system.\n + *ENABLED* - Turns automatic backups on for the file system. \n + *DISABLED* - Turns automatic backups off for the file system.", - "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ] + }, + "description" : "An array of destination objects. Only one destination object is supported." } }, - "required" : [ "Status" ] + "description" : "Describes the replication configuration for a specific file system." } }, "properties" : { - "KmsKeyId" : { - "description" : "The ID of the kms-key-long to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault kms-key. If this parameter is not specified, the default kms-key for EFS is used. This ID can be in one of the following formats:\n + Key ID - A unique identifier of the key, for example ``1234abcd-12ab-34cd-56ef-1234567890ab``.\n + ARN - An Amazon Resource Name (ARN) for the key, for example ``arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab``.\n + Key alias - A previously created display name for a key, for example ``alias/projectKey1``.\n + Key alias ARN - An ARN for a key alias, for example ``arn:aws:kms:us-west-2:444455556666:alias/projectKey1``.\n \n If ``KmsKeyId`` is specified, the ``Encrypted`` parameter must be set to true.", - "type" : "string" + "FileSystemId" : { + "type" : "string", + "description" : "" }, - "PerformanceMode" : { - "description" : "The performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems.\n Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.\n Default is ``generalPurpose``.", - "type" : "string" + "Arn" : { + "$ref" : "#/definitions/Arn", + "description" : "" }, "Encrypted" : { - "description" : "A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a KmsKeyId for an existing kms-key-long. If you don't specify a kms-key, then the default kms-key for EFS, ``/aws/elasticfilesystem``, is used to protect the encrypted file system.", - "type" : "boolean" + "type" : "boolean", + "description" : "A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a KmsKeyId for an existing kms-key-long. If you don't specify a kms-key, then the default kms-key for EFS, ``/aws/elasticfilesystem``, is used to protect the encrypted file system." }, - "BypassPolicyLockoutSafetyCheck" : { - "description" : "(Optional) A boolean that specifies whether or not to bypass the ``FileSystemPolicy`` lockout safety check. The lockout safety check determines whether the policy in the request will lock out, or prevent, the IAM principal that is making the request from making future ``PutFileSystemPolicy`` requests on this file system. Set ``BypassPolicyLockoutSafetyCheck`` to ``True`` only when you intend to prevent the IAM principal that is making the request from making subsequent ``PutFileSystemPolicy`` requests on this file system. The default value is ``False``.", - "type" : "boolean" + "FileSystemTags" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/ElasticFileSystemTag" + }, + "description" : "Use to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a ``\"Key\":\"Name\",\"Value\":\"{value}\"`` key-value pair. Each key must be unique. For more information, see [Tagging resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *General Reference Guide*." }, - "FileSystemProtection" : { - "description" : "Describes the protection on the file system.", - "$ref" : "#/definitions/FileSystemProtection" + "KmsKeyId" : { + "type" : "string", + "description" : "The ID of the kms-key-long to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault kms-key. If this parameter is not specified, the default kms-key for EFS is used. This ID can be in one of the following formats:\n + Key ID - A unique identifier of the key, for example ``1234abcd-12ab-34cd-56ef-1234567890ab``.\n + ARN - An Amazon Resource Name (ARN) for the key, for example ``arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab``.\n + Key alias - A previously created display name for a key, for example ``alias/projectKey1``.\n + Key alias ARN - An ARN for a key alias, for example ``arn:aws:kms:us-west-2:444455556666:alias/projectKey1``.\n \n If ``KmsKeyId`` is specified, the ``Encrypted`` parameter must be set to true." }, "LifecyclePolicies" : { - "uniqueItems" : true, - "description" : "An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following:\n + When to move files in the file system from primary storage to IA storage.\n + When to move files in the file system from primary storage or IA storage to Archive storage.\n + When to move files that are in IA or Archive storage to primary storage.\n \n EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information.", "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/LifecyclePolicy" - } + }, + "description" : "An array of ``LifecyclePolicy`` objects that define the file system's ``LifecycleConfiguration`` object. A ``LifecycleConfiguration`` object informs Lifecycle management of the following:\n + When to move files in the file system from primary storage to IA storage.\n + When to move files in the file system from primary storage or IA storage to Archive storage.\n + When to move files that are in IA or Archive storage to primary storage.\n \n EFS requires that each ``LifecyclePolicy`` object have only a single transition. This means that in a request body, ``LifecyclePolicies`` needs to be structured as an array of ``LifecyclePolicy`` objects, one object for each transition, ``TransitionToIA``, ``TransitionToArchive`` ``TransitionToPrimaryStorageClass``. See the example requests in the following section for more information." }, - "ThroughputMode" : { - "description" : "Specifies the throughput mode for the file system. The mode can be ``bursting``, ``provisioned``, or ``elastic``. If you set ``ThroughputMode`` to ``provisioned``, you must also set a value for ``ProvisionedThroughputInMibps``. After you create the file system, you can decrease your file system's Provisioned throughput or change between the throughput modes, with certain time restrictions. For more information, see [Specifying throughput with provisioned mode](https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput) in the *Amazon EFS User Guide*. \n Default is ``bursting``.", - "type" : "string" + "FileSystemProtection" : { + "$ref" : "#/definitions/FileSystemProtection", + "description" : "Describes the protection on the file system." }, - "FileSystemTags" : { - "uniqueItems" : true, - "description" : "Use to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a ``\"Key\":\"Name\",\"Value\":\"{value}\"`` key-value pair. Each key must be unique. For more information, see [Tagging resources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the *General Reference Guide*.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ElasticFileSystemTag" - } + "PerformanceMode" : { + "type" : "string", + "description" : "The performance mode of the file system. We recommend ``generalPurpose`` performance mode for all file systems. File systems using the ``maxIO`` performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. The ``maxIO`` mode is not supported on One Zone file systems.\n Due to the higher per-operation latencies with Max I/O, we recommend using General Purpose performance mode for all file systems.\n Default is ``generalPurpose``." }, "ProvisionedThroughputInMibps" : { - "description" : "The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned``. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact SUP. For more information, see [Amazon EFS quotas that you can increase](https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) in the *Amazon EFS User Guide*.", - "type" : "number" + "type" : "number", + "description" : "The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ``ThroughputMode`` is set to ``provisioned``. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact SUP. For more information, see [Amazon EFS quotas that you can increase](https://docs.aws.amazon.com/efs/latest/ug/limits.html#soft-limits) in the *Amazon EFS User Guide*." + }, + "ThroughputMode" : { + "type" : "string", + "description" : "Specifies the throughput mode for the file system. The mode can be ``bursting``, ``provisioned``, or ``elastic``. If you set ``ThroughputMode`` to ``provisioned``, you must also set a value for ``ProvisionedThroughputInMibps``. After you create the file system, you can decrease your file system's Provisioned throughput or change between the throughput modes, with certain time restrictions. For more information, see [Specifying throughput with provisioned mode](https://docs.aws.amazon.com/efs/latest/ug/performance.html#provisioned-throughput) in the *Amazon EFS User Guide*. \n Default is ``bursting``." }, "FileSystemPolicy" : { - "description" : "The ``FileSystemPolicy`` for the EFS file system. A file system policy is an IAM resource policy used to control NFS access to an EFS file system. For more information, see [Using to control NFS access to Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html) in the *Amazon EFS User Guide*.", - "type" : "object" + "type" : "object", + "description" : "The ``FileSystemPolicy`` for the EFS file system. A file system policy is an IAM resource policy used to control NFS access to an EFS file system. For more information, see [Using to control NFS access to Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html) in the *Amazon EFS User Guide*." }, - "AvailabilityZoneName" : { - "description" : "For One Zone file systems, specify the AWS Availability Zone in which to create the file system. Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see [EFS file system types](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html#file-system-type) in the *Amazon EFS User Guide*.\n One Zone file systems are not available in all Availability Zones in AWS-Regions where Amazon EFS is available.", - "type" : "string" + "BypassPolicyLockoutSafetyCheck" : { + "description" : "(Optional) A boolean that specifies whether or not to bypass the ``FileSystemPolicy`` lockout safety check. The lockout safety check determines whether the policy in the request will lock out, or prevent, the IAM principal that is making the request from making future ``PutFileSystemPolicy`` requests on this file system. Set ``BypassPolicyLockoutSafetyCheck`` to ``True`` only when you intend to prevent the IAM principal that is making the request from making subsequent ``PutFileSystemPolicy`` requests on this file system. The default value is ``False``.", + "type" : "boolean" }, - "FileSystemId" : { - "description" : "", - "type" : "string" + "BackupPolicy" : { + "$ref" : "#/definitions/BackupPolicy", + "description" : "Use the ``BackupPolicy`` to turn automatic backups on or off for the file system." }, - "Arn" : { - "description" : "", - "$ref" : "#/definitions/Arn" + "AvailabilityZoneName" : { + "type" : "string", + "description" : "For One Zone file systems, specify the AWS Availability Zone in which to create the file system. Use the format ``us-east-1a`` to specify the Availability Zone. For more information about One Zone file systems, see [EFS file system types](https://docs.aws.amazon.com/efs/latest/ug/availability-durability.html#file-system-type) in the *Amazon EFS User Guide*.\n One Zone file systems are not available in all Availability Zones in AWS-Regions where Amazon EFS is available." }, "ReplicationConfiguration" : { - "description" : "Describes the replication configuration for a specific file system.", - "$ref" : "#/definitions/ReplicationConfiguration" + "$ref" : "#/definitions/ReplicationConfiguration", + "description" : "Describes the replication configuration for a specific file system." + } + }, + "additionalProperties" : false, + "readOnlyProperties" : [ "/properties/Arn", "/properties/FileSystemId", "/properties/ReplicationConfiguration/Destinations/*/Status", "/properties/ReplicationConfiguration/Destinations/*/StatusMessage" ], + "primaryIdentifier" : [ "/properties/FileSystemId" ], + "writeOnlyProperties" : [ "/properties/BypassPolicyLockoutSafetyCheck", "/properties/ReplicationConfiguration/Destinations/0/AvailabilityZoneName", "/properties/ReplicationConfiguration/Destinations/0/KmsKeyId" ], + "createOnlyProperties" : [ "/properties/AvailabilityZoneName", "/properties/Encrypted", "/properties/KmsKeyId", "/properties/PerformanceMode" ], + "propertyTransform" : { + "/properties/KmsKeyId" : "\"arn:aws[-a-z]*:kms:[a-z0-9-]+:[0-9]{12}:key/[a-zA-Z0-9-]+\"", + "/properties/FileSystemProtection/ReplicationOverwriteProtection" : "$uppercase(FileSystemProtection.ReplicationOverwriteProtection)='DISABLED' ? 'REPLICATING' : $uppercase(FileSystemProtection.ReplicationOverwriteProtection)", + "/properties/ReplicationConfiguration/Destinations/*/FileSystemId" : "$split(FileSystemId, \"/\")[-1]" + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/FileSystemTags", + "permissions" : [ "elasticfilesystem:TagResource", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:UntagResource", "elasticfilesystem:DeleteTags" ] + }, + "handlers" : { + "create" : { + "permissions" : [ "elasticfilesystem:CreateFileSystem", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:TagResource", "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:PutBackupPolicy", "elasticfilesystem:PutFileSystemPolicy", "elasticfilesystem:PutLifecycleConfiguration", "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant", "iam:PassRole", "iam:CreateServiceLinkedRole" ] }, - "BackupPolicy" : { - "description" : "Use the ``BackupPolicy`` to turn automatic backups on or off for the file system.", - "$ref" : "#/definitions/BackupPolicy" + "read" : { + "permissions" : [ "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:DescribeReplicationConfigurations" ] + }, + "update" : { + "permissions" : [ "elasticfilesystem:CreateReplicationConfiguration", "elasticfilesystem:DeleteFileSystemPolicy", "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:DeleteTags", "elasticfilesystem:DeleteReplicationConfiguration", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:PutBackupPolicy", "elasticfilesystem:PutFileSystemPolicy", "elasticfilesystem:PutLifecycleConfiguration", "elasticfilesystem:TagResource", "elasticfilesystem:UntagResource", "elasticfilesystem:UpdateFileSystem", "elasticfilesystem:UpdateFileSystemProtection", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant", "iam:PassRole", "iam:CreateServiceLinkedRole" ] + }, + "delete" : { + "permissions" : [ "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DeleteFileSystem", "elasticfilesystem:DeleteReplicationConfiguration", "elasticfilesystem:DescribeReplicationConfigurations" ] + }, + "list" : { + "permissions" : [ "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:DescribeReplicationConfigurations" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json b/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json index e6bb1e7329..9ff7682c83 100644 --- a/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json +++ b/aws-cloudformation-schema/aws-entityresolution-idmappingworkflow.json @@ -1,5 +1,6 @@ { "tagging" : { + "permissions" : [ "entityresolution:TagResource", "entityresolution:UntagResource", "entityresolution:ListTagsForResource" ], "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, diff --git a/aws-cloudformation-schema/aws-entityresolution-idnamespace.json b/aws-cloudformation-schema/aws-entityresolution-idnamespace.json index 5ec1a08009..985eec4416 100644 --- a/aws-cloudformation-schema/aws-entityresolution-idnamespace.json +++ b/aws-cloudformation-schema/aws-entityresolution-idnamespace.json @@ -225,7 +225,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "entityresolution:TagResource", "entityresolution:UntagResource", "entityresolution:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-entityresolution-matchingworkflow.json b/aws-cloudformation-schema/aws-entityresolution-matchingworkflow.json index 58479e744e..9527e9b189 100644 --- a/aws-cloudformation-schema/aws-entityresolution-matchingworkflow.json +++ b/aws-cloudformation-schema/aws-entityresolution-matchingworkflow.json @@ -298,7 +298,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "entityresolution:TagResource", "entityresolution:UntagResource", "entityresolution:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-entityresolution-schemamapping.json b/aws-cloudformation-schema/aws-entityresolution-schemamapping.json index 95bc7f93da..3f46b72aed 100644 --- a/aws-cloudformation-schema/aws-entityresolution-schemamapping.json +++ b/aws-cloudformation-schema/aws-entityresolution-schemamapping.json @@ -144,7 +144,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "entityresolution:TagResource", "entityresolution:UntagResource", "entityresolution:ListTagsForResource" ] }, "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-groundstation-config.json b/aws-cloudformation-schema/aws-groundstation-config.json index 969fe52b3b..2bd4a6355e 100644 --- a/aws-cloudformation-schema/aws-groundstation-config.json +++ b/aws-cloudformation-schema/aws-groundstation-config.json @@ -277,6 +277,14 @@ "required" : [ "Name", "ConfigData" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/Id", "/properties/Type" ], "primaryIdentifier" : [ "/properties/Arn" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "groundstation:TagResource", "groundstation:UntagResource", "groundstation:ListTagsForResource" ] + }, "handlers" : { "create" : { "permissions" : [ "groundstation:CreateConfig", "groundstation:TagResource", "iam:PassRole" ] diff --git a/aws-cloudformation-schema/aws-groundstation-dataflowendpointgroup.json b/aws-cloudformation-schema/aws-groundstation-dataflowendpointgroup.json index 7e0d3d6dc7..9dbab4a67d 100644 --- a/aws-cloudformation-schema/aws-groundstation-dataflowendpointgroup.json +++ b/aws-cloudformation-schema/aws-groundstation-dataflowendpointgroup.json @@ -213,10 +213,21 @@ "required" : [ "EndpointDetails" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ], "primaryIdentifier" : [ "/properties/Id" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "groundstation:TagResource", "groundstation:UntagResource", "groundstation:ListTagsForResource" ] + }, "handlers" : { "create" : { "permissions" : [ "groundstation:CreateDataflowEndpointGroup", "groundstation:GetDataflowEndpointGroup", "groundstation:TagResource", "iam:PassRole", "ec2:describeAddresses", "ec2:describeNetworkInterfaces", "iam:createServiceLinkedRole" ] }, + "update" : { + "permissions" : [ "groundstation:ListTagsForResource", "groundstation:TagResource", "groundstation:UntagResource" ] + }, "read" : { "permissions" : [ "groundstation:GetDataflowEndpointGroup", "groundstation:ListTagsForResource" ] }, diff --git a/aws-cloudformation-schema/aws-groundstation-missionprofile.json b/aws-cloudformation-schema/aws-groundstation-missionprofile.json index a4a5f82516..84c776d5ff 100644 --- a/aws-cloudformation-schema/aws-groundstation-missionprofile.json +++ b/aws-cloudformation-schema/aws-groundstation-missionprofile.json @@ -108,6 +108,14 @@ "required" : [ "Name", "MinimumViableContactDurationSeconds", "DataflowEdges", "TrackingConfigArn" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/Region" ], "primaryIdentifier" : [ "/properties/Id", "/properties/Arn" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "groundstation:TagResource", "groundstation:UntagResource", "groundstation:ListTagsForResource" ] + }, "handlers" : { "create" : { "permissions" : [ "groundstation:CreateMissionProfile", "groundstation:GetMissionProfile", "groundstation:TagResource", "iam:PassRole", "kms:DescribeKey", "kms:CreateGrant" ] diff --git a/aws-cloudformation-schema/aws-iot-thingtype.json b/aws-cloudformation-schema/aws-iot-thingtype.json index 29a081bb2c..2b7c3d32e9 100644 --- a/aws-cloudformation-schema/aws-iot-thingtype.json +++ b/aws-cloudformation-schema/aws-iot-thingtype.json @@ -37,6 +37,19 @@ "pattern" : "[\\p{Graph}\\x20]*", "type" : "string", "maxLength" : 2028 + }, + "Mqtt5Configuration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "PropagatingAttributes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/PropagatingAttribute" + } + } + } } } }, @@ -72,6 +85,27 @@ } }, "required" : [ "Key", "Value" ] + }, + "PropagatingAttribute" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "UserPropertyKey" : { + "type" : "string", + "pattern" : "[a-zA-Z0-9:$.]+", + "maxLength" : 128 + }, + "ThingAttribute" : { + "type" : "string", + "pattern" : "[a-zA-Z0-9_.,@/:#-]+", + "maxLength" : 128 + }, + "ConnectionAttribute" : { + "type" : "string", + "enum" : [ "iot:ClientId", "iot:Thing.ThingName" ] + } + }, + "required" : [ "UserPropertyKey" ] } }, "tagging" : { @@ -82,7 +116,7 @@ "tagProperty" : "/properties/Tags" }, "readOnlyProperties" : [ "/properties/Arn", "/properties/Id" ], - "createOnlyProperties" : [ "/properties/ThingTypeName", "/properties/ThingTypeProperties" ], + "createOnlyProperties" : [ "/properties/ThingTypeName" ], "primaryIdentifier" : [ "/properties/ThingTypeName" ], "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-iotsitewise-accesspolicy.json b/aws-cloudformation-schema/aws-iotsitewise-accesspolicy.json index 55dbab6eff..64ad3f133a 100644 --- a/aws-cloudformation-schema/aws-iotsitewise-accesspolicy.json +++ b/aws-cloudformation-schema/aws-iotsitewise-accesspolicy.json @@ -111,7 +111,9 @@ } }, "additionalProperties" : false, - "taggable" : false, + "tagging" : { + "taggable" : false + }, "required" : [ "AccessPolicyIdentity", "AccessPolicyPermission", "AccessPolicyResource" ], "readOnlyProperties" : [ "/properties/AccessPolicyArn", "/properties/AccessPolicyId" ], "primaryIdentifier" : [ "/properties/AccessPolicyId" ], @@ -129,7 +131,7 @@ "permissions" : [ "iotsitewise:DescribeAccessPolicy", "iotsitewise:DeleteAccessPolicy" ] }, "list" : { - "permissions" : [ "iotsitewise:ListAccessPolicies" ] + "permissions" : [ "iotsitewise:ListAccessPolicies", "iotsitewise:ListProjects", "iotsitewise:ListPortals" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-iotsitewise-portal.json b/aws-cloudformation-schema/aws-iotsitewise-portal.json index c457ee4e78..0b1342ac8a 100644 --- a/aws-cloudformation-schema/aws-iotsitewise-portal.json +++ b/aws-cloudformation-schema/aws-iotsitewise-portal.json @@ -3,6 +3,34 @@ "description" : "Resource schema for AWS::IoTSiteWise::Portal", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-iotsitewise.git", "definitions" : { + "PortalTypeEntry" : { + "description" : "Container associated a certain PortalType.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "PortalTools" : { + "$ref" : "#/definitions/PortalTools" + } + }, + "required" : [ "PortalTools" ] + }, + "PortalTools" : { + "description" : "List of enabled Tools for a certain portal.", + "type" : "array", + "items" : { + "type" : "string" + } + }, + "PortalTypeConfiguration" : { + "description" : "Map to associate detail of configuration related with a PortalType.", + "type" : "object", + "additionalProperties" : false, + "patternProperties" : { + "^[a-z][a-zA-Z0-9_]*$" : { + "$ref" : "#/definitions/PortalTypeEntry" + } + } + }, "Tag" : { "description" : "To add or update tag, provide both key and value. To delete tag, provide only tag key to be deleted.", "type" : "object", @@ -51,6 +79,14 @@ "description" : "The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal.", "type" : "string" }, + "PortalType" : { + "description" : "The type of portal", + "type" : "string", + "enum" : [ "SITEWISE_PORTAL_V1", "SITEWISE_PORTAL_V2" ] + }, + "PortalTypeConfiguration" : { + "$ref" : "#/definitions/PortalTypeConfiguration" + }, "RoleArn" : { "description" : "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf.", "type" : "string" @@ -85,9 +121,16 @@ } }, "additionalProperties" : false, - "taggable" : true, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iotsitewise:TagResource", "iotsitewise:UntagResource", "iotsitewise:ListTagsForResource" ] + }, "required" : [ "PortalContactEmail", "PortalName", "RoleArn" ], - "createOnlyProperties" : [ "/properties/PortalAuthMode" ], + "createOnlyProperties" : [ "/properties/PortalAuthMode", "/properties/PortalType" ], "readOnlyProperties" : [ "/properties/PortalArn", "/properties/PortalClientId", "/properties/PortalId", "/properties/PortalStartUrl" ], "primaryIdentifier" : [ "/properties/PortalId" ], "additionalIdentifiers" : [ [ "/properties/PortalArn" ] ], @@ -105,7 +148,7 @@ "permissions" : [ "iotsitewise:DescribePortal", "iotsitewise:DeletePortal", "sso:DeleteManagedApplicationInstance" ] }, "list" : { - "permissions" : [ "iotsitewise:ListPortals" ] + "permissions" : [ "iotsitewise:ListPortals", "iotsitewise:ListTagsForResource" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json b/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json index bbbbc8860c..c68c8f7b6a 100644 --- a/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json +++ b/aws-cloudformation-schema/aws-lambda-eventsourcemapping.json @@ -1,194 +1,321 @@ { - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true - }, - "propertyTransform" : { - "/properties/StartingPositionTimestamp" : "StartingPositionTimestamp * 1000" - }, - "handlers" : { - "read" : { - "permissions" : [ "lambda:GetEventSourceMapping", "lambda:ListTags", "kms:Decrypt" ] + "typeName" : "AWS::Lambda::EventSourceMapping", + "description" : "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)", + "additionalProperties" : false, + "properties" : { + "Id" : { + "description" : "", + "type" : "string", + "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", + "minLength" : 36, + "maxLength" : 36 }, - "create" : { - "permissions" : [ "lambda:CreateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + "BatchSize" : { + "description" : "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* – Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* – Default 100. Max 10,000.\n + *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.\n + *Self-managed Apache Kafka* – Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.\n + *DocumentDB* – Default 100. Max 10,000.", + "type" : "integer", + "minimum" : 1, + "maximum" : 10000 }, - "update" : { - "permissions" : [ "lambda:UpdateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + "BisectBatchOnFunctionError" : { + "description" : "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", + "type" : "boolean" }, - "list" : { - "permissions" : [ "lambda:ListEventSourceMappings" ] + "DestinationConfig" : { + "description" : "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", + "$ref" : "#/definitions/DestinationConfig" }, - "delete" : { - "permissions" : [ "lambda:DeleteEventSourceMapping", "lambda:GetEventSourceMapping", "kms:Decrypt" ] - } - }, - "typeName" : "AWS::Lambda::EventSourceMapping", - "readOnlyProperties" : [ "/properties/Id", "/properties/EventSourceMappingArn" ], - "description" : "The ``AWS::Lambda::EventSourceMapping`` resource creates a mapping between an event source and an LAMlong function. LAM reads items from the event source and triggers the function.\n For details about each event source type, see the following topics. In particular, each of the topics describes the required and optional parameters for the specific event source. \n + [Configuring a Dynamo DB stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-dynamodb-eventsourcemapping) \n + [Configuring a Kinesis stream as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-eventsourcemapping) \n + [Configuring an SQS queue as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-eventsource) \n + [Configuring an MQ broker as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#services-mq-eventsourcemapping) \n + [Configuring MSK as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) \n + [Configuring Self-Managed Apache Kafka as an event source](https://docs.aws.amazon.com/lambda/latest/dg/kafka-smaa.html) \n + [Configuring Amazon DocumentDB as an event source](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html)", - "createOnlyProperties" : [ "/properties/EventSourceArn", "/properties/StartingPosition", "/properties/StartingPositionTimestamp", "/properties/SelfManagedEventSource", "/properties/AmazonManagedKafkaEventSourceConfig", "/properties/SelfManagedKafkaEventSourceConfig" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Id" ], - "definitions" : { - "ScalingConfig" : { - "description" : "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "MaximumConcurrency" : { - "description" : "Limits the number of concurrent instances that the SQS event source can invoke.", - "$ref" : "#/definitions/MaximumConcurrency" - } + "Enabled" : { + "description" : "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", + "type" : "boolean" + }, + "EventSourceArn" : { + "description" : "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* – The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* – The ARN of the stream.\n + *Amazon Simple Queue Service* – The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* – The ARN of the broker.\n + *Amazon DocumentDB* – The ARN of the DocumentDB change stream.", + "type" : "string", + "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "minLength" : 12, + "maxLength" : 1024 + }, + "EventSourceMappingArn" : { + "description" : "", + "type" : "string", + "pattern" : "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:event-source-mapping:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", + "minLength" : 85, + "maxLength" : 120 + }, + "FilterCriteria" : { + "description" : "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", + "$ref" : "#/definitions/FilterCriteria" + }, + "KmsKeyArn" : { + "description" : "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).", + "type" : "string", + "pattern" : "(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()", + "minLength" : 12, + "maxLength" : 2048 + }, + "FunctionName" : { + "description" : "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* – ``MyFunction``.\n + *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* – ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", + "type" : "string", + "pattern" : "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", + "minLength" : 1, + "maxLength" : 140 + }, + "MaximumBatchingWindowInSeconds" : { + "description" : "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", + "type" : "integer", + "minimum" : 0, + "maximum" : 300 + }, + "MaximumRecordAgeInSeconds" : { + "description" : "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", + "type" : "integer", + "minimum" : -1, + "maximum" : 604800 + }, + "MaximumRetryAttempts" : { + "description" : "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", + "type" : "integer", + "minimum" : -1, + "maximum" : 10000 + }, + "ParallelizationFactor" : { + "description" : "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", + "type" : "integer", + "minimum" : 1, + "maximum" : 10 + }, + "StartingPosition" : { + "description" : "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", + "type" : "string", + "pattern" : "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", + "minLength" : 6, + "maxLength" : 12 + }, + "StartingPositionTimestamp" : { + "description" : "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", + "type" : "number" + }, + "Tags" : { + "description" : "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" } }, + "Topics" : { + "description" : "The name of the Kafka topic.", + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string", + "pattern" : "^[^.]([a-zA-Z0-9\\-_.]+)", + "minLength" : 1, + "maxLength" : 249 + }, + "minItems" : 1, + "maxItems" : 1 + }, + "Queues" : { + "description" : "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string", + "pattern" : "[\\s\\S]*", + "minLength" : 1, + "maxLength" : 1000 + }, + "minItems" : 1, + "maxItems" : 1 + }, + "SourceAccessConfigurations" : { + "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/SourceAccessConfiguration" + }, + "minItems" : 1, + "maxItems" : 22 + }, + "TumblingWindowInSeconds" : { + "description" : "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", + "type" : "integer", + "minimum" : 0, + "maximum" : 900 + }, + "FunctionResponseTypes" : { + "description" : "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string", + "enum" : [ "ReportBatchItemFailures" ] + }, + "minLength" : 0, + "maxLength" : 1 + }, "SelfManagedEventSource" : { "description" : "The self-managed Apache Kafka cluster for your event source.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Endpoints" : { - "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", - "$ref" : "#/definitions/Endpoints" - } - } + "$ref" : "#/definitions/SelfManagedEventSource" }, - "MaximumConcurrency" : { - "description" : "The maximum number of concurrent functions that an event source can invoke.", - "maximum" : 1000, - "type" : "integer", - "minimum" : 2 + "AmazonManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", + "$ref" : "#/definitions/AmazonManagedKafkaEventSourceConfig" }, - "SourceAccessConfiguration" : { - "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", - "additionalProperties" : false, + "SelfManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", + "$ref" : "#/definitions/SelfManagedKafkaEventSourceConfig" + }, + "ScalingConfig" : { + "description" : "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", + "$ref" : "#/definitions/ScalingConfig" + }, + "DocumentDBEventSourceConfig" : { + "description" : "Specific configuration settings for a DocumentDB event source.", + "$ref" : "#/definitions/DocumentDBEventSourceConfig" + }, + "ProvisionedPollerConfig" : { + "description" : "", + "$ref" : "#/definitions/ProvisionedPollerConfig" + }, + "MetricsConfig" : { + "description" : "", + "$ref" : "#/definitions/MetricsConfig" + } + }, + "definitions" : { + "DestinationConfig" : { "type" : "object", + "additionalProperties" : false, + "description" : "A configuration object that specifies the destination of an event after Lambda processes it.", "properties" : { - "Type" : { - "description" : "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` – (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.", - "type" : "string", - "enum" : [ "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST", "CLIENT_CERTIFICATE_TLS_AUTH", "SERVER_ROOT_CA_CERTIFICATE" ] - }, - "URI" : { - "minLength" : 1, - "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", - "description" : "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.", - "type" : "string", - "maxLength" : 200 + "OnFailure" : { + "description" : "The destination configuration for failed invocations.", + "$ref" : "#/definitions/OnFailure" } } }, "FilterCriteria" : { + "type" : "object", "description" : "An object that contains the filters for an event source.", "additionalProperties" : false, - "type" : "object", "properties" : { "Filters" : { - "minItems" : 1, - "maxItems" : 20, - "uniqueItems" : true, "description" : "A list of filters.", "type" : "array", + "uniqueItems" : true, "items" : { "$ref" : "#/definitions/Filter" - } + }, + "minItems" : 1, + "maxItems" : 20 } } }, - "SelfManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", - "additionalProperties" : false, + "Filter" : { "type" : "object", + "description" : "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", + "additionalProperties" : false, "properties" : { - "ConsumerGroupId" : { - "description" : "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", - "$ref" : "#/definitions/ConsumerGroupId" + "Pattern" : { + "type" : "string", + "description" : "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", + "pattern" : ".*", + "minLength" : 0, + "maxLength" : 4096 } } }, - "DocumentDBEventSourceConfig" : { - "description" : "Specific configuration settings for a DocumentDB event source.", - "additionalProperties" : false, + "OnFailure" : { "type" : "object", + "description" : "A destination for events that failed processing.", + "additionalProperties" : false, "properties" : { - "FullDocument" : { - "description" : "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", - "type" : "string", - "enum" : [ "UpdateLookup", "Default" ] - }, - "CollectionName" : { - "minLength" : 1, - "description" : "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", + "Destination" : { + "description" : "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", "type" : "string", - "maxLength" : 57 + "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "minLength" : 12, + "maxLength" : 1024 + } + } + }, + "SourceAccessConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", + "properties" : { + "Type" : { + "description" : "The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``\"Type\":\"SASL_SCRAM_512_AUTH\"``.\n + ``BASIC_AUTH`` – (Amazon MQ) The ASMlong secret that stores your broker credentials.\n + ``BASIC_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers.\n + ``VPC_SUBNET`` – (Self-managed Apache Kafka) The subnets associated with your VPC. Lambda connects to these subnets to fetch data from your self-managed Apache Kafka cluster.\n + ``VPC_SECURITY_GROUP`` – (Self-managed Apache Kafka) The VPC security group used to manage access to your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_256_AUTH`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-256 authentication of your self-managed Apache Kafka brokers.\n + ``SASL_SCRAM_512_AUTH`` – (Amazon MSK, Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL SCRAM-512 authentication of your self-managed Apache Kafka brokers.\n + ``VIRTUAL_HOST`` –- (RabbitMQ) The name of the virtual host in your RabbitMQ broker. Lambda uses this RabbitMQ host as the event source. This property cannot be specified in an UpdateEventSourceMapping API call.\n + ``CLIENT_CERTIFICATE_TLS_AUTH`` – (Amazon MSK, self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the certificate chain (X.509 PEM), private key (PKCS#8 PEM), and private key password (optional) used for mutual TLS authentication of your MSK/Apache Kafka brokers.\n + ``SERVER_ROOT_CA_CERTIFICATE`` – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key containing the root CA certificate (X.509 PEM) used for TLS encryption of your Apache Kafka brokers.", + "enum" : [ "BASIC_AUTH", "VPC_SUBNET", "VPC_SECURITY_GROUP", "SASL_SCRAM_512_AUTH", "SASL_SCRAM_256_AUTH", "VIRTUAL_HOST", "CLIENT_CERTIFICATE_TLS_AUTH", "SERVER_ROOT_CA_CERTIFICATE" ], + "type" : "string" }, - "DatabaseName" : { - "minLength" : 1, - "description" : "The name of the database to consume within the DocumentDB cluster.", + "URI" : { + "description" : "The value for your chosen configuration in ``Type``. For example: ``\"URI\": \"arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName\"``.", "type" : "string", - "maxLength" : 63 + "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", + "minLength" : 1, + "maxLength" : 200 } } }, - "Endpoints" : { - "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", - "additionalProperties" : false, + "SelfManagedEventSource" : { "type" : "object", + "additionalProperties" : false, + "description" : "The self-managed Apache Kafka cluster for your event source.", "properties" : { - "KafkaBootstrapServers" : { - "minItems" : 1, - "maxItems" : 10, - "uniqueItems" : true, + "Endpoints" : { "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", - "type" : "array", - "items" : { - "minLength" : 1, - "pattern" : "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}", - "description" : "The URL of a Kafka server.", - "type" : "string", - "maxLength" : 300 - } + "$ref" : "#/definitions/Endpoints" } } }, - "DestinationConfig" : { - "description" : "A configuration object that specifies the destination of an event after Lambda processes it.", - "additionalProperties" : false, + "Endpoints" : { "type" : "object", + "additionalProperties" : false, + "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", "properties" : { - "OnFailure" : { - "description" : "The destination configuration for failed invocations.", - "$ref" : "#/definitions/OnFailure" + "KafkaBootstrapServers" : { + "type" : "array", + "description" : "The list of bootstrap servers for your Kafka brokers in the following format: ``\"KafkaBootstrapServers\": [\"abc.xyz.com:xxxx\",\"abc2.xyz.com:xxxx\"]``.", + "uniqueItems" : true, + "items" : { + "type" : "string", + "description" : "The URL of a Kafka server.", + "pattern" : "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9]):[0-9]{1,5}", + "minLength" : 1, + "maxLength" : 300 + }, + "minItems" : 1, + "maxItems" : 10 } } }, "ConsumerGroupId" : { - "minLength" : 1, - "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", "description" : "The identifier for the Kafka Consumer Group to join.", "type" : "string", + "pattern" : "[a-zA-Z0-9-\\/*:_+=.@-]*", + "minLength" : 1, "maxLength" : 200 }, - "Filter" : { - "description" : "A structure within a ``FilterCriteria`` object that defines an event filtering pattern.", - "additionalProperties" : false, + "AmazonManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", "type" : "object", + "additionalProperties" : false, "properties" : { - "Pattern" : { - "minLength" : 0, - "pattern" : ".*", - "description" : "A filter pattern. For more information on the syntax of a filter pattern, see [Filter rule syntax](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-syntax).", - "type" : "string", - "maxLength" : 4096 + "ConsumerGroupId" : { + "description" : "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", + "$ref" : "#/definitions/ConsumerGroupId" } } }, - "AmazonManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "additionalProperties" : false, + "SelfManagedKafkaEventSourceConfig" : { + "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", "type" : "object", + "additionalProperties" : false, "properties" : { "ConsumerGroupId" : { "description" : "The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. For more information, see [Customizable consumer group ID](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id).", @@ -196,216 +323,134 @@ } } }, - "Tag" : { - "description" : "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping.", + "MaximumConcurrency" : { + "description" : "The maximum number of concurrent functions that an event source can invoke.", + "type" : "integer", + "minimum" : 2, + "maximum" : 1000 + }, + "ScalingConfig" : { + "description" : "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", + "type" : "object", "additionalProperties" : false, + "properties" : { + "MaximumConcurrency" : { + "description" : "Limits the number of concurrent instances that the SQS event source can invoke.", + "$ref" : "#/definitions/MaximumConcurrency" + } + } + }, + "Tag" : { "type" : "object", + "additionalProperties" : false, "properties" : { + "Key" : { + "type" : "string", + "description" : "The key for this tag.", + "minLength" : 1, + "maxLength" : 128 + }, "Value" : { - "minLength" : 0, - "description" : "The value for this tag.", "type" : "string", + "description" : "The value for this tag.", + "minLength" : 0, "maxLength" : 256 + } + }, + "required" : [ "Key" ], + "description" : "A [tag](https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the event source mapping." + }, + "DocumentDBEventSourceConfig" : { + "description" : "Specific configuration settings for a DocumentDB event source.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "DatabaseName" : { + "description" : "The name of the database to consume within the DocumentDB cluster.", + "type" : "string", + "minLength" : 1, + "maxLength" : 63 }, - "Key" : { + "CollectionName" : { + "description" : "The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.", + "type" : "string", "minLength" : 1, - "description" : "The key for this tag.", + "maxLength" : 57 + }, + "FullDocument" : { + "description" : "Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.", "type" : "string", - "maxLength" : 128 + "enum" : [ "UpdateLookup", "Default" ] } - }, - "required" : [ "Key" ] + } }, - "OnFailure" : { - "description" : "A destination for events that failed processing.", + "ProvisionedPollerConfig" : { + "description" : "", + "type" : "object", "additionalProperties" : false, + "properties" : { + "MinimumPollers" : { + "description" : "The minimum number of event pollers this event source can scale down to.", + "type" : "integer", + "minimum" : 1, + "maximum" : 200 + }, + "MaximumPollers" : { + "description" : "The maximum number of event pollers this event source can scale up to.", + "type" : "integer", + "minimum" : 1, + "maximum" : 2000 + } + } + }, + "MetricsConfig" : { + "description" : "", "type" : "object", + "additionalProperties" : false, "properties" : { - "Destination" : { - "minLength" : 12, - "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "description" : "The Amazon Resource Name (ARN) of the destination resource.\n To retain records of [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination.\n To retain records of failed invocations from [Kinesis and DynamoDB event sources](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventsourcemapping.html#event-source-mapping-destinations), you can configure an Amazon SNS topic or Amazon SQS queue as the destination.\n To retain records of failed invocations from [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.", - "type" : "string", - "maxLength" : 1024 + "Metrics" : { + "description" : "Metric groups to enable.", + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string", + "enum" : [ "EventCount" ] + }, + "minItems" : 0, + "maxItems" : 1 } } } }, "required" : [ "FunctionName" ], - "properties" : { - "StartingPosition" : { - "minLength" : 6, - "pattern" : "(LATEST|TRIM_HORIZON|AT_TIMESTAMP)+", - "description" : "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", - "type" : "string", - "maxLength" : 12 - }, - "SelfManagedEventSource" : { - "description" : "The self-managed Apache Kafka cluster for your event source.", - "$ref" : "#/definitions/SelfManagedEventSource" - }, - "ParallelizationFactor" : { - "description" : "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1.", - "maximum" : 10, - "type" : "integer", - "minimum" : 1 - }, - "FilterCriteria" : { - "description" : "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html).", - "$ref" : "#/definitions/FilterCriteria" - }, - "FunctionName" : { - "minLength" : 1, - "pattern" : "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?", - "description" : "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* – ``MyFunction``.\n + *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* – ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.", - "type" : "string", - "maxLength" : 140 - }, - "DestinationConfig" : { - "description" : "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it.", - "$ref" : "#/definitions/DestinationConfig" - }, - "KmsKeyArn" : { - "minLength" : 12, - "pattern" : "(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()", - "description" : "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics).", - "type" : "string", - "maxLength" : 2048 - }, - "AmazonManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.", - "$ref" : "#/definitions/AmazonManagedKafkaEventSourceConfig" - }, - "SourceAccessConfigurations" : { - "minItems" : 1, - "maxItems" : 22, - "uniqueItems" : true, - "description" : "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/SourceAccessConfiguration" - } - }, - "Tags" : { - "uniqueItems" : true, - "description" : "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Tag" - } - }, - "MaximumBatchingWindowInSeconds" : { - "description" : "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1.", - "maximum" : 300, - "type" : "integer", - "minimum" : 0 - }, - "BatchSize" : { - "description" : "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* – Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* – Default 100. Max 10,000.\n + *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.\n + *Self-managed Apache Kafka* – Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.\n + *DocumentDB* – Default 100. Max 10,000.", - "maximum" : 10000, - "type" : "integer", - "minimum" : 1 - }, - "MaximumRetryAttempts" : { - "description" : "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.", - "maximum" : 10000, - "type" : "integer", - "minimum" : -1 - }, - "Topics" : { - "minItems" : 1, - "maxItems" : 1, - "uniqueItems" : true, - "description" : "The name of the Kafka topic.", - "type" : "array", - "items" : { - "minLength" : 1, - "pattern" : "^[^.]([a-zA-Z0-9\\-_.]+)", - "type" : "string", - "maxLength" : 249 - } - }, - "ScalingConfig" : { - "description" : "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency).", - "$ref" : "#/definitions/ScalingConfig" - }, - "Enabled" : { - "description" : "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True", - "type" : "boolean" - }, - "EventSourceArn" : { - "minLength" : 12, - "pattern" : "arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", - "description" : "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* – The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* – The ARN of the stream.\n + *Amazon Simple Queue Service* – The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* – The ARN of the broker.\n + *Amazon DocumentDB* – The ARN of the DocumentDB change stream.", - "type" : "string", - "maxLength" : 1024 - }, - "SelfManagedKafkaEventSourceConfig" : { - "description" : "Specific configuration settings for a self-managed Apache Kafka event source.", - "$ref" : "#/definitions/SelfManagedKafkaEventSourceConfig" - }, - "DocumentDBEventSourceConfig" : { - "description" : "Specific configuration settings for a DocumentDB event source.", - "$ref" : "#/definitions/DocumentDBEventSourceConfig" - }, - "TumblingWindowInSeconds" : { - "description" : "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window.", - "maximum" : 900, - "type" : "integer", - "minimum" : 0 - }, - "BisectBatchOnFunctionError" : { - "description" : "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false.", - "type" : "boolean" - }, - "EventSourceMappingArn" : { - "minLength" : 85, - "pattern" : "arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:\\d{12}:event-source-mapping:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}", - "description" : "", - "type" : "string", - "maxLength" : 120 - }, - "MaximumRecordAgeInSeconds" : { - "description" : "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed", - "maximum" : 604800, - "type" : "integer", - "minimum" : -1 + "createOnlyProperties" : [ "/properties/EventSourceArn", "/properties/StartingPosition", "/properties/StartingPositionTimestamp", "/properties/SelfManagedEventSource", "/properties/AmazonManagedKafkaEventSourceConfig", "/properties/SelfManagedKafkaEventSourceConfig" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/EventSourceMappingArn" ], + "primaryIdentifier" : [ "/properties/Id" ], + "propertyTransform" : { + "/properties/StartingPositionTimestamp" : "StartingPositionTimestamp * 1000" + }, + "handlers" : { + "create" : { + "permissions" : [ "lambda:CreateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] }, - "StartingPositionTimestamp" : { - "description" : "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", - "type" : "number" + "delete" : { + "permissions" : [ "lambda:DeleteEventSourceMapping", "lambda:GetEventSourceMapping", "kms:Decrypt" ] }, - "Queues" : { - "minItems" : 1, - "maxItems" : 1, - "uniqueItems" : true, - "description" : "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume.", - "type" : "array", - "items" : { - "minLength" : 1, - "pattern" : "[\\s\\S]*", - "type" : "string", - "maxLength" : 1000 - } + "list" : { + "permissions" : [ "lambda:ListEventSourceMappings" ] }, - "Id" : { - "minLength" : 36, - "pattern" : "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", - "description" : "", - "type" : "string", - "maxLength" : 36 + "read" : { + "permissions" : [ "lambda:GetEventSourceMapping", "lambda:ListTags", "kms:Decrypt" ] }, - "FunctionResponseTypes" : { - "uniqueItems" : true, - "minLength" : 0, - "description" : "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``", - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "ReportBatchItemFailures" ] - }, - "maxLength" : 1 + "update" : { + "permissions" : [ "lambda:UpdateEventSourceMapping", "lambda:GetEventSourceMapping", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-m2-deployment.json b/aws-cloudformation-schema/aws-m2-deployment.json new file mode 100644 index 0000000000..ec13ef55f3 --- /dev/null +++ b/aws-cloudformation-schema/aws-m2-deployment.json @@ -0,0 +1,69 @@ +{ + "typeName" : "AWS::M2::Deployment", + "description" : "Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-m2.git", + "properties" : { + "EnvironmentId" : { + "type" : "string", + "description" : "The environment ID.", + "pattern" : "^\\S{1,80}$" + }, + "ApplicationId" : { + "type" : "string", + "description" : "The application ID.", + "pattern" : "^\\S{1,80}$" + }, + "ApplicationVersion" : { + "type" : "integer", + "description" : "The version number of the application to deploy" + }, + "DeploymentId" : { + "type" : "string", + "description" : "The deployment ID.", + "pattern" : "^\\S{1,80}$" + }, + "Status" : { + "type" : "string", + "description" : "The status of the deployment." + } + }, + "additionalProperties" : false, + "required" : [ "EnvironmentId", "ApplicationId", "ApplicationVersion" ], + "readOnlyProperties" : [ "/properties/DeploymentId", "/properties/Status" ], + "createOnlyProperties" : [ "/properties/EnvironmentId", "/properties/ApplicationId" ], + "primaryIdentifier" : [ "/properties/ApplicationId" ], + "handlers" : { + "create" : { + "permissions" : [ "m2:CreateDeployment", "m2:ListDeployments", "m2:GetDeployment", "iam:PassRole", "ec2:DescribeNetworkInterfaces", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:AddTags", "elasticloadbalancing:RegisterTargets", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups", "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:CreateLogGroup", "logs:PutResourcePolicy" ], + "timeoutInMinutes" : 60 + }, + "read" : { + "permissions" : [ "m2:ListDeployments", "m2:GetDeployment" ] + }, + "update" : { + "permissions" : [ "m2:CreateDeployment", "m2:ListDeployments", "m2:GetDeployment", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:AddTags", "elasticloadbalancing:RegisterTargets", "ec2:DescribeNetworkInterfaces" ], + "timeoutInMinutes" : 60 + }, + "delete" : { + "permissions" : [ "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:DeleteLoadBalancer", "logs:DeleteLogDelivery", "m2:ListDeployments", "m2:GetDeployment", "m2:DeleteApplicationFromEnvironment" ], + "timeoutInMinutes" : 60 + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ApplicationId" : { + "$ref" : "resource-schema.json#/properties/ApplicationId" + } + }, + "required" : [ "ApplicationId" ] + }, + "permissions" : [ "m2:ListDeployments" ] + } + }, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-opensearchserverless-securityconfig.json b/aws-cloudformation-schema/aws-opensearchserverless-securityconfig.json index 7546a1aaaf..025cfd282d 100644 --- a/aws-cloudformation-schema/aws-opensearchserverless-securityconfig.json +++ b/aws-cloudformation-schema/aws-opensearchserverless-securityconfig.json @@ -45,7 +45,51 @@ "SecurityConfigType" : { "type" : "string", "description" : "Config type for security config", - "enum" : [ "saml" ] + "enum" : [ "saml", "iamidentitycenter" ] + }, + "IamIdentityCenterInstanceArn" : { + "type" : "string", + "description" : "The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless" + }, + "IamIdentityCenterApplicationArn" : { + "type" : "string", + "description" : "The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "IamIdentityCenterUserAttribute" : { + "type" : "string", + "description" : "User attribute for this IAM Identity Center integration" + }, + "IamIdentityCenterGroupAttribute" : { + "type" : "string", + "description" : "Group attribute for this IAM Identity Center integration" + }, + "IamIdentityCenterConfigOptions" : { + "type" : "object", + "description" : "Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map", + "properties" : { + "InstanceArn" : { + "$ref" : "#/definitions/IamIdentityCenterInstanceArn" + }, + "ApplicationArn" : { + "$ref" : "#/definitions/IamIdentityCenterApplicationArn" + }, + "ApplicationName" : { + "type" : "string", + "description" : "The name of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "ApplicationDescription" : { + "type" : "string", + "description" : "The description of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "UserAttribute" : { + "$ref" : "#/definitions/IamIdentityCenterUserAttribute" + }, + "GroupAttribute" : { + "$ref" : "#/definitions/IamIdentityCenterGroupAttribute" + } + }, + "required" : [ "InstanceArn" ], + "additionalProperties" : false } }, "properties" : { @@ -71,18 +115,21 @@ "SamlOptions" : { "$ref" : "#/definitions/SamlConfigOptions" }, + "IamIdentityCenterOptions" : { + "$ref" : "#/definitions/IamIdentityCenterConfigOptions" + }, "Type" : { "$ref" : "#/definitions/SecurityConfigType" } }, - "readOnlyProperties" : [ "/properties/Id" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/IamIdentityCenterOptions/ApplicationArn", "/properties/IamIdentityCenterOptions/ApplicationName", "/properties/IamIdentityCenterOptions/ApplicationDescription" ], "writeOnlyProperties" : [ "/properties/Name" ], - "createOnlyProperties" : [ "/properties/Type", "/properties/Name" ], + "createOnlyProperties" : [ "/properties/Type", "/properties/Name", "/properties/IamIdentityCenterOptions/InstanceArn" ], "primaryIdentifier" : [ "/properties/Id" ], "additionalIdentifiers" : [ [ "/properties/Name" ] ], "handlers" : { "create" : { - "permissions" : [ "aoss:CreateSecurityConfig" ] + "permissions" : [ "aoss:CreateSecurityConfig", "sso:CreateApplication", "sso:ListApplications", "sso:DeleteApplication", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant" ] }, "read" : { "permissions" : [ "aoss:GetSecurityConfig" ] @@ -91,7 +138,7 @@ "permissions" : [ "aoss:GetSecurityConfig", "aoss:UpdateSecurityConfig" ] }, "delete" : { - "permissions" : [ "aoss:DeleteSecurityConfig" ] + "permissions" : [ "aoss:DeleteSecurityConfig", "sso:ListApplicationAssignments", "sso:DeleteApplicationAssignment", "sso:DeleteApplication" ] }, "list" : { "handlerSchema" : { diff --git a/aws-cloudformation-schema/aws-rbin-rule.json b/aws-cloudformation-schema/aws-rbin-rule.json index 50e25bf0c6..7876b9141c 100644 --- a/aws-cloudformation-schema/aws-rbin-rule.json +++ b/aws-cloudformation-schema/aws-rbin-rule.json @@ -107,6 +107,16 @@ "$ref" : "#/definitions/ResourceTag" } }, + "ExcludeResourceTags" : { + "description" : "Information about the exclude resource tags used to identify resources that are excluded by the retention rule.", + "type" : "array", + "maxItems" : 5, + "insertionOrder" : false, + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/ResourceTag" + } + }, "ResourceType" : { "description" : "The resource type retained by the retention rule.", "type" : "string", @@ -170,6 +180,9 @@ "ResourceTags" : { "$ref" : "resource-schema.json#/properties/ResourceTags" }, + "ExcludeResourceTags" : { + "$ref" : "resource-schema.json#/properties/ExcludeResourceTags" + }, "ResourceType" : { "$ref" : "resource-schema.json#/properties/ResourceType" } diff --git a/aws-cloudformation-schema/aws-rds-globalcluster.json b/aws-cloudformation-schema/aws-rds-globalcluster.json index 40dfb1e312..e4bd60790c 100644 --- a/aws-cloudformation-schema/aws-rds-globalcluster.json +++ b/aws-cloudformation-schema/aws-rds-globalcluster.json @@ -49,6 +49,9 @@ "StorageEncrypted" : { "description" : " The storage encryption setting for the new global database cluster.\nIf you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster.", "type" : "boolean" + }, + "GlobalEndpoint" : { + "$ref" : "#/definitions/GlobalEndpoint" } }, "definitions" : { @@ -71,6 +74,16 @@ } }, "required" : [ "Key" ] + }, + "GlobalEndpoint" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Address" : { + "description" : "The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster.", + "type" : "string" + } + } } }, "oneOf" : [ { diff --git a/aws-cloudformation-schema/aws-route53recoverycontrol-cluster.json b/aws-cloudformation-schema/aws-route53recoverycontrol-cluster.json index 1bdcb053d1..bf440f87c2 100644 --- a/aws-cloudformation-schema/aws-route53recoverycontrol-cluster.json +++ b/aws-cloudformation-schema/aws-route53recoverycontrol-cluster.json @@ -76,7 +76,6 @@ "required" : [ "Name" ], "additionalProperties" : false, "createOnlyProperties" : [ "/properties/Name", "/properties/Tags" ], - "writeOnlyProperties" : [ "/properties/Tags" ], "readOnlyProperties" : [ "/properties/ClusterArn", "/properties/ClusterEndpoints", "/properties/Status" ], "primaryIdentifier" : [ "/properties/ClusterArn" ], "handlers" : { @@ -98,6 +97,7 @@ "tagOnCreate" : true, "tagUpdatable" : false, "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "permissions" : [ "route53-recovery-control-config:TagResource", "route53-recovery-control-config:UntagResource", "route53-recovery-control-config:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-route53recoverycontrol-controlpanel.json b/aws-cloudformation-schema/aws-route53recoverycontrol-controlpanel.json index 82ebffee1d..161dd556dd 100644 --- a/aws-cloudformation-schema/aws-route53recoverycontrol-controlpanel.json +++ b/aws-cloudformation-schema/aws-route53recoverycontrol-controlpanel.json @@ -63,7 +63,6 @@ "required" : [ "Name" ], "additionalProperties" : false, "createOnlyProperties" : [ "/properties/ClusterArn", "/properties/Tags" ], - "writeOnlyProperties" : [ "/properties/Tags" ], "primaryIdentifier" : [ "/properties/ControlPanelArn" ], "readOnlyProperties" : [ "/properties/ControlPanelArn", "/properties/Status", "/properties/RoutingControlCount", "/properties/DefaultControlPanel" ], "handlers" : { @@ -88,6 +87,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "permissions" : [ "route53-recovery-control-config:TagResource", "route53-recovery-control-config:UntagResource", "route53-recovery-control-config:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-route53recoverycontrol-safetyrule.json b/aws-cloudformation-schema/aws-route53recoverycontrol-safetyrule.json index a71ac798f5..fe04f84d92 100644 --- a/aws-cloudformation-schema/aws-route53recoverycontrol-safetyrule.json +++ b/aws-cloudformation-schema/aws-route53recoverycontrol-safetyrule.json @@ -140,7 +140,6 @@ "required" : [ ], "additionalProperties" : false, "conditionalCreateOnlyProperties" : [ "/properties/ControlPanelArn", "/properties/RuleConfig", "/properties/Tags", "/properties/AssertionRule/AssertedControls", "/properties/GatingRule/GatingControls", "/properties/GatingRule/TargetControls" ], - "writeOnlyProperties" : [ "/properties/Tags" ], "readOnlyProperties" : [ "/properties/SafetyRuleArn", "/properties/Status" ], "primaryIdentifier" : [ "/properties/SafetyRuleArn" ], "handlers" : { @@ -173,6 +172,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : false + "cloudFormationSystemTags" : false, + "permissions" : [ "route53-recovery-control-config:TagResource", "route53-recovery-control-config:UntagResource", "route53-recovery-control-config:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-route53resolver-firewallrulegroup.json b/aws-cloudformation-schema/aws-route53resolver-firewallrulegroup.json index fc0f5e04cc..7e2cfde69f 100644 --- a/aws-cloudformation-schema/aws-route53resolver-firewallrulegroup.json +++ b/aws-cloudformation-schema/aws-route53resolver-firewallrulegroup.json @@ -12,6 +12,12 @@ "minLength" : 1, "maxLength" : 64 }, + "FirewallThreatProtectionId" : { + "description" : "ResourceId", + "type" : "string", + "minLength" : 1, + "maxLength" : 64 + }, "Priority" : { "description" : "Rule Priority", "type" : "integer" @@ -49,13 +55,23 @@ "minLength" : 1, "maxLength" : 16 }, + "ConfidenceThreshold" : { + "description" : "FirewallDomainRedirectionAction", + "type" : "string", + "enum" : [ "LOW", "MEDIUM", "HIGH" ] + }, + "DnsThreatProtection" : { + "description" : "FirewallDomainRedirectionAction", + "type" : "string", + "enum" : [ "DGA", "DNS_TUNNELING" ] + }, "FirewallDomainRedirectionAction" : { "description" : "FirewallDomainRedirectionAction", "type" : "string", "enum" : [ "INSPECT_REDIRECTION_DOMAIN", "TRUST_REDIRECTION_DOMAIN" ] } }, - "required" : [ "FirewallDomainListId", "Priority", "Action" ], + "required" : [ "Priority", "Action" ], "additionalProperties" : false }, "Tag" : { @@ -169,7 +185,7 @@ "permissions" : [ "route53resolver:TagResource", "route53resolver:UntagResource" ] }, "createOnlyProperties" : [ "/properties/Name" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/RuleCount", "/properties/Status", "/properties/StatusMessage", "/properties/OwnerId", "/properties/ShareStatus", "/properties/CreatorRequestId", "/properties/CreationTime", "/properties/ModificationTime" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/RuleCount", "/properties/Status", "/properties/StatusMessage", "/properties/OwnerId", "/properties/ShareStatus", "/properties/CreatorRequestId", "/properties/CreationTime", "/properties/ModificationTime", "/properties/FirewallRules/*/FirewallThreatProtectionId" ], "primaryIdentifier" : [ "/properties/Id" ], "additionalProperties" : false, "handlers" : { diff --git a/aws-cloudformation-schema/aws-s3express-directorybucket.json b/aws-cloudformation-schema/aws-s3express-directorybucket.json index 44c0fb463e..9898ad586d 100644 --- a/aws-cloudformation-schema/aws-s3express-directorybucket.json +++ b/aws-cloudformation-schema/aws-s3express-directorybucket.json @@ -30,6 +30,10 @@ }, "BucketEncryption" : { "$ref" : "#/definitions/BucketEncryption" + }, + "LifecycleConfiguration" : { + "$ref" : "#/definitions/LifecycleConfiguration", + "description" : "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime." } }, "definitions" : { @@ -94,6 +98,70 @@ }, "additionalProperties" : false, "required" : [ "SSEAlgorithm" ] + }, + "LifecycleConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Rules" : { + "description" : "A lifecycle rule for individual objects in an Amazon S3 Express bucket.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Rule" + } + } + }, + "required" : [ "Rules" ] + }, + "Rule" : { + "type" : "object", + "description" : "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays.", + "additionalProperties" : false, + "properties" : { + "AbortIncompleteMultipartUpload" : { + "$ref" : "#/definitions/AbortIncompleteMultipartUpload" + }, + "ExpirationInDays" : { + "type" : "integer" + }, + "Id" : { + "type" : "string", + "maxLength" : 255 + }, + "Prefix" : { + "type" : "string" + }, + "Status" : { + "type" : "string", + "enum" : [ "Enabled", "Disabled" ] + }, + "ObjectSizeGreaterThan" : { + "type" : "string", + "maxLength" : 20, + "pattern" : "[0-9]+" + }, + "ObjectSizeLessThan" : { + "type" : "string", + "maxLength" : 20, + "pattern" : "[0-9]+" + } + }, + "required" : [ "Status" ] + }, + "AbortIncompleteMultipartUpload" : { + "description" : "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "DaysAfterInitiation" : { + "description" : "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "DaysAfterInitiation" ] } }, "createOnlyProperties" : [ "/properties/BucketName", "/properties/LocationName", "/properties/DataRedundancy" ], @@ -108,13 +176,13 @@ "required" : [ "LocationName", "DataRedundancy" ], "handlers" : { "create" : { - "permissions" : [ "kms:GenerateDataKey", "kms:Decrypt", "s3express:CreateBucket", "s3express:ListAllMyDirectoryBuckets", "s3express:PutEncryptionConfiguration" ] + "permissions" : [ "kms:GenerateDataKey", "kms:Decrypt", "s3express:CreateBucket", "s3express:ListAllMyDirectoryBuckets", "s3express:PutEncryptionConfiguration", "s3express:PutLifecycleConfiguration" ] }, "read" : { - "permissions" : [ "s3express:ListAllMyDirectoryBuckets", "ec2:DescribeAvailabilityZones", "s3express:GetEncryptionConfiguration", "s3express:ListAllMyDirectoryBuckets" ] + "permissions" : [ "s3express:ListAllMyDirectoryBuckets", "ec2:DescribeAvailabilityZones", "s3express:GetEncryptionConfiguration", "s3express:GetLifecycleConfiguration" ] }, "update" : { - "permissions" : [ "kms:GenerateDataKey", "kms:Decrypt", "s3express:PutEncryptionConfiguration" ] + "permissions" : [ "kms:GenerateDataKey", "kms:Decrypt", "s3express:PutEncryptionConfiguration", "s3express:PutLifecycleConfiguration" ] }, "delete" : { "permissions" : [ "s3express:DeleteBucket", "s3express:ListAllMyDirectoryBuckets" ] diff --git a/aws-cloudformation-schema/aws-sagemaker-cluster.json b/aws-cloudformation-schema/aws-sagemaker-cluster.json index e412510f15..5d3e42282c 100644 --- a/aws-cloudformation-schema/aws-sagemaker-cluster.json +++ b/aws-cloudformation-schema/aws-sagemaker-cluster.json @@ -1,168 +1,186 @@ { - "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}$" + "tagging" : { + "permissions" : [ "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ], + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : false + }, + "handlers" : { + "read" : { + "permissions" : [ "sagemaker:DescribeCluster", "sagemaker:ListTags" ] }, - "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}$" + "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 }, - "ClusterStatus" : { - "type" : "string", - "description" : "The status of the HyperPod Cluster.", - "enum" : [ "Creating", "Deleting", "Failed", "InService", "RollingBack", "SystemUpdating", "Updating" ] + "update" : { + "permissions" : [ "sagemaker:UpdateCluster", "sagemaker:DescribeCluster", "sagemaker:ListTags", "sagemaker:AddTags", "sagemaker:DeleteTags", "eks:DescribeAccessEntry", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DeleteAccessEntry", "iam:PassRole" ], + "timeoutInMinutes" : 720 }, - "CreationTime" : { - "description" : "The time at which the HyperPod cluster was created.", - "type" : "string" + "list" : { + "permissions" : [ "sagemaker:ListClusters" ] }, - "FailureMessage" : { + "delete" : { + "permissions" : [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry" ], + "timeoutInMinutes" : 720 + } + }, + "typeName" : "AWS::SageMaker::Cluster", + "readOnlyProperties" : [ "/properties/ClusterArn", "/properties/CreationTime", "/properties/ClusterStatus", "/properties/FailureMessage", "/properties/InstanceGroups/*/CurrentCount" ], + "description" : "Resource Type definition for AWS::SageMaker::Cluster", + "additionalIdentifiers" : [ [ "/properties/ClusterName" ] ], + "createOnlyProperties" : [ "/properties/ClusterName", "/properties/VpcConfig", "/properties/Orchestrator", "/properties/InstanceGroups/*/OverrideVpcConfig", "/properties/InstanceGroups/*/ExecutionRole", "/properties/InstanceGroups/*/InstanceGroupName", "/properties/InstanceGroups/*/InstanceType", "/properties/InstanceGroups/*/ThreadsPerCore" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/ClusterArn" ], + "definitions" : { + "ClusterOrchestratorEksConfig" : { + "description" : "Specifies parameter(s) related to EKS as orchestrator, e.g. the EKS cluster nodes will attach to,", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "ClusterArn" : { + "description" : "The ARN of the EKS cluster, such as arn:aws:eks:us-west-2:123456789012:cluster/my-eks-cluster", + "type" : "string" + } + }, + "required" : [ "ClusterArn" ] + }, + "DeepHealthCheckType" : { + "description" : "The type of deep health check(s) to be performed on the instances in the SageMaker HyperPod cluster instance group.", "type" : "string", - "description" : "The failure message of the HyperPod Cluster." + "enum" : [ "InstanceStress", "InstanceConnectivity" ] }, - "InstanceGroups" : { - "$ref" : "#/definitions/ClusterInstanceGroupsList" + "ClusterInstanceStorageConfig" : { + "oneOf" : [ { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "EbsVolumeConfig" : { + "$ref" : "#/definitions/ClusterEbsVolumeConfig" + } + } + } ], + "description" : "Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.", + "type" : "object" }, "VpcConfig" : { - "$ref" : "#/definitions/VpcConfig" - }, - "Orchestrator" : { - "$ref" : "#/definitions/Orchestrator" + "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.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Subnets" : { + "minItems" : 1, + "maxItems" : 16, + "description" : "The ID of the subnets in the VPC to which you want to connect your training job or model.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "pattern" : "[-0-9a-zA-Z]+", + "type" : "string", + "maxLength" : 32 + } + }, + "SecurityGroupIds" : { + "minItems" : 1, + "maxItems" : 5, + "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.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "pattern" : "[-0-9a-zA-Z]+", + "type" : "string", + "maxLength" : 32 + } + } + }, + "required" : [ "SecurityGroupIds", "Subnets" ] }, - "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.", + "InstanceGroupName" : { + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9](-*[a-zA-Z0-9])*$", + "description" : "The name of the instance group of a SageMaker HyperPod cluster.", "type" : "string", - "enum" : [ "Automatic", "None" ] + "maxLength" : 63 }, - "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, + "description" : "The instance groups of the SageMaker HyperPod cluster.", "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])*$" + "Orchestrator" : { + "description" : "Specifies parameter(s) specific to the orchestrator, e.g. specify the EKS cluster.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Eks" : { + "$ref" : "#/definitions/ClusterOrchestratorEksConfig" + } + }, + "required" : [ "Eks" ] }, "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, + "type" : "object", "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 + "maximum" : 16384, + "type" : "integer", + "minimum" : 1 } } }, - "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, + "type" : "object", "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" : { + "pattern" : "^(https|s3)://([^/]+)/?(.*)$", "description" : "An Amazon S3 bucket path where your lifecycle scripts are stored.", "type" : "string", - "maxLength" : 1024, - "pattern" : "^(https|s3)://([^/]+)/?(.*)$" + "maxLength" : 1024 + }, + "OnCreate" : { + "minLength" : 1, + "pattern" : "^[\\S\\s]+$", + "description" : "The file name of the entrypoint script of lifecycle scripts under SourceS3Uri. This entrypoint script runs during cluster creation.", + "type" : "string", + "maxLength" : 128 } }, "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, + "type" : "array", "items" : { "$ref" : "#/definitions/DeepHealthCheckType" } }, "ClusterInstanceGroup" : { "description" : "Details of an instance group in a SageMaker HyperPod cluster.", - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { - "CurrentCount" : { + "OverrideVpcConfig" : { + "$ref" : "#/definitions/VpcConfig" + }, + "InstanceCount" : { + "description" : "The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.", "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" + "OnStartDeepHealthChecks" : { + "$ref" : "#/definitions/OnStartDeepHealthChecks" }, "InstanceGroupName" : { "$ref" : "#/definitions/InstanceGroupName" @@ -170,141 +188,126 @@ "InstanceStorageConfigs" : { "$ref" : "#/definitions/ClusterInstanceStorageConfigs" }, - "InstanceType" : { - "$ref" : "#/definitions/InstanceType" + "CurrentCount" : { + "description" : "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.", + "type" : "integer", + "minimum" : 0 }, "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" : 0 + "InstanceType" : { + "$ref" : "#/definitions/InstanceType" }, "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 + "maximum" : 2, + "type" : "integer", + "minimum" : 1 }, - "OnStartDeepHealthChecks" : { - "$ref" : "#/definitions/OnStartDeepHealthChecks" + "ExecutionRole" : { + "$ref" : "#/definitions/ExecutionRole" }, - "OverrideVpcConfig" : { - "$ref" : "#/definitions/VpcConfig" + "CustomMetadata" : { + "$ref" : "#/definitions/CustomMetadata" } }, "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" ] + "ClusterInstanceStorageConfigs" : { + "maxItems" : 1, + "description" : "The instance storage configuration for the instance group.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ClusterInstanceStorageConfig" + } }, "Tag" : { "description" : "A key-value pair to associate with a resource.", + "additionalProperties" : false, "type" : "object", "properties" : { - "Key" : { + "Value" : { + "minLength" : 0, + "pattern" : "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "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", - "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}_.:/=+\\-@]*)$" + "maxLength" : 256 }, - "Value" : { + "Key" : { + "minLength" : 1, + "pattern" : "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$", + "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", - "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}_.:/=+\\-@]*)$" + "maxLength" : 128 } }, - "required" : [ "Key", "Value" ], - "additionalProperties" : false + "required" : [ "Key", "Value" ] + }, + "InstanceType" : { + "description" : "The instance type of the instance group of a SageMaker HyperPod cluster.", + "type" : "string" + }, + "ExecutionRole" : { + "minLength" : 20, + "pattern" : "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$", + "description" : "The execution role for the instance group to assume.", + "type" : "string", + "maxLength" : 2048 } }, "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/*/OverrideVpcConfig", "/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 + "properties" : { + "ClusterArn" : { + "pattern" : "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12}$", + "description" : "The Amazon Resource Name (ARN) of the HyperPod Cluster.", + "type" : "string", + "maxLength" : 256 }, - "read" : { - "permissions" : [ "sagemaker:DescribeCluster", "sagemaker:ListTags" ] + "VpcConfig" : { + "$ref" : "#/definitions/VpcConfig" }, - "update" : { - "permissions" : [ "sagemaker:UpdateCluster", "sagemaker:DescribeCluster", "sagemaker:ListTags", "sagemaker:AddTags", "sagemaker:DeleteTags", "eks:DescribeAccessEntry", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DeleteAccessEntry", "iam:PassRole" ], - "timeoutInMinutes" : 720 + "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" ] }, - "delete" : { - "permissions" : [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry" ], - "timeoutInMinutes" : 720 + "CreationTime" : { + "description" : "The time at which the HyperPod cluster was created.", + "type" : "string" }, - "list" : { - "permissions" : [ "sagemaker:ListClusters" ] + "InstanceGroups" : { + "$ref" : "#/definitions/ClusterInstanceGroupsList" + }, + "ClusterName" : { + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$", + "description" : "The name of the HyperPod Cluster.", + "type" : "string", + "maxLength" : 63 + }, + "FailureMessage" : { + "description" : "The failure message of the HyperPod Cluster.", + "type" : "string" + }, + "Orchestrator" : { + "$ref" : "#/definitions/Orchestrator" + }, + "ClusterStatus" : { + "description" : "The status of the HyperPod Cluster.", + "type" : "string", + "enum" : [ "Creating", "Deleting", "Failed", "InService", "RollingBack", "SystemUpdating", "Updating" ] + }, + "Tags" : { + "maxItems" : 50, + "uniqueItems" : true, + "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.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } } } } \ 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 84265cff72..72ef9ce8db 100644 --- a/aws-cloudformation-schema/aws-sagemaker-domain.json +++ b/aws-cloudformation-schema/aws-sagemaker-domain.json @@ -775,7 +775,7 @@ }, "MlTools" : { "type" : "string", - "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects", "InferenceOptimization" ] + "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects", "InferenceOptimization", "HyperPodClusters", "Comet", "DeepchecksLLMEvaluation", "Fiddler", "LakeraGuard" ] }, "AppType" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sagemaker-modelpackage.json b/aws-cloudformation-schema/aws-sagemaker-modelpackage.json index 415929aec4..e41aae1e60 100644 --- a/aws-cloudformation-schema/aws-sagemaker-modelpackage.json +++ b/aws-cloudformation-schema/aws-sagemaker-modelpackage.json @@ -781,7 +781,7 @@ "ModelPackageArn" : { "type" : "string", "description" : "The Amazon Resource Name (ARN) of the model package group.", - "pattern" : "^arn:aws(-cn|-us-gov)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$", + "pattern" : "^arn:aws(-cn|-us-gov|-iso-f)?:sagemaker:[a-z0-9\\-]{9,16}:[0-9]{12}:model-package/[\\S]{1,2048}$", "minLength" : 1, "maxLength" : 2048 }, @@ -1045,7 +1045,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : false, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ] }, "readOnlyProperties" : [ "/properties/ModelPackageArn", "/properties/CreationTime", "/properties/ModelPackageStatus" ], "createOnlyProperties" : [ "/properties/ModelPackageGroupName", "/properties/ModelPackageDescription", "/properties/InferenceSpecification", "/properties/ValidationSpecification", "/properties/SourceAlgorithmSpecification", "/properties/MetadataProperties", "/properties/ModelMetrics", "/properties/ClientToken", "/properties/DriftCheckBaselines", "/properties/Domain", "/properties/Task", "/properties/SamplePayloadUrl", "/properties/SecurityConfig" ], diff --git a/aws-cloudformation-schema/aws-sagemaker-modelpackagegroup.json b/aws-cloudformation-schema/aws-sagemaker-modelpackagegroup.json index fdf700acd3..cb79206af7 100644 --- a/aws-cloudformation-schema/aws-sagemaker-modelpackagegroup.json +++ b/aws-cloudformation-schema/aws-sagemaker-modelpackagegroup.json @@ -77,6 +77,14 @@ }, "required" : [ "ModelPackageGroupName" ], "primaryIdentifier" : [ "/properties/ModelPackageGroupArn" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ] + }, "readOnlyProperties" : [ "/properties/ModelPackageGroupArn", "/properties/CreationTime", "/properties/ModelPackageGroupStatus" ], "createOnlyProperties" : [ "/properties/ModelPackageGroupName", "/properties/ModelPackageGroupDescription" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-sagemaker-project.json b/aws-cloudformation-schema/aws-sagemaker-project.json index 945f39ba37..e8ce01eab6 100644 --- a/aws-cloudformation-schema/aws-sagemaker-project.json +++ b/aws-cloudformation-schema/aws-sagemaker-project.json @@ -163,6 +163,14 @@ }, "additionalProperties" : false, "required" : [ "ProjectName", "ServiceCatalogProvisioningDetails" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ] + }, "readOnlyProperties" : [ "/properties/ProjectArn", "/properties/CreationTime", "/properties/ProjectId", "/properties/ProjectStatus" ], "createOnlyProperties" : [ "/properties/ProjectName", "/properties/ProjectDescription", "/properties/ServiceCatalogProvisioningDetails", "/properties/Tags" ], "primaryIdentifier" : [ "/properties/ProjectArn" ], diff --git a/aws-cloudformation-schema/aws-sagemaker-userprofile.json b/aws-cloudformation-schema/aws-sagemaker-userprofile.json index 9f7c1fef5c..5195aac6b9 100644 --- a/aws-cloudformation-schema/aws-sagemaker-userprofile.json +++ b/aws-cloudformation-schema/aws-sagemaker-userprofile.json @@ -541,7 +541,7 @@ }, "MlTools" : { "type" : "string", - "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects", "InferenceOptimization" ] + "enum" : [ "DataWrangler", "FeatureStore", "EmrClusters", "AutoMl", "Experiments", "Training", "ModelEvaluation", "Pipelines", "Models", "JumpStart", "InferenceRecommender", "Endpoints", "Projects", "InferenceOptimization", "HyperPodClusters", "Comet", "DeepchecksLLMEvaluation", "Fiddler", "LakeraGuard" ] }, "AppType" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-synthetics-canary.json b/aws-cloudformation-schema/aws-synthetics-canary.json index 6b1245eef2..3b7a99ef78 100644 --- a/aws-cloudformation-schema/aws-synthetics-canary.json +++ b/aws-cloudformation-schema/aws-synthetics-canary.json @@ -83,6 +83,11 @@ "items" : { "$ref" : "#/definitions/ResourceToTag" } + }, + "ProvisionedResourceCleanup" : { + "description" : "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC.", + "type" : "string", + "enum" : [ "AUTOMATIC", "OFF" ] } }, "definitions" : { @@ -271,16 +276,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "synthetics:CreateCanary", "synthetics:StartCanary", "synthetics:GetCanary", "synthetics:TagResource", "s3:CreateBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:PutBucketEncryption", "s3:PutEncryptionConfiguration", "s3:GetBucketLocation", "lambda:CreateFunction", "lambda:AddPermission", "lambda:PublishVersion", "lambda:UpdateFunctionConfiguration", "lambda:GetFunctionConfiguration", "lambda:GetLayerVersionByArn", "lambda:GetLayerVersion", "lambda:PublishLayerVersion", "lambda:TagResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "iam:PassRole" ] + "permissions" : [ "synthetics:CreateCanary", "synthetics:StartCanary", "synthetics:GetCanary", "synthetics:TagResource", "s3:CreateBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:PutBucketEncryption", "s3:PutEncryptionConfiguration", "s3:GetBucketLocation", "lambda:CreateFunction", "lambda:AddPermission", "lambda:PublishVersion", "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:GetFunctionConfiguration", "lambda:GetLayerVersionByArn", "lambda:GetLayerVersion", "lambda:PublishLayerVersion", "lambda:TagResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "iam:PassRole" ] }, "update" : { - "permissions" : [ "synthetics:UpdateCanary", "synthetics:StartCanary", "synthetics:StopCanary", "synthetics:GetCanary", "synthetics:TagResource", "synthetics:UntagResource", "s3:GetObject", "s3:GetObjectVersion", "s3:PutBucketEncryption", "s3:PutEncryptionConfiguration", "s3:GetBucketLocation", "lambda:AddPermission", "lambda:PublishVersion", "lambda:UpdateFunctionConfiguration", "lambda:GetFunctionConfiguration", "lambda:GetLayerVersionByArn", "lambda:GetLayerVersion", "lambda:PublishLayerVersion", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "iam:PassRole" ] + "permissions" : [ "synthetics:UpdateCanary", "synthetics:StartCanary", "synthetics:StopCanary", "synthetics:GetCanary", "synthetics:TagResource", "synthetics:UntagResource", "s3:GetObject", "s3:GetObjectVersion", "s3:PutBucketEncryption", "s3:PutEncryptionConfiguration", "s3:GetBucketLocation", "lambda:AddPermission", "lambda:PublishVersion", "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:GetFunctionConfiguration", "lambda:GetLayerVersionByArn", "lambda:GetLayerVersion", "lambda:PublishLayerVersion", "lambda:ListTags", "lambda:TagResource", "lambda:UntagResource", "iam:PassRole" ] }, "read" : { "permissions" : [ "synthetics:GetCanary", "synthetics:DescribeCanaries", "synthetics:ListTagsForResource", "iam:ListRoles", "s3:ListAllMyBuckets", "s3:GetBucketLocation" ] }, "delete" : { - "permissions" : [ "synthetics:DeleteCanary", "synthetics:GetCanary" ] + "permissions" : [ "synthetics:DeleteCanary", "synthetics:GetCanary", "lambda:DeleteFunction", "lambda:DeleteLayerVersion" ] }, "list" : { "permissions" : [ "synthetics:DescribeCanaries" ] diff --git a/aws-cloudformation-schema/aws-workspacesweb-dataprotectionsettings.json b/aws-cloudformation-schema/aws-workspacesweb-dataprotectionsettings.json new file mode 100644 index 0000000000..b4a69e3eb4 --- /dev/null +++ b/aws-cloudformation-schema/aws-workspacesweb-dataprotectionsettings.json @@ -0,0 +1,250 @@ +{ + "typeName" : "AWS::WorkSpacesWeb::DataProtectionSettings", + "description" : "Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type", + "definitions" : { + "CustomPattern" : { + "type" : "object", + "properties" : { + "PatternName" : { + "type" : "string", + "maxLength" : 20, + "minLength" : 1, + "pattern" : "^[_\\-\\d\\w]+$" + }, + "PatternRegex" : { + "type" : "string", + "maxLength" : 300, + "minLength" : 0, + "pattern" : "^\\/((?:[^\\n])+)\\/([gimsuyvd]{0,8})$" + }, + "PatternDescription" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "pattern" : "^[ _\\-\\d\\w]+$" + }, + "KeywordRegex" : { + "type" : "string", + "maxLength" : 300, + "minLength" : 0, + "pattern" : "^\\/((?:[^\\n])+)\\/([gimsuyvd]{0,8})$" + } + }, + "required" : [ "PatternName", "PatternRegex" ], + "additionalProperties" : false + }, + "EncryptionContextMap" : { + "type" : "object", + "patternProperties" : { + "^[\\s\\S]*$" : { + "type" : "string", + "maxLength" : 131072, + "minLength" : 0, + "pattern" : "^[\\s\\S]*$" + } + }, + "additionalProperties" : false + }, + "InlineRedactionConfiguration" : { + "type" : "object", + "properties" : { + "InlineRedactionPatterns" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/InlineRedactionPattern" + }, + "maxItems" : 150, + "minItems" : 0 + }, + "GlobalEnforcedUrls" : { + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$" + }, + "maxItems" : 100, + "minItems" : 1 + }, + "GlobalExemptUrls" : { + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$" + }, + "maxItems" : 100, + "minItems" : 1 + }, + "GlobalConfidenceLevel" : { + "type" : "number", + "maximum" : 3, + "minimum" : 1 + } + }, + "required" : [ "InlineRedactionPatterns" ], + "additionalProperties" : false + }, + "InlineRedactionPattern" : { + "type" : "object", + "properties" : { + "BuiltInPatternId" : { + "type" : "string", + "maxLength" : 50, + "minLength" : 1, + "pattern" : "^[_\\-\\d\\w]+$" + }, + "CustomPattern" : { + "$ref" : "#/definitions/CustomPattern" + }, + "RedactionPlaceHolder" : { + "$ref" : "#/definitions/RedactionPlaceHolder" + }, + "EnforcedUrls" : { + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$" + }, + "maxItems" : 20, + "minItems" : 1 + }, + "ExemptUrls" : { + "type" : "array", + "items" : { + "type" : "string", + "pattern" : "^((([a-zA-Z][a-zA-Z0-9+.-]*):\\/\\/(\\*|[\\w%._\\-\\+~#=@]+)?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?)|(\\*|[\\w%._\\-\\+~#=@]+\\.[\\w%._\\-\\+~#=@]+)(?::(\\d{1,5}))?(\\/[^@\\s]*)?(?:\\?([^*\\s]+(?:\\*?)))?|(([a-zA-Z][a-zA-Z0-9+.-]*):(\\/\\/)?\\*))$" + }, + "maxItems" : 20, + "minItems" : 1 + }, + "ConfidenceLevel" : { + "type" : "number", + "maximum" : 3, + "minimum" : 1 + } + }, + "required" : [ "RedactionPlaceHolder" ], + "additionalProperties" : false + }, + "RedactionPlaceHolder" : { + "type" : "object", + "properties" : { + "RedactionPlaceHolderType" : { + "$ref" : "#/definitions/RedactionPlaceHolderType" + }, + "RedactionPlaceHolderText" : { + "type" : "string", + "maxLength" : 20, + "minLength" : 1, + "pattern" : "^[*_\\-\\d\\w]+$" + } + }, + "required" : [ "RedactionPlaceHolderType" ], + "additionalProperties" : false + }, + "RedactionPlaceHolderType" : { + "type" : "string", + "enum" : [ "CustomText" ] + }, + "Tag" : { + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1, + "pattern" : "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 0, + "pattern" : "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "AdditionalEncryptionContext" : { + "$ref" : "#/definitions/EncryptionContextMap" + }, + "AssociatedPortalArns" : { + "type" : "array", + "items" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$" + } + }, + "CreationDate" : { + "type" : "string", + "format" : "date-time" + }, + "CustomerManagedKey" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$" + }, + "DataProtectionSettingsArn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$" + }, + "Description" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "pattern" : "^[ _\\-\\d\\w]+$" + }, + "DisplayName" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[ _\\-\\d\\w]+$" + }, + "InlineRedactionConfiguration" : { + "$ref" : "#/definitions/InlineRedactionConfiguration" + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 200, + "minItems" : 0 + } + }, + "readOnlyProperties" : [ "/properties/AssociatedPortalArns", "/properties/CreationDate", "/properties/DataProtectionSettingsArn" ], + "createOnlyProperties" : [ "/properties/AdditionalEncryptionContext", "/properties/CustomerManagedKey" ], + "primaryIdentifier" : [ "/properties/DataProtectionSettingsArn" ], + "handlers" : { + "create" : { + "permissions" : [ "workspaces-web:CreateDataProtectionSettings", "workspaces-web:GetDataProtectionSettings", "workspaces-web:ListDataProtectionSettings", "workspaces-web:ListTagsForResource", "workspaces-web:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptTo", "kms:ReEncryptFrom" ] + }, + "read" : { + "permissions" : [ "workspaces-web:GetDataProtectionSettings", "workspaces-web:ListDataProtectionSettings", "workspaces-web:ListTagsForResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + }, + "update" : { + "permissions" : [ "workspaces-web:UpdateDataProtectionSettings", "workspaces-web:GetDataProtectionSettings", "workspaces-web:ListDataProtectionSettings", "workspaces-web:TagResource", "workspaces-web:UntagResource", "workspaces-web:ListTagsForResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + }, + "delete" : { + "permissions" : [ "workspaces-web:GetDataProtectionSettings", "workspaces-web:ListDataProtectionSettings", "workspaces-web:DeleteDataProtectionSettings", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ] + }, + "list" : { + "permissions" : [ "workspaces-web:ListDataProtectionSettings", "kms:Decrypt", "kms:DescribeKey" ] + } + }, + "tagging" : { + "cloudFormationSystemTags" : false, + "tagOnCreate" : true, + "tagProperty" : "/properties/Tags", + "tagUpdatable" : true, + "taggable" : true, + "permissions" : [ "workspaces-web:UntagResource", "workspaces-web:ListTagsForResource", "workspaces-web:TagResource" ] + }, + "additionalProperties" : false +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-workspacesweb-portal.json b/aws-cloudformation-schema/aws-workspacesweb-portal.json index 298032db48..8a467d0e55 100644 --- a/aws-cloudformation-schema/aws-workspacesweb-portal.json +++ b/aws-cloudformation-schema/aws-workspacesweb-portal.json @@ -80,6 +80,12 @@ "minLength" : 20, "pattern" : "^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$" }, + "DataProtectionSettingsArn" : { + "type" : "string", + "maxLength" : 2048, + "minLength" : 20, + "pattern" : "^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$" + }, "DisplayName" : { "type" : "string", "maxLength" : 64, @@ -169,19 +175,19 @@ "primaryIdentifier" : [ "/properties/PortalArn" ], "handlers" : { "create" : { - "permissions" : [ "workspaces-web:CreatePortal", "workspaces-web:GetPortal", "workspaces-web:GetPortalServiceProviderMetadata", "workspaces-web:AssociateBrowserSettings", "workspaces-web:AssociateIpAccessSettings", "workspaces-web:AssociateNetworkSettings", "workspaces-web:AssociateTrustStore", "workspaces-web:AssociateUserAccessLoggingSettings", "workspaces-web:AssociateUserSettings", "workspaces-web:ListTagsForResource", "workspaces-web:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptTo", "kms:ReEncryptFrom", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:ModifyNetworkInterfaceAttribute", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:DescribeStreamSummary", "sso:CreateManagedApplicationInstance", "sso:DescribeRegisteredRegions" ] + "permissions" : [ "workspaces-web:CreatePortal", "workspaces-web:GetPortal*", "workspaces-web:AssociateBrowserSettings", "workspaces-web:AssociateIpAccessSettings", "workspaces-web:AssociateNetworkSettings", "workspaces-web:AssociateTrustStore", "workspaces-web:AssociateUserAccessLoggingSettings", "workspaces-web:AssociateUserSettings", "workspaces-web:AssociateDataProtectionSettings", "workspaces-web:List*", "workspaces-web:TagResource", "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptTo", "kms:ReEncryptFrom", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:ModifyNetworkInterfaceAttribute", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:Describe*", "sso:CreateManagedApplicationInstance", "sso:Describe*" ] }, "read" : { - "permissions" : [ "workspaces-web:GetPortal", "workspaces-web:GetPortalServiceProviderMetadata", "workspaces-web:ListTagsForResource", "kms:Decrypt", "kms:DescribeKey" ] + "permissions" : [ "workspaces-web:GetPortal*", "workspaces-web:List*", "kms:Decrypt", "kms:DescribeKey" ] }, "update" : { - "permissions" : [ "workspaces-web:GetPortal", "workspaces-web:GetPortalServiceProviderMetadata", "workspaces-web:UpdatePortal", "workspaces-web:AssociateBrowserSettings", "workspaces-web:AssociateIpAccessSettings", "workspaces-web:AssociateNetworkSettings", "workspaces-web:AssociateTrustStore", "workspaces-web:AssociateUserAccessLoggingSettings", "workspaces-web:AssociateUserSettings", "workspaces-web:DisassociateBrowserSettings", "workspaces-web:DisassociateIpAccessSettings", "workspaces-web:DisassociateNetworkSettings", "workspaces-web:DisassociateTrustStore", "workspaces-web:DisassociateUserAccessLoggingSettings", "workspaces-web:DisassociateUserSettings", "workspaces-web:ListTagsForResource", "workspaces-web:TagResource", "workspaces-web:UntagResource", "kms:CreateGrant", "kms:Encrypt", "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:ModifyNetworkInterfaceAttribute", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:DescribeStreamSummary", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:DescribeRegisteredRegions", "sso:GetApplicationInstance", "sso:ListApplicationInstances" ] + "permissions" : [ "workspaces-web:GetPortal*", "workspaces-web:UpdatePortal", "workspaces-web:AssociateBrowserSettings", "workspaces-web:AssociateIpAccessSettings", "workspaces-web:AssociateNetworkSettings", "workspaces-web:AssociateTrustStore", "workspaces-web:AssociateUserAccessLoggingSettings", "workspaces-web:AssociateUserSettings", "workspaces-web:AssociateDataProtectionSettings", "workspaces-web:DisassociateBrowserSettings", "workspaces-web:DisassociateIpAccessSettings", "workspaces-web:DisassociateNetworkSettings", "workspaces-web:DisassociateTrustStore", "workspaces-web:DisassociateUserAccessLoggingSettings", "workspaces-web:DisassociateUserSettings", "workspaces-web:DisassociateDataProtectionSettings", "workspaces-web:List*", "workspaces-web:TagResource", "workspaces-web:UntagResource", "kms:CreateGrant", "kms:Encrypt", "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:ModifyNetworkInterfaceAttribute", "kinesis:PutRecord", "kinesis:PutRecords", "kinesis:Describe*", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:Describe*", "sso:GetApplicationInstance", "sso:List*" ] }, "delete" : { - "permissions" : [ "workspaces-web:GetPortal", "workspaces-web:DeletePortal", "workspaces-web:DisassociateBrowserSettings", "workspaces-web:DisassociateIpAccessSettings", "workspaces-web:DisassociateNetworkSettings", "workspaces-web:DisassociateTrustStore", "workspaces-web:DisassociateUserAccessLoggingSettings", "workspaces-web:DisassociateUserSettings", "kms:Decrypt", "kms:DescribeKey", "sso:DeleteManagedApplicationInstance" ] + "permissions" : [ "workspaces-web:GetPortal*", "workspaces-web:DeletePortal", "workspaces-web:DisassociateBrowserSettings", "workspaces-web:DisassociateIpAccessSettings", "workspaces-web:DisassociateNetworkSettings", "workspaces-web:DisassociateTrustStore", "workspaces-web:DisassociateUserAccessLoggingSettings", "workspaces-web:DisassociateUserSettings", "workspaces-web:DisassociateDataProtectionSettings", "kms:Decrypt", "kms:DescribeKey", "sso:DeleteManagedApplicationInstance" ] }, "list" : { - "permissions" : [ "workspaces-web:ListPortals", "kms:Decrypt", "kms:DescribeKey" ] + "permissions" : [ "workspaces-web:List*", "kms:Decrypt", "kms:DescribeKey" ] } }, "tagging" : { @@ -190,7 +196,7 @@ "tagProperty" : "/properties/Tags", "tagUpdatable" : true, "taggable" : true, - "permissions" : [ "workspaces-web:UntagResource", "workspaces-web:ListTagsForResource", "workspaces-web:TagResource" ] + "permissions" : [ "workspaces-web:UntagResource", "workspaces-web:List*", "workspaces-web:TagResource" ] }, "additionalProperties" : false } \ No newline at end of file diff --git a/meta/.botocore.version b/meta/.botocore.version index 4afdf05532..04d3ddcd51 100644 --- a/meta/.botocore.version +++ b/meta/.botocore.version @@ -1 +1 @@ -1.35.65 +1.35.66 diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 564a444d23..d2b4e75470 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -19,11 +19,14 @@ AWS::ApiGateway::Account AWS::ApiGateway::ApiKey AWS::ApiGateway::Authorizer AWS::ApiGateway::BasePathMapping +AWS::ApiGateway::BasePathMappingV2 AWS::ApiGateway::ClientCertificate AWS::ApiGateway::Deployment AWS::ApiGateway::DocumentationPart AWS::ApiGateway::DocumentationVersion AWS::ApiGateway::DomainName +AWS::ApiGateway::DomainNameAccessAssociation +AWS::ApiGateway::DomainNameV2 AWS::ApiGateway::GatewayResponse AWS::ApiGateway::Method AWS::ApiGateway::Model @@ -251,6 +254,7 @@ AWS::CustomerProfiles::Domain AWS::CustomerProfiles::EventStream AWS::CustomerProfiles::Integration AWS::CustomerProfiles::ObjectType +AWS::CustomerProfiles::SegmentDefinition AWS::DMS::DataMigration AWS::DMS::DataProvider AWS::DMS::InstanceProfile @@ -379,6 +383,8 @@ AWS::EC2::TransitGatewayRouteTableAssociation AWS::EC2::TransitGatewayRouteTablePropagation AWS::EC2::TransitGatewayVpcAttachment AWS::EC2::VPC +AWS::EC2::VPCBlockPublicAccessExclusion +AWS::EC2::VPCBlockPublicAccessOptions AWS::EC2::VPCCidrBlock AWS::EC2::VPCDHCPOptionsAssociation AWS::EC2::VPCEndpoint @@ -685,6 +691,7 @@ AWS::LookoutMetrics::Alert AWS::LookoutMetrics::AnomalyDetector AWS::LookoutVision::Project AWS::M2::Application +AWS::M2::Deployment AWS::M2::Environment AWS::MSK::BatchScramSecret AWS::MSK::Cluster @@ -1073,6 +1080,7 @@ AWS::WorkSpaces::ConnectionAlias AWS::WorkSpaces::WorkspacesPool AWS::WorkSpacesThinClient::Environment AWS::WorkSpacesWeb::BrowserSettings +AWS::WorkSpacesWeb::DataProtectionSettings AWS::WorkSpacesWeb::IdentityProvider AWS::WorkSpacesWeb::IpAccessSettings AWS::WorkSpacesWeb::NetworkSettings diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index e8c965215f..4e01fd185a 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -1711,6 +1711,59 @@ "domainName" ] }, + "aws-native:apigateway:BasePathMappingV2": { + "cf": "AWS::ApiGateway::BasePathMappingV2", + "inputs": { + "basePath": { + "type": "string", + "description": "The base path name that callers of the API must provide in the URL after the domain name." + }, + "domainNameArn": { + "type": "string", + "description": "The Arn of an AWS::ApiGateway::DomainNameV2 resource." + }, + "restApiId": { + "type": "string", + "description": "The ID of the API." + }, + "stage": { + "type": "string", + "description": "The name of the API's stage." + } + }, + "outputs": { + "basePath": { + "type": "string", + "description": "The base path name that callers of the API must provide in the URL after the domain name.", + "replaceOnChanges": true + }, + "basePathMappingArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the resource." + }, + "domainNameArn": { + "type": "string", + "description": "The Arn of an AWS::ApiGateway::DomainNameV2 resource.", + "replaceOnChanges": true + }, + "restApiId": { + "type": "string", + "description": "The ID of the API." + }, + "stage": { + "type": "string", + "description": "The name of the API's stage." + } + }, + "required": [ + "domainNameArn", + "restApiId" + ], + "createOnly": [ + "basePath", + "domainNameArn" + ] + }, "aws-native:apigateway:ClientCertificate": { "cf": "AWS::ApiGateway::ClientCertificate", "inputs": { @@ -2017,6 +2070,148 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:apigateway:DomainNameAccessAssociation": { + "cf": "AWS::ApiGateway::DomainNameAccessAssociation", + "inputs": { + "accessAssociationSource": { + "type": "string", + "description": "The source of the domain name access association resource." + }, + "accessAssociationSourceType": { + "$ref": "#/types/aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType", + "description": "The source type of the domain name access association resource." + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:CreateOnlyTag" + }, + "description": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association." + } + }, + "outputs": { + "accessAssociationSource": { + "type": "string", + "description": "The source of the domain name access association resource.", + "replaceOnChanges": true + }, + "accessAssociationSourceType": { + "$ref": "#/types/aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType", + "description": "The source type of the domain name access association resource.", + "replaceOnChanges": true + }, + "domainNameAccessAssociationArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name access association resource." + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:CreateOnlyTag" + }, + "description": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association.", + "replaceOnChanges": true + } + }, + "required": [ + "accessAssociationSource", + "accessAssociationSourceType", + "domainNameArn" + ], + "createOnly": [ + "accessAssociationSource", + "accessAssociationSourceType", + "domainNameArn", + "tags" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArrayCreateOnly" + }, + "aws-native:apigateway:DomainNameV2": { + "cf": "AWS::ApiGateway::DomainNameV2", + "inputs": { + "certificateArn": { + "type": "string" + }, + "domainName": { + "type": "string" + }, + "endpointConfiguration": { + "$ref": "#/types/aws-native:apigateway:DomainNameV2EndpointConfiguration" + }, + "managementPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "securityPolicy": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "outputs": { + "certificateArn": { + "type": "string" + }, + "domainName": { + "type": "string", + "replaceOnChanges": true + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + }, + "domainNameId": { + "type": "string" + }, + "endpointConfiguration": { + "$ref": "#/types/aws-native:apigateway:DomainNameV2EndpointConfiguration", + "replaceOnChanges": true + }, + "managementPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "securityPolicy": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "createOnly": [ + "domainName", + "endpointConfiguration", + "securityPolicy" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:apigateway:GatewayResponse": { "cf": "AWS::ApiGateway::GatewayResponse", "inputs": { @@ -14311,10 +14506,12 @@ "description": "S3 Bucket where the guard validate report will be uploaded to" }, "options": { - "$ref": "#/types/aws-native:cloudformation:OptionsProperties" + "$ref": "#/types/aws-native:cloudformation:OptionsProperties", + "description": "Specifies the S3 location of your input parameters." }, "ruleLocation": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location of your Guard rules." }, "stackFilters": { "$ref": "#/types/aws-native:cloudformation:StackFiltersProperties", @@ -14367,10 +14564,12 @@ "description": "S3 Bucket where the guard validate report will be uploaded to" }, "options": { - "$ref": "#/types/aws-native:cloudformation:OptionsProperties" + "$ref": "#/types/aws-native:cloudformation:OptionsProperties", + "description": "Specifies the S3 location of your input parameters." }, "ruleLocation": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location of your Guard rules." }, "stackFilters": { "$ref": "#/types/aws-native:cloudformation:StackFiltersProperties", @@ -20794,6 +20993,83 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:connect:EmailAddress": { + "cf": "AWS::Connect::EmailAddress", + "inputs": { + "description": { + "type": "string", + "description": "A description for the email address." + }, + "displayName": { + "type": "string", + "description": "The display name for the email address." + }, + "emailAddress": { + "type": "string", + "description": "Email address to be created for this instance", + "language": { + "csharp": { + "name": "EmailAddressValue" + } + } + }, + "instanceArn": { + "type": "string", + "description": "The identifier of the Amazon Connect instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "One or more tags." + } + }, + "outputs": { + "description": { + "type": "string", + "description": "A description for the email address." + }, + "displayName": { + "type": "string", + "description": "The display name for the email address." + }, + "emailAddress": { + "type": "string", + "description": "Email address to be created for this instance", + "language": { + "csharp": { + "name": "EmailAddressValue" + } + }, + "replaceOnChanges": true + }, + "emailAddressArn": { + "type": "string", + "description": "The identifier of the email address." + }, + "instanceArn": { + "type": "string", + "description": "The identifier of the Amazon Connect instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "One or more tags." + } + }, + "required": [ + "emailAddress", + "instanceArn" + ], + "createOnly": [ + "emailAddress" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:connect:EvaluationForm": { "cf": "AWS::Connect::EvaluationForm", "inputs": { @@ -20895,6 +21171,13 @@ "type": "string", "description": "The description of the hours of operation." }, + "hoursOfOperationOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverride" + }, + "description": "One or more hours of operation overrides assigned to an hour of operation." + }, "instanceArn": { "type": "string", "description": "The identifier of the Amazon Connect instance." @@ -20931,6 +21214,13 @@ "type": "string", "description": "The Amazon Resource Name (ARN) for the hours of operation." }, + "hoursOfOperationOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverride" + }, + "description": "One or more hours of operation overrides assigned to an hour of operation." + }, "instanceArn": { "type": "string", "description": "The identifier of the Amazon Connect instance." @@ -23193,6 +23483,13 @@ "type": "string", "description": "The unique name of the domain." }, + "eventTriggerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique names for active event triggers associated with the integration." + }, "flowDefinition": { "$ref": "#/types/aws-native:customerprofiles:IntegrationFlowDefinition", "description": "The configuration that controls how Customer Profiles retrieves data from the source." @@ -23230,6 +23527,13 @@ "description": "The unique name of the domain.", "replaceOnChanges": true }, + "eventTriggerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique names for active event triggers associated with the integration." + }, "flowDefinition": { "$ref": "#/types/aws-native:customerprofiles:IntegrationFlowDefinition", "description": "The configuration that controls how Customer Profiles retrieves data from the source." @@ -23413,6 +23717,97 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:customerprofiles:SegmentDefinition": { + "cf": "AWS::CustomerProfiles::SegmentDefinition", + "inputs": { + "description": { + "type": "string", + "description": "The description of the segment definition." + }, + "displayName": { + "type": "string", + "description": "The display name of the segment definition." + }, + "domainName": { + "type": "string", + "description": "The unique name of the domain." + }, + "segmentDefinitionName": { + "type": "string", + "description": "The unique name of the segment definition." + }, + "segmentGroups": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionSegmentGroup", + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "The tags used to organize, track, or control access for this resource." + } + }, + "outputs": { + "createdAt": { + "type": "string", + "description": "The time of this segment definition got created." + }, + "description": { + "type": "string", + "description": "The description of the segment definition." + }, + "displayName": { + "type": "string", + "description": "The display name of the segment definition.", + "replaceOnChanges": true + }, + "domainName": { + "type": "string", + "description": "The unique name of the domain.", + "replaceOnChanges": true + }, + "segmentDefinitionArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the segment definition." + }, + "segmentDefinitionName": { + "type": "string", + "description": "The unique name of the segment definition.", + "replaceOnChanges": true + }, + "segmentGroups": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionSegmentGroup", + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "The tags used to organize, track, or control access for this resource." + } + }, + "autoNamingSpec": { + "sdkName": "segmentDefinitionName", + "minLength": 1, + "maxLength": 64 + }, + "required": [ + "displayName", + "domainName", + "segmentGroups" + ], + "createOnly": [ + "displayName", + "domainName", + "segmentDefinitionName", + "segmentGroups" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:databrew:Dataset": { "cf": "AWS::DataBrew::Dataset", "inputs": { @@ -35927,6 +36322,88 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:ec2:VpcBlockPublicAccessExclusion": { + "cf": "AWS::EC2::VPCBlockPublicAccessExclusion", + "inputs": { + "internetGatewayExclusionMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode", + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet. Required only if you don't specify VpcId" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc. Required only if you don't specify SubnetId." + } + }, + "outputs": { + "exclusionId": { + "type": "string", + "description": "The ID of the exclusion" + }, + "internetGatewayExclusionMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode", + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet. Required only if you don't specify VpcId", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc. Required only if you don't specify SubnetId.", + "replaceOnChanges": true + } + }, + "required": [ + "internetGatewayExclusionMode" + ], + "createOnly": [ + "subnetId", + "vpcId" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, + "aws-native:ec2:VpcBlockPublicAccessOptions": { + "cf": "AWS::EC2::VPCBlockPublicAccessOptions", + "inputs": { + "internetGatewayBlockMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode", + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value" + } + }, + "outputs": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "internetGatewayBlockMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode", + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value" + } + }, + "required": [ + "internetGatewayBlockMode" + ] + }, "aws-native:ec2:VpcCidrBlock": { "cf": "AWS::EC2::VPCCidrBlock", "inputs": { @@ -52983,8 +53460,7 @@ }, "thingTypeProperties": { "$ref": "#/types/aws-native:iot:ThingTypePropertiesProperties", - "description": "The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` .", - "replaceOnChanges": true + "description": "The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` ." } }, "autoNamingSpec": { @@ -52993,8 +53469,7 @@ "maxLength": 128 }, "createOnly": [ - "thingTypeName", - "thingTypeProperties" + "thingTypeName" ], "irreversibleNames": { "awsId": "Id" @@ -54241,6 +54716,16 @@ "type": "string", "description": "A friendly name for the portal." }, + "portalType": { + "$ref": "#/types/aws-native:iotsitewise:PortalType", + "description": "The type of portal" + }, + "portalTypeConfiguration": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:iotsitewise:PortalTypeEntry" + } + }, "roleArn": { "type": "string", "description": "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf." @@ -54295,6 +54780,17 @@ "type": "string", "description": "The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal." }, + "portalType": { + "$ref": "#/types/aws-native:iotsitewise:PortalType", + "description": "The type of portal", + "replaceOnChanges": true + }, + "portalTypeConfiguration": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:iotsitewise:PortalTypeEntry" + } + }, "roleArn": { "type": "string", "description": "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf." @@ -54315,7 +54811,8 @@ "roleArn" ], "createOnly": [ - "portalAuthMode" + "portalAuthMode", + "portalType" ], "tagsProperty": "tags", "tagsStyle": "keyValueArray" @@ -58635,10 +59132,16 @@ "type": "integer", "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." }, + "metricsConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig" + }, "parallelizationFactor": { "type": "integer", "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." }, + "provisionedPollerConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig" + }, "queues": { "type": "array", "items": { @@ -58762,10 +59265,16 @@ "type": "integer", "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." }, + "metricsConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig" + }, "parallelizationFactor": { "type": "integer", "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." }, + "provisionedPollerConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig" + }, "queues": { "type": "array", "items": { @@ -62989,6 +63498,56 @@ "tagsProperty": "tags", "tagsStyle": "stringMap" }, + "aws-native:m2:Deployment": { + "cf": "AWS::M2::Deployment", + "inputs": { + "applicationId": { + "type": "string", + "description": "The application ID." + }, + "applicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy" + }, + "environmentId": { + "type": "string", + "description": "The environment ID." + } + }, + "outputs": { + "applicationId": { + "type": "string", + "description": "The application ID.", + "replaceOnChanges": true + }, + "applicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy" + }, + "deploymentId": { + "type": "string", + "description": "The deployment ID." + }, + "environmentId": { + "type": "string", + "description": "The environment ID.", + "replaceOnChanges": true + }, + "status": { + "type": "string", + "description": "The status of the deployment." + } + }, + "required": [ + "applicationId", + "applicationVersion", + "environmentId" + ], + "createOnly": [ + "applicationId", + "environmentId" + ] + }, "aws-native:m2:Environment": { "cf": "AWS::M2::Environment", "inputs": { @@ -67943,7 +68502,7 @@ }, "maxWebservers": { "type": "integer", - "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "maxWorkers": { "type": "integer", @@ -67951,7 +68510,7 @@ }, "minWebservers": { "type": "integer", - "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "minWorkers": { "type": "integer", @@ -68059,7 +68618,7 @@ }, "maxWebservers": { "type": "integer", - "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "maxWorkers": { "type": "integer", @@ -68067,7 +68626,7 @@ }, "minWebservers": { "type": "integer", - "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "minWorkers": { "type": "integer", @@ -71743,6 +72302,9 @@ "type": "string", "description": "Security config description" }, + "iamIdentityCenterOptions": { + "$ref": "#/types/aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions" + }, "name": { "type": "string", "description": "The friendly name of the security config" @@ -71765,6 +72327,9 @@ "type": "string", "description": "Security config description" }, + "iamIdentityCenterOptions": { + "$ref": "#/types/aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions" + }, "name": { "type": "string", "description": "The friendly name of the security config", @@ -71786,6 +72351,7 @@ "maxLength": 32 }, "createOnly": [ + "iamIdentityCenterOptions/InstanceArn", "name", "type" ], @@ -76955,6 +77521,13 @@ "type": "string", "description": "The description of the retention rule." }, + "excludeResourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:rbin:RuleResourceTag" + }, + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule." + }, "lockConfiguration": { "$ref": "#/types/aws-native:rbin:RuleUnlockDelay", "description": "Information about the retention rule lock configuration." @@ -76995,6 +77568,13 @@ "type": "string", "description": "The description of the retention rule." }, + "excludeResourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:rbin:RuleResourceTag" + }, + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule." + }, "identifier": { "type": "string", "description": "The unique ID of the retention rule." @@ -79298,6 +79878,9 @@ "type": "string", "description": "The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string." }, + "globalEndpoint": { + "$ref": "#/types/aws-native:rds:GlobalClusterGlobalEndpoint" + }, "sourceDbClusterIdentifier": { "type": "string", "description": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string." @@ -79337,6 +79920,9 @@ "description": "The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string.", "replaceOnChanges": true }, + "globalEndpoint": { + "$ref": "#/types/aws-native:rds:GlobalClusterGlobalEndpoint" + }, "sourceDbClusterIdentifier": { "type": "string", "description": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string.", @@ -83334,9 +83920,6 @@ "name", "tags" ], - "writeOnly": [ - "tags" - ], "tagsProperty": "tags", "tagsStyle": "keyValueArrayCreateOnly" }, @@ -83403,9 +83986,6 @@ "clusterArn", "tags" ], - "writeOnly": [ - "tags" - ], "tagsProperty": "tags", "tagsStyle": "keyValueArrayCreateOnly" }, @@ -83533,9 +84113,6 @@ "autoNamingSpec": { "sdkName": "name" }, - "writeOnly": [ - "tags" - ], "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, @@ -85405,6 +85982,10 @@ "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, + "lifecycleConfiguration": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketLifecycleConfiguration", + "description": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime." + }, "locationName": { "type": "string", "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'." @@ -85433,6 +86014,10 @@ "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, + "lifecycleConfiguration": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketLifecycleConfiguration", + "description": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime." + }, "locationName": { "type": "string", "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.", @@ -94597,6 +95182,10 @@ "type": "string", "description": "Name of the canary." }, + "provisionedResourceCleanup": { + "$ref": "#/types/aws-native:synthetics:CanaryProvisionedResourceCleanup", + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC." + }, "resourcesToReplicateTags": { "type": "array", "items": { @@ -94674,6 +95263,10 @@ "description": "Name of the canary.", "replaceOnChanges": true }, + "provisionedResourceCleanup": { + "$ref": "#/types/aws-native:synthetics:CanaryProvisionedResourceCleanup", + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC." + }, "resourcesToReplicateTags": { "type": "array", "items": { @@ -98906,6 +99499,81 @@ "tagsProperty": "tags", "tagsStyle": "keyValueArray" }, + "aws-native:workspacesweb:DataProtectionSettings": { + "cf": "AWS::WorkSpacesWeb::DataProtectionSettings", + "inputs": { + "additionalEncryptionContext": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "customerManagedKey": { + "type": "string" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inlineRedactionConfiguration": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "outputs": { + "additionalEncryptionContext": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + }, + "associatedPortalArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "creationDate": { + "type": "string" + }, + "customerManagedKey": { + "type": "string", + "replaceOnChanges": true + }, + "dataProtectionSettingsArn": { + "type": "string" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inlineRedactionConfiguration": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "createOnly": [ + "additionalEncryptionContext", + "customerManagedKey" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray" + }, "aws-native:workspacesweb:IdentityProvider": { "cf": "AWS::WorkSpacesWeb::IdentityProvider", "inputs": { @@ -99181,6 +99849,9 @@ "type": "string", "description": "The customer managed key of the web portal.\n\n*Pattern* : `^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$`" }, + "dataProtectionSettingsArn": { + "type": "string" + }, "displayName": { "type": "string", "description": "The name of the web portal." @@ -99251,6 +99922,9 @@ "description": "The customer managed key of the web portal.\n\n*Pattern* : `^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$`", "replaceOnChanges": true }, + "dataProtectionSettingsArn": { + "type": "string" + }, "displayName": { "type": "string", "description": "The name of the web portal." @@ -101856,6 +102530,20 @@ "aws-native:apigateway:DocumentationPartLocationType": { "type": "string" }, + "aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType": { + "type": "string" + }, + "aws-native:apigateway:DomainNameAccessAssociationTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:apigateway:DomainNameEndpointConfiguration": { "type": "object", "properties": { @@ -101894,6 +102582,28 @@ } } }, + "aws-native:apigateway:DomainNameV2EndpointConfiguration": { + "type": "object", + "properties": { + "types": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:apigateway:DomainNameV2Tag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:apigateway:MethodIntegration": { "type": "object", "properties": { @@ -108280,6 +108990,9 @@ "type": "string", "description": "The namespace of the metric." }, + "period": { + "type": "integer" + }, "statistic": { "type": "string", "description": "The statistic of the metric." @@ -108571,6 +109284,9 @@ "$ref": "#/types/aws-native:autoscaling:ScalingPolicyTargetTrackingMetricStat", "description": "Information about the metric data to return.\n\nConditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both." }, + "period": { + "type": "integer" + }, "returnData": { "type": "boolean", "description": "Indicates whether to return the timestamps and raw data values of this metric.\n\nIf you use any math expressions, specify `true` for this value for only the final math expression that the metric specification is based on. You must specify `false` for `ReturnData` for all the other metrics and expressions used in the metric specification.\n\nIf you are only retrieving metrics and not performing any math expressions, do not specify anything for `ReturnData` . This sets it to its default ( `true` )." @@ -108584,6 +109300,9 @@ "$ref": "#/types/aws-native:autoscaling:ScalingPolicyMetric", "description": "The metric to use." }, + "period": { + "type": "integer" + }, "stat": { "type": "string", "description": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .\n\nThe most commonly used metric for scaling is `Average` ." @@ -114988,7 +115707,8 @@ "type": "object", "properties": { "inputParams": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location where your input parameters are located." } } }, @@ -119698,6 +120418,19 @@ "aws-native:connect:ContactFlowType": { "type": "string" }, + "aws-native:connect:EmailAddressTag": { + "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:connect:EvaluationFormBaseItem": { "type": "object", "properties": { @@ -120007,6 +120740,65 @@ "aws-native:connect:HoursOfOperationConfigDay": { "type": "string" }, + "aws-native:connect:HoursOfOperationOverride": { + "type": "object", + "properties": { + "effectiveFrom": { + "type": "string" + }, + "effectiveTill": { + "type": "string" + }, + "hoursOfOperationOverrideId": { + "type": "string" + }, + "overrideConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideConfig" + } + }, + "overrideDescription": { + "type": "string" + }, + "overrideName": { + "type": "string" + } + } + }, + "aws-native:connect:HoursOfOperationOverrideConfig": { + "type": "object", + "properties": { + "day": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideConfigDay", + "description": "The day that the hours of operation override applies to." + }, + "endTime": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideTimeSlice", + "description": "The new end time that your contact center closes for the overriden days." + }, + "startTime": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideTimeSlice", + "description": "The new start time that your contact center opens for the overriden days." + } + } + }, + "aws-native:connect:HoursOfOperationOverrideConfigDay": { + "type": "string" + }, + "aws-native:connect:HoursOfOperationOverrideTimeSlice": { + "type": "object", + "properties": { + "hours": { + "type": "integer", + "description": "The hours." + }, + "minutes": { + "type": "integer", + "description": "The minutes." + } + } + }, "aws-native:connect:HoursOfOperationTag": { "type": "object", "properties": { @@ -122331,6 +123123,297 @@ } } }, + "aws-native:customerprofiles:SegmentDefinitionAddressDimension": { + "type": "object", + "properties": { + "city": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "country": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "county": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "postalCode": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "province": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "state": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionAttributeDimension": { + "type": "object", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAttributeDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionAttributeDimensionType": { + "type": "string" + }, + "aws-native:customerprofiles:SegmentDefinitionCalculatedAttributeDimension": { + "type": "object", + "properties": { + "conditionOverrides": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionConditionOverrides" + }, + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAttributeDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionConditionOverrides": { + "type": "object", + "properties": { + "range": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionRangeOverride" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionDateDimension": { + "type": "object", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDateDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionDateDimensionType": { + "type": "string" + }, + "aws-native:customerprofiles:SegmentDefinitionDimension0Properties": { + "type": "object", + "properties": { + "profileAttributes": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileAttributes" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionDimension1Properties": { + "type": "object", + "properties": { + "calculatedAttributes": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionCalculatedAttributeDimension" + } + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionExtraLengthValueProfileDimension": { + "type": "object", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionStringDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionGroup": { + "type": "object", + "properties": { + "dimensions": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDimension0Properties" + }, + { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDimension1Properties" + } + ] + } + }, + "sourceSegments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionSourceSegment" + } + }, + "sourceType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionIncludeOptions" + }, + "type": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionIncludeOptions" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionIncludeOptions": { + "type": "string" + }, + "aws-native:customerprofiles:SegmentDefinitionProfileAttributes": { + "type": "object", + "properties": { + "accountNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "additionalInformation": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionExtraLengthValueProfileDimension" + }, + "address": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + }, + "attributes": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAttributeDimension" + } + }, + "billingAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + }, + "birthDate": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDateDimension" + }, + "businessEmailAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "businessName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "businessPhoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "emailAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "firstName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "genderString": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "homePhoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "lastName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "mailingAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + }, + "middleName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "mobilePhoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "partyTypeString": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "personalEmailAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "phoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "shippingAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionProfileDimension": { + "type": "object", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionStringDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionRangeOverride": { + "type": "object", + "properties": { + "end": { + "type": "integer", + "description": "The ending point for this overridden range." + }, + "start": { + "type": "integer", + "description": "The starting point for this overridden range." + }, + "unit": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionRangeOverrideUnit", + "description": "The unit to be applied to the range." + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionRangeOverrideUnit": { + "type": "string" + }, + "aws-native:customerprofiles:SegmentDefinitionSegmentGroup": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionGroup" + } + }, + "include": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionIncludeOptions" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionSourceSegment": { + "type": "object", + "properties": { + "segmentDefinitionName": { + "type": "string" + } + } + }, + "aws-native:customerprofiles:SegmentDefinitionStringDimensionType": { + "type": "string" + }, + "aws-native:customerprofiles:SegmentDefinitionTag": { + "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:databrew:DatasetCsvOptions": { "type": "object", "properties": { @@ -126300,7 +127383,7 @@ }, "warmThroughput": { "$ref": "#/types/aws-native:dynamodb:TableWarmThroughput", - "description": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both." + "description": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both." } } }, @@ -127833,6 +128916,14 @@ } } }, + "aws-native:ec2:LaunchTemplateBaselinePerformanceFactors": { + "type": "object", + "properties": { + "cpu": { + "$ref": "#/types/aws-native:ec2:LaunchTemplateCpu" + } + } + }, "aws-native:ec2:LaunchTemplateBlockDeviceMapping": { "type": "object", "properties": { @@ -127897,6 +128988,17 @@ } } }, + "aws-native:ec2:LaunchTemplateCpu": { + "type": "object", + "properties": { + "references": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:LaunchTemplateReference" + } + } + } + }, "aws-native:ec2:LaunchTemplateCpuOptions": { "type": "object", "properties": { @@ -128251,6 +129353,9 @@ "$ref": "#/types/aws-native:ec2:LaunchTemplateBaselineEbsBandwidthMbps", "description": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.\n Default: No minimum or maximum limits" }, + "baselinePerformanceFactors": { + "$ref": "#/types/aws-native:ec2:LaunchTemplateBaselinePerformanceFactors" + }, "burstablePerformance": { "type": "string", "description": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).\n + To include burstable performance instance types, specify ``included``.\n + To require only burstable performance instance types, specify ``required``.\n + To exclude burstable performance instance types, specify ``excluded``.\n \n Default: ``excluded``" @@ -128645,6 +129750,15 @@ } } }, + "aws-native:ec2:LaunchTemplateReference": { + "type": "object", + "properties": { + "instanceFamily": { + "type": "string", + "description": "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not." + } + } + }, "aws-native:ec2:LaunchTemplateSpotOptions": { "type": "object", "properties": { @@ -131165,6 +132279,25 @@ } } }, + "aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode": { + "type": "string" + }, + "aws-native:ec2:VpcBlockPublicAccessExclusionTag": { + "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:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode": { + "type": "string" + }, "aws-native:ec2:VpcEndpointType": { "type": "string" }, @@ -132516,7 +133649,8 @@ "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." }, "versionConsistency": { - "$ref": "#/types/aws-native:ecs:TaskDefinitionContainerDefinitionVersionConsistency" + "$ref": "#/types/aws-native:ecs:TaskDefinitionContainerDefinitionVersionConsistency", + "description": "Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* ." }, "volumesFrom": { "type": "array", @@ -133386,6 +134520,15 @@ "region": { "type": "string", "description": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located." + }, + "roleArn": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusMessage": { + "type": "string" } } }, @@ -143823,9 +144966,29 @@ } } }, + "aws-native:iot:ThingTypePropagatingAttribute": { + "type": "object", + "properties": { + "connectionAttribute": { + "$ref": "#/types/aws-native:iot:ThingTypePropagatingAttributeConnectionAttribute" + }, + "thingAttribute": { + "type": "string" + }, + "userPropertyKey": { + "type": "string" + } + } + }, + "aws-native:iot:ThingTypePropagatingAttributeConnectionAttribute": { + "type": "string" + }, "aws-native:iot:ThingTypePropertiesProperties": { "type": "object", "properties": { + "mqtt5Configuration": { + "$ref": "#/types/aws-native:iot:ThingTypePropertiesPropertiesMqtt5ConfigurationProperties" + }, "searchableAttributes": { "type": "array", "items": { @@ -143839,6 +145002,17 @@ } } }, + "aws-native:iot:ThingTypePropertiesPropertiesMqtt5ConfigurationProperties": { + "type": "object", + "properties": { + "propagatingAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:ThingTypePropagatingAttribute" + } + } + } + }, "aws-native:iot:ThingTypeTag": { "type": "object", "properties": { @@ -147055,6 +148229,20 @@ } } }, + "aws-native:iotsitewise:PortalType": { + "type": "string" + }, + "aws-native:iotsitewise:PortalTypeEntry": { + "type": "object", + "properties": { + "portalTools": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "aws-native:iotsitewise:ProjectTag": { "type": "object", "properties": { @@ -153183,6 +154371,21 @@ "aws-native:lambda:EventSourceMappingFunctionResponseTypesItem": { "type": "string" }, + "aws-native:lambda:EventSourceMappingMetricsConfig": { + "type": "object", + "properties": { + "metrics": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfigMetricsItem" + }, + "description": "Metric groups to enable." + } + } + }, + "aws-native:lambda:EventSourceMappingMetricsConfigMetricsItem": { + "type": "string" + }, "aws-native:lambda:EventSourceMappingOnFailure": { "type": "object", "properties": { @@ -153192,6 +154395,19 @@ } } }, + "aws-native:lambda:EventSourceMappingProvisionedPollerConfig": { + "type": "object", + "properties": { + "maximumPollers": { + "type": "integer", + "description": "The maximum number of event pollers this event source can scale up to." + }, + "minimumPollers": { + "type": "integer", + "description": "The minimum number of event pollers this event source can scale down to." + } + } + }, "aws-native:lambda:EventSourceMappingScalingConfig": { "type": "object", "properties": { @@ -162292,6 +163508,32 @@ "aws-native:opensearchserverless:LifecyclePolicyType": { "type": "string" }, + "aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions": { + "type": "object", + "properties": { + "applicationArn": { + "type": "string" + }, + "applicationDescription": { + "type": "string", + "description": "The description of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "applicationName": { + "type": "string", + "description": "The name of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "groupAttribute": { + "type": "string" + }, + "instanceArn": { + "type": "string", + "replaceOnChanges": true + }, + "userAttribute": { + "type": "string" + } + } + }, "aws-native:opensearchserverless:SecurityConfigSamlConfigOptions": { "type": "object", "properties": { @@ -199595,6 +200837,15 @@ "aws-native:rds:GlobalClusterEngine": { "type": "string" }, + "aws-native:rds:GlobalClusterGlobalEndpoint": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster." + } + } + }, "aws-native:rds:GlobalClusterTag": { "type": "object", "properties": { @@ -201465,6 +202716,14 @@ "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleBlockResponse", "description": "BlockResponse" }, + "confidenceThreshold": { + "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleConfidenceThreshold", + "description": "FirewallDomainRedirectionAction" + }, + "dnsThreatProtection": { + "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleDnsThreatProtection", + "description": "FirewallDomainRedirectionAction" + }, "firewallDomainListId": { "type": "string", "description": "ResourceId" @@ -201473,6 +202732,10 @@ "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction", "description": "FirewallDomainRedirectionAction" }, + "firewallThreatProtectionId": { + "type": "string", + "description": "ResourceId" + }, "priority": { "type": "integer", "description": "Rule Priority" @@ -201492,6 +202755,12 @@ "aws-native:route53resolver:FirewallRuleGroupFirewallRuleBlockResponse": { "type": "string" }, + "aws-native:route53resolver:FirewallRuleGroupFirewallRuleConfidenceThreshold": { + "type": "string" + }, + "aws-native:route53resolver:FirewallRuleGroupFirewallRuleDnsThreatProtection": { + "type": "string" + }, "aws-native:route53resolver:FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction": { "type": "string" }, @@ -203408,6 +204677,15 @@ } } }, + "aws-native:s3express:DirectoryBucketAbortIncompleteMultipartUpload": { + "type": "object", + "properties": { + "daysAfterInitiation": { + "type": "integer", + "description": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload." + } + } + }, "aws-native:s3express:DirectoryBucketBucketEncryption": { "type": "object", "properties": { @@ -203423,6 +204701,47 @@ "aws-native:s3express:DirectoryBucketDataRedundancy": { "type": "string" }, + "aws-native:s3express:DirectoryBucketLifecycleConfiguration": { + "type": "object", + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketRule" + }, + "description": "A lifecycle rule for individual objects in an Amazon S3 Express bucket." + } + } + }, + "aws-native:s3express:DirectoryBucketRule": { + "type": "object", + "properties": { + "abortIncompleteMultipartUpload": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketAbortIncompleteMultipartUpload" + }, + "expirationInDays": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "objectSizeGreaterThan": { + "type": "string" + }, + "objectSizeLessThan": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketRuleStatus" + } + } + }, + "aws-native:s3express:DirectoryBucketRuleStatus": { + "type": "string" + }, "aws-native:s3express:DirectoryBucketServerSideEncryptionByDefault": { "type": "object", "properties": { @@ -203896,6 +205215,9 @@ "type": "integer", "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster." }, + "customMetadata": { + "$ref": "pulumi.json#/Any" + }, "executionRole": { "type": "string", "replaceOnChanges": true @@ -214206,6 +215528,9 @@ "s3ObjectVersion": "S3ObjectVersion" } }, + "aws-native:synthetics:CanaryProvisionedResourceCleanup": { + "type": "string" + }, "aws-native:synthetics:CanaryResourceToTag": { "type": "string" }, @@ -219027,6 +220352,103 @@ } } }, + "aws-native:workspacesweb:DataProtectionSettingsCustomPattern": { + "type": "object", + "properties": { + "keywordRegex": { + "type": "string" + }, + "patternDescription": { + "type": "string" + }, + "patternName": { + "type": "string" + }, + "patternRegex": { + "type": "string" + } + } + }, + "aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration": { + "type": "object", + "properties": { + "globalConfidenceLevel": { + "type": "number" + }, + "globalEnforcedUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "globalExemptUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "inlineRedactionPatterns": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionPattern" + } + } + } + }, + "aws-native:workspacesweb:DataProtectionSettingsInlineRedactionPattern": { + "type": "object", + "properties": { + "builtInPatternId": { + "type": "string" + }, + "confidenceLevel": { + "type": "number" + }, + "customPattern": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsCustomPattern" + }, + "enforcedUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "exemptUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "redactionPlaceHolder": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolder" + } + } + }, + "aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolder": { + "type": "object", + "properties": { + "redactionPlaceHolderText": { + "type": "string" + }, + "redactionPlaceHolderType": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolderType" + } + } + }, + "aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolderType": { + "type": "string" + }, + "aws-native:workspacesweb:DataProtectionSettingsTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:workspacesweb:IdentityProviderTag": { "type": "object", "properties": { @@ -219471,6 +220893,12 @@ "basePath" ] }, + "aws-native:apigateway:getBasePathMappingV2": { + "cf": "AWS::ApiGateway::BasePathMappingV2", + "ids": [ + "basePathMappingArn" + ] + }, "aws-native:apigateway:getClientCertificate": { "cf": "AWS::ApiGateway::ClientCertificate", "ids": [ @@ -219504,6 +220932,18 @@ "domainName" ] }, + "aws-native:apigateway:getDomainNameAccessAssociation": { + "cf": "AWS::ApiGateway::DomainNameAccessAssociation", + "ids": [ + "domainNameAccessAssociationArn" + ] + }, + "aws-native:apigateway:getDomainNameV2": { + "cf": "AWS::ApiGateway::DomainNameV2", + "ids": [ + "domainNameArn" + ] + }, "aws-native:apigateway:getGatewayResponse": { "cf": "AWS::ApiGateway::GatewayResponse", "ids": [ @@ -220708,6 +222148,12 @@ "contactFlowModuleArn" ] }, + "aws-native:connect:getEmailAddress": { + "cf": "AWS::Connect::EmailAddress", + "ids": [ + "emailAddressArn" + ] + }, "aws-native:connect:getEvaluationForm": { "cf": "AWS::Connect::EvaluationForm", "ids": [ @@ -220905,6 +222351,13 @@ "objectTypeName" ] }, + "aws-native:customerprofiles:getSegmentDefinition": { + "cf": "AWS::CustomerProfiles::SegmentDefinition", + "ids": [ + "domainName", + "segmentDefinitionName" + ] + }, "aws-native:databrew:getDataset": { "cf": "AWS::DataBrew::Dataset", "ids": [ @@ -221696,6 +223149,18 @@ "vpcId" ] }, + "aws-native:ec2:getVpcBlockPublicAccessExclusion": { + "cf": "AWS::EC2::VPCBlockPublicAccessExclusion", + "ids": [ + "exclusionId" + ] + }, + "aws-native:ec2:getVpcBlockPublicAccessOptions": { + "cf": "AWS::EC2::VPCBlockPublicAccessOptions", + "ids": [ + "accountId" + ] + }, "aws-native:ec2:getVpcCidrBlock": { "cf": "AWS::EC2::VPCCidrBlock", "ids": [ @@ -223476,6 +224941,12 @@ "applicationArn" ] }, + "aws-native:m2:getDeployment": { + "cf": "AWS::M2::Deployment", + "ids": [ + "applicationId" + ] + }, "aws-native:m2:getEnvironment": { "cf": "AWS::M2::Environment", "ids": [ @@ -225776,6 +227247,12 @@ "browserSettingsArn" ] }, + "aws-native:workspacesweb:getDataProtectionSettings": { + "cf": "AWS::WorkSpacesWeb::DataProtectionSettings", + "ids": [ + "dataProtectionSettingsArn" + ] + }, "aws-native:workspacesweb:getIdentityProvider": { "cf": "AWS::WorkSpacesWeb::IdentityProvider", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index c2b9348aea..ef117ea899 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -2919,6 +2919,31 @@ } ] }, + "aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType": { + "description": "The source type of the domain name access association resource.", + "type": "string", + "enum": [ + { + "name": "Vpce", + "value": "VPCE" + } + ] + }, + "aws-native:apigateway:DomainNameAccessAssociationTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:apigateway:DomainNameEndpointConfiguration": { "properties": { "types": { @@ -2957,6 +2982,28 @@ }, "type": "object" }, + "aws-native:apigateway:DomainNameV2EndpointConfiguration": { + "properties": { + "types": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "aws-native:apigateway:DomainNameV2Tag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:apigateway:MethodIntegration": { "description": "``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.", "properties": { @@ -12424,6 +12471,9 @@ "type": "string", "description": "The namespace of the metric." }, + "period": { + "type": "integer" + }, "statistic": { "type": "string", "description": "The statistic of the metric." @@ -12763,6 +12813,9 @@ "$ref": "#/types/aws-native:autoscaling:ScalingPolicyTargetTrackingMetricStat", "description": "Information about the metric data to return.\n\nConditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both." }, + "period": { + "type": "integer" + }, "returnData": { "type": "boolean", "description": "Indicates whether to return the timestamps and raw data values of this metric.\n\nIf you use any math expressions, specify `true` for this value for only the final math expression that the metric specification is based on. You must specify `false` for `ReturnData` for all the other metrics and expressions used in the metric specification.\n\nIf you are only retrieving metrics and not performing any math expressions, do not specify anything for `ReturnData` . This sets it to its default ( `true` )." @@ -12779,6 +12832,9 @@ "$ref": "#/types/aws-native:autoscaling:ScalingPolicyMetric", "description": "The metric to use." }, + "period": { + "type": "integer" + }, "stat": { "type": "string", "description": "The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* .\n\nThe most commonly used metric for scaling is `Average` ." @@ -12937,18 +12993,306 @@ "aws-native:b2bi:CapabilityX12TransactionSet": { "type": "string", "enum": [ + { + "name": "X12100", + "value": "X12_100" + }, + { + "name": "X12101", + "value": "X12_101" + }, + { + "name": "X12102", + "value": "X12_102" + }, + { + "name": "X12103", + "value": "X12_103" + }, + { + "name": "X12104", + "value": "X12_104" + }, + { + "name": "X12105", + "value": "X12_105" + }, + { + "name": "X12106", + "value": "X12_106" + }, + { + "name": "X12107", + "value": "X12_107" + }, + { + "name": "X12108", + "value": "X12_108" + }, + { + "name": "X12109", + "value": "X12_109" + }, { "name": "X12110", "value": "X12_110" }, + { + "name": "X12111", + "value": "X12_111" + }, + { + "name": "X12112", + "value": "X12_112" + }, + { + "name": "X12113", + "value": "X12_113" + }, + { + "name": "X12120", + "value": "X12_120" + }, + { + "name": "X12121", + "value": "X12_121" + }, + { + "name": "X12124", + "value": "X12_124" + }, + { + "name": "X12125", + "value": "X12_125" + }, + { + "name": "X12126", + "value": "X12_126" + }, + { + "name": "X12127", + "value": "X12_127" + }, + { + "name": "X12128", + "value": "X12_128" + }, + { + "name": "X12129", + "value": "X12_129" + }, + { + "name": "X12130", + "value": "X12_130" + }, + { + "name": "X12131", + "value": "X12_131" + }, + { + "name": "X12132", + "value": "X12_132" + }, + { + "name": "X12133", + "value": "X12_133" + }, + { + "name": "X12135", + "value": "X12_135" + }, + { + "name": "X12138", + "value": "X12_138" + }, + { + "name": "X12139", + "value": "X12_139" + }, + { + "name": "X12140", + "value": "X12_140" + }, + { + "name": "X12141", + "value": "X12_141" + }, + { + "name": "X12142", + "value": "X12_142" + }, + { + "name": "X12143", + "value": "X12_143" + }, + { + "name": "X12144", + "value": "X12_144" + }, + { + "name": "X12146", + "value": "X12_146" + }, + { + "name": "X12147", + "value": "X12_147" + }, + { + "name": "X12148", + "value": "X12_148" + }, + { + "name": "X12149", + "value": "X12_149" + }, + { + "name": "X12150", + "value": "X12_150" + }, + { + "name": "X12151", + "value": "X12_151" + }, + { + "name": "X12152", + "value": "X12_152" + }, + { + "name": "X12153", + "value": "X12_153" + }, + { + "name": "X12154", + "value": "X12_154" + }, + { + "name": "X12155", + "value": "X12_155" + }, + { + "name": "X12157", + "value": "X12_157" + }, + { + "name": "X12158", + "value": "X12_158" + }, + { + "name": "X12159", + "value": "X12_159" + }, + { + "name": "X12160", + "value": "X12_160" + }, + { + "name": "X12161", + "value": "X12_161" + }, + { + "name": "X12163", + "value": "X12_163" + }, + { + "name": "X12170", + "value": "X12_170" + }, + { + "name": "X12175", + "value": "X12_175" + }, + { + "name": "X12176", + "value": "X12_176" + }, + { + "name": "X12179", + "value": "X12_179" + }, { "name": "X12180", "value": "X12_180" }, + { + "name": "X12185", + "value": "X12_185" + }, + { + "name": "X12186", + "value": "X12_186" + }, + { + "name": "X12187", + "value": "X12_187" + }, + { + "name": "X12188", + "value": "X12_188" + }, + { + "name": "X12189", + "value": "X12_189" + }, + { + "name": "X12190", + "value": "X12_190" + }, + { + "name": "X12191", + "value": "X12_191" + }, + { + "name": "X12194", + "value": "X12_194" + }, + { + "name": "X12195", + "value": "X12_195" + }, + { + "name": "X12196", + "value": "X12_196" + }, + { + "name": "X12197", + "value": "X12_197" + }, + { + "name": "X12198", + "value": "X12_198" + }, + { + "name": "X12199", + "value": "X12_199" + }, + { + "name": "X12200", + "value": "X12_200" + }, + { + "name": "X12201", + "value": "X12_201" + }, + { + "name": "X12202", + "value": "X12_202" + }, + { + "name": "X12203", + "value": "X12_203" + }, { "name": "X12204", "value": "X12_204" }, + { + "name": "X12205", + "value": "X12_205" + }, + { + "name": "X12206", + "value": "X12_206" + }, { "name": "X12210", "value": "X12_210" @@ -12957,6 +13301,14 @@ "name": "X12211", "value": "X12_211" }, + { + "name": "X12212", + "value": "X12_212" + }, + { + "name": "X12213", + "value": "X12_213" + }, { "name": "X12214", "value": "X12_214" @@ -12965,6 +13317,94 @@ "name": "X12215", "value": "X12_215" }, + { + "name": "X12216", + "value": "X12_216" + }, + { + "name": "X12217", + "value": "X12_217" + }, + { + "name": "X12218", + "value": "X12_218" + }, + { + "name": "X12219", + "value": "X12_219" + }, + { + "name": "X12220", + "value": "X12_220" + }, + { + "name": "X12222", + "value": "X12_222" + }, + { + "name": "X12223", + "value": "X12_223" + }, + { + "name": "X12224", + "value": "X12_224" + }, + { + "name": "X12225", + "value": "X12_225" + }, + { + "name": "X12227", + "value": "X12_227" + }, + { + "name": "X12228", + "value": "X12_228" + }, + { + "name": "X12240", + "value": "X12_240" + }, + { + "name": "X12242", + "value": "X12_242" + }, + { + "name": "X12244", + "value": "X12_244" + }, + { + "name": "X12245", + "value": "X12_245" + }, + { + "name": "X12248", + "value": "X12_248" + }, + { + "name": "X12249", + "value": "X12_249" + }, + { + "name": "X12250", + "value": "X12_250" + }, + { + "name": "X12251", + "value": "X12_251" + }, + { + "name": "X12252", + "value": "X12_252" + }, + { + "name": "X12255", + "value": "X12_255" + }, + { + "name": "X12256", + "value": "X12_256" + }, { "name": "X12259", "value": "X12_259" @@ -12973,10 +13413,38 @@ "name": "X12260", "value": "X12_260" }, + { + "name": "X12261", + "value": "X12_261" + }, + { + "name": "X12262", + "value": "X12_262" + }, + { + "name": "X12263", + "value": "X12_263" + }, + { + "name": "X12264", + "value": "X12_264" + }, + { + "name": "X12265", + "value": "X12_265" + }, { "name": "X12266", "value": "X12_266" }, + { + "name": "X12267", + "value": "X12_267" + }, + { + "name": "X12268", + "value": "X12_268" + }, { "name": "X12269", "value": "X12_269" @@ -12989,6 +13457,14 @@ "name": "X12271", "value": "X12_271" }, + { + "name": "X12272", + "value": "X12_272" + }, + { + "name": "X12273", + "value": "X12_273" + }, { "name": "X12274", "value": "X12_274" @@ -13009,18 +13485,142 @@ "name": "X12278", "value": "X12_278" }, + { + "name": "X12280", + "value": "X12_280" + }, + { + "name": "X12283", + "value": "X12_283" + }, + { + "name": "X12284", + "value": "X12_284" + }, + { + "name": "X12285", + "value": "X12_285" + }, + { + "name": "X12286", + "value": "X12_286" + }, + { + "name": "X12288", + "value": "X12_288" + }, + { + "name": "X12290", + "value": "X12_290" + }, + { + "name": "X12300", + "value": "X12_300" + }, + { + "name": "X12301", + "value": "X12_301" + }, + { + "name": "X12303", + "value": "X12_303" + }, + { + "name": "X12304", + "value": "X12_304" + }, + { + "name": "X12309", + "value": "X12_309" + }, { "name": "X12310", "value": "X12_310" }, + { + "name": "X12311", + "value": "X12_311" + }, + { + "name": "X12312", + "value": "X12_312" + }, + { + "name": "X12313", + "value": "X12_313" + }, { "name": "X12315", "value": "X12_315" }, + { + "name": "X12317", + "value": "X12_317" + }, + { + "name": "X12319", + "value": "X12_319" + }, { "name": "X12322", "value": "X12_322" }, + { + "name": "X12323", + "value": "X12_323" + }, + { + "name": "X12324", + "value": "X12_324" + }, + { + "name": "X12325", + "value": "X12_325" + }, + { + "name": "X12326", + "value": "X12_326" + }, + { + "name": "X12350", + "value": "X12_350" + }, + { + "name": "X12352", + "value": "X12_352" + }, + { + "name": "X12353", + "value": "X12_353" + }, + { + "name": "X12354", + "value": "X12_354" + }, + { + "name": "X12355", + "value": "X12_355" + }, + { + "name": "X12356", + "value": "X12_356" + }, + { + "name": "X12357", + "value": "X12_357" + }, + { + "name": "X12358", + "value": "X12_358" + }, + { + "name": "X12361", + "value": "X12_361" + }, + { + "name": "X12362", + "value": "X12_362" + }, { "name": "X12404", "value": "X12_404" @@ -13029,38 +13629,334 @@ "name": "X12410", "value": "X12_410" }, + { + "name": "X12412", + "value": "X12_412" + }, + { + "name": "X12414", + "value": "X12_414" + }, { "name": "X12417", "value": "X12_417" }, + { + "name": "X12418", + "value": "X12_418" + }, + { + "name": "X12419", + "value": "X12_419" + }, + { + "name": "X12420", + "value": "X12_420" + }, { "name": "X12421", "value": "X12_421" }, + { + "name": "X12422", + "value": "X12_422" + }, + { + "name": "X12423", + "value": "X12_423" + }, + { + "name": "X12424", + "value": "X12_424" + }, + { + "name": "X12425", + "value": "X12_425" + }, { "name": "X12426", "value": "X12_426" }, + { + "name": "X12429", + "value": "X12_429" + }, + { + "name": "X12431", + "value": "X12_431" + }, + { + "name": "X12432", + "value": "X12_432" + }, + { + "name": "X12433", + "value": "X12_433" + }, + { + "name": "X12434", + "value": "X12_434" + }, + { + "name": "X12435", + "value": "X12_435" + }, + { + "name": "X12436", + "value": "X12_436" + }, + { + "name": "X12437", + "value": "X12_437" + }, + { + "name": "X12440", + "value": "X12_440" + }, + { + "name": "X12451", + "value": "X12_451" + }, + { + "name": "X12452", + "value": "X12_452" + }, + { + "name": "X12453", + "value": "X12_453" + }, + { + "name": "X12455", + "value": "X12_455" + }, + { + "name": "X12456", + "value": "X12_456" + }, + { + "name": "X12460", + "value": "X12_460" + }, + { + "name": "X12463", + "value": "X12_463" + }, + { + "name": "X12466", + "value": "X12_466" + }, + { + "name": "X12468", + "value": "X12_468" + }, + { + "name": "X12470", + "value": "X12_470" + }, + { + "name": "X12475", + "value": "X12_475" + }, + { + "name": "X12485", + "value": "X12_485" + }, + { + "name": "X12486", + "value": "X12_486" + }, + { + "name": "X12490", + "value": "X12_490" + }, + { + "name": "X12492", + "value": "X12_492" + }, + { + "name": "X12494", + "value": "X12_494" + }, + { + "name": "X12500", + "value": "X12_500" + }, + { + "name": "X12501", + "value": "X12_501" + }, + { + "name": "X12503", + "value": "X12_503" + }, + { + "name": "X12504", + "value": "X12_504" + }, + { + "name": "X12511", + "value": "X12_511" + }, + { + "name": "X12517", + "value": "X12_517" + }, + { + "name": "X12521", + "value": "X12_521" + }, + { + "name": "X12527", + "value": "X12_527" + }, + { + "name": "X12536", + "value": "X12_536" + }, + { + "name": "X12540", + "value": "X12_540" + }, + { + "name": "X12561", + "value": "X12_561" + }, + { + "name": "X12567", + "value": "X12_567" + }, + { + "name": "X12568", + "value": "X12_568" + }, + { + "name": "X12601", + "value": "X12_601" + }, + { + "name": "X12602", + "value": "X12_602" + }, + { + "name": "X12620", + "value": "X12_620" + }, + { + "name": "X12625", + "value": "X12_625" + }, + { + "name": "X12650", + "value": "X12_650" + }, + { + "name": "X12715", + "value": "X12_715" + }, + { + "name": "X12753", + "value": "X12_753" + }, + { + "name": "X12754", + "value": "X12_754" + }, + { + "name": "X12805", + "value": "X12_805" + }, + { + "name": "X12806", + "value": "X12_806" + }, { "name": "X12810", "value": "X12_810" }, + { + "name": "X12811", + "value": "X12_811" + }, + { + "name": "X12812", + "value": "X12_812" + }, + { + "name": "X12813", + "value": "X12_813" + }, + { + "name": "X12814", + "value": "X12_814" + }, + { + "name": "X12815", + "value": "X12_815" + }, + { + "name": "X12816", + "value": "X12_816" + }, + { + "name": "X12818", + "value": "X12_818" + }, + { + "name": "X12819", + "value": "X12_819" + }, { "name": "X12820", "value": "X12_820" }, + { + "name": "X12821", + "value": "X12_821" + }, + { + "name": "X12822", + "value": "X12_822" + }, + { + "name": "X12823", + "value": "X12_823" + }, { "name": "X12824", "value": "X12_824" }, + { + "name": "X12826", + "value": "X12_826" + }, + { + "name": "X12827", + "value": "X12_827" + }, + { + "name": "X12828", + "value": "X12_828" + }, + { + "name": "X12829", + "value": "X12_829" + }, { "name": "X12830", "value": "X12_830" }, + { + "name": "X12831", + "value": "X12_831" + }, { "name": "X12832", "value": "X12_832" }, + { + "name": "X12833", + "value": "X12_833" + }, { "name": "X12834", "value": "X12_834" @@ -13069,18 +13965,58 @@ "name": "X12835", "value": "X12_835" }, + { + "name": "X12836", + "value": "X12_836" + }, { "name": "X12837", "value": "X12_837" }, + { + "name": "X12838", + "value": "X12_838" + }, + { + "name": "X12839", + "value": "X12_839" + }, + { + "name": "X12840", + "value": "X12_840" + }, + { + "name": "X12841", + "value": "X12_841" + }, + { + "name": "X12842", + "value": "X12_842" + }, + { + "name": "X12843", + "value": "X12_843" + }, { "name": "X12844", "value": "X12_844" }, + { + "name": "X12845", + "value": "X12_845" + }, { "name": "X12846", "value": "X12_846" }, + { + "name": "X12847", + "value": "X12_847" + }, + { + "name": "X12848", + "value": "X12_848" + }, { "name": "X12849", "value": "X12_849" @@ -13089,10 +14025,22 @@ "name": "X12850", "value": "X12_850" }, + { + "name": "X12851", + "value": "X12_851" + }, { "name": "X12852", "value": "X12_852" }, + { + "name": "X12853", + "value": "X12_853" + }, + { + "name": "X12854", + "value": "X12_854" + }, { "name": "X12855", "value": "X12_855" @@ -13101,6 +14049,18 @@ "name": "X12856", "value": "X12_856" }, + { + "name": "X12857", + "value": "X12_857" + }, + { + "name": "X12858", + "value": "X12_858" + }, + { + "name": "X12859", + "value": "X12_859" + }, { "name": "X12860", "value": "X12_860" @@ -13109,6 +14069,14 @@ "name": "X12861", "value": "X12_861" }, + { + "name": "X12862", + "value": "X12_862" + }, + { + "name": "X12863", + "value": "X12_863" + }, { "name": "X12864", "value": "X12_864" @@ -13117,6 +14085,18 @@ "name": "X12865", "value": "X12_865" }, + { + "name": "X12866", + "value": "X12_866" + }, + { + "name": "X12867", + "value": "X12_867" + }, + { + "name": "X12868", + "value": "X12_868" + }, { "name": "X12869", "value": "X12_869" @@ -13125,22 +14105,166 @@ "name": "X12870", "value": "X12_870" }, + { + "name": "X12871", + "value": "X12_871" + }, + { + "name": "X12872", + "value": "X12_872" + }, + { + "name": "X12873", + "value": "X12_873" + }, + { + "name": "X12874", + "value": "X12_874" + }, + { + "name": "X12875", + "value": "X12_875" + }, + { + "name": "X12876", + "value": "X12_876" + }, + { + "name": "X12877", + "value": "X12_877" + }, + { + "name": "X12878", + "value": "X12_878" + }, + { + "name": "X12879", + "value": "X12_879" + }, + { + "name": "X12880", + "value": "X12_880" + }, + { + "name": "X12881", + "value": "X12_881" + }, + { + "name": "X12882", + "value": "X12_882" + }, + { + "name": "X12883", + "value": "X12_883" + }, + { + "name": "X12884", + "value": "X12_884" + }, + { + "name": "X12885", + "value": "X12_885" + }, + { + "name": "X12886", + "value": "X12_886" + }, + { + "name": "X12887", + "value": "X12_887" + }, + { + "name": "X12888", + "value": "X12_888" + }, + { + "name": "X12889", + "value": "X12_889" + }, + { + "name": "X12891", + "value": "X12_891" + }, + { + "name": "X12893", + "value": "X12_893" + }, + { + "name": "X12894", + "value": "X12_894" + }, + { + "name": "X12895", + "value": "X12_895" + }, + { + "name": "X12896", + "value": "X12_896" + }, + { + "name": "X12920", + "value": "X12_920" + }, + { + "name": "X12924", + "value": "X12_924" + }, + { + "name": "X12925", + "value": "X12_925" + }, + { + "name": "X12926", + "value": "X12_926" + }, + { + "name": "X12928", + "value": "X12_928" + }, { "name": "X12940", "value": "X12_940" }, + { + "name": "X12943", + "value": "X12_943" + }, + { + "name": "X12944", + "value": "X12_944" + }, { "name": "X12945", "value": "X12_945" }, + { + "name": "X12947", + "value": "X12_947" + }, + { + "name": "X12980", + "value": "X12_980" + }, { "name": "X12990", "value": "X12_990" }, + { + "name": "X12993", + "value": "X12_993" + }, + { + "name": "X12996", + "value": "X12_996" + }, { "name": "X12997", "value": "X12_997" }, + { + "name": "X12998", + "value": "X12_998" + }, { "name": "X12999", "value": "X12_999" @@ -13250,6 +14374,14 @@ "name": "Version4030", "value": "VERSION_4030" }, + { + "name": "Version4050", + "value": "VERSION_4050" + }, + { + "name": "Version4060", + "value": "VERSION_4060" + }, { "name": "Version5010", "value": "VERSION_5010" @@ -13624,18 +14756,306 @@ "aws-native:b2bi:TransformerX12TransactionSet": { "type": "string", "enum": [ + { + "name": "X12100", + "value": "X12_100" + }, + { + "name": "X12101", + "value": "X12_101" + }, + { + "name": "X12102", + "value": "X12_102" + }, + { + "name": "X12103", + "value": "X12_103" + }, + { + "name": "X12104", + "value": "X12_104" + }, + { + "name": "X12105", + "value": "X12_105" + }, + { + "name": "X12106", + "value": "X12_106" + }, + { + "name": "X12107", + "value": "X12_107" + }, + { + "name": "X12108", + "value": "X12_108" + }, + { + "name": "X12109", + "value": "X12_109" + }, { "name": "X12110", "value": "X12_110" }, + { + "name": "X12111", + "value": "X12_111" + }, + { + "name": "X12112", + "value": "X12_112" + }, + { + "name": "X12113", + "value": "X12_113" + }, + { + "name": "X12120", + "value": "X12_120" + }, + { + "name": "X12121", + "value": "X12_121" + }, + { + "name": "X12124", + "value": "X12_124" + }, + { + "name": "X12125", + "value": "X12_125" + }, + { + "name": "X12126", + "value": "X12_126" + }, + { + "name": "X12127", + "value": "X12_127" + }, + { + "name": "X12128", + "value": "X12_128" + }, + { + "name": "X12129", + "value": "X12_129" + }, + { + "name": "X12130", + "value": "X12_130" + }, + { + "name": "X12131", + "value": "X12_131" + }, + { + "name": "X12132", + "value": "X12_132" + }, + { + "name": "X12133", + "value": "X12_133" + }, + { + "name": "X12135", + "value": "X12_135" + }, + { + "name": "X12138", + "value": "X12_138" + }, + { + "name": "X12139", + "value": "X12_139" + }, + { + "name": "X12140", + "value": "X12_140" + }, + { + "name": "X12141", + "value": "X12_141" + }, + { + "name": "X12142", + "value": "X12_142" + }, + { + "name": "X12143", + "value": "X12_143" + }, + { + "name": "X12144", + "value": "X12_144" + }, + { + "name": "X12146", + "value": "X12_146" + }, + { + "name": "X12147", + "value": "X12_147" + }, + { + "name": "X12148", + "value": "X12_148" + }, + { + "name": "X12149", + "value": "X12_149" + }, + { + "name": "X12150", + "value": "X12_150" + }, + { + "name": "X12151", + "value": "X12_151" + }, + { + "name": "X12152", + "value": "X12_152" + }, + { + "name": "X12153", + "value": "X12_153" + }, + { + "name": "X12154", + "value": "X12_154" + }, + { + "name": "X12155", + "value": "X12_155" + }, + { + "name": "X12157", + "value": "X12_157" + }, + { + "name": "X12158", + "value": "X12_158" + }, + { + "name": "X12159", + "value": "X12_159" + }, + { + "name": "X12160", + "value": "X12_160" + }, + { + "name": "X12161", + "value": "X12_161" + }, + { + "name": "X12163", + "value": "X12_163" + }, + { + "name": "X12170", + "value": "X12_170" + }, + { + "name": "X12175", + "value": "X12_175" + }, + { + "name": "X12176", + "value": "X12_176" + }, + { + "name": "X12179", + "value": "X12_179" + }, { "name": "X12180", "value": "X12_180" }, + { + "name": "X12185", + "value": "X12_185" + }, + { + "name": "X12186", + "value": "X12_186" + }, + { + "name": "X12187", + "value": "X12_187" + }, + { + "name": "X12188", + "value": "X12_188" + }, + { + "name": "X12189", + "value": "X12_189" + }, + { + "name": "X12190", + "value": "X12_190" + }, + { + "name": "X12191", + "value": "X12_191" + }, + { + "name": "X12194", + "value": "X12_194" + }, + { + "name": "X12195", + "value": "X12_195" + }, + { + "name": "X12196", + "value": "X12_196" + }, + { + "name": "X12197", + "value": "X12_197" + }, + { + "name": "X12198", + "value": "X12_198" + }, + { + "name": "X12199", + "value": "X12_199" + }, + { + "name": "X12200", + "value": "X12_200" + }, + { + "name": "X12201", + "value": "X12_201" + }, + { + "name": "X12202", + "value": "X12_202" + }, + { + "name": "X12203", + "value": "X12_203" + }, { "name": "X12204", "value": "X12_204" }, + { + "name": "X12205", + "value": "X12_205" + }, + { + "name": "X12206", + "value": "X12_206" + }, { "name": "X12210", "value": "X12_210" @@ -13644,6 +15064,14 @@ "name": "X12211", "value": "X12_211" }, + { + "name": "X12212", + "value": "X12_212" + }, + { + "name": "X12213", + "value": "X12_213" + }, { "name": "X12214", "value": "X12_214" @@ -13652,6 +15080,94 @@ "name": "X12215", "value": "X12_215" }, + { + "name": "X12216", + "value": "X12_216" + }, + { + "name": "X12217", + "value": "X12_217" + }, + { + "name": "X12218", + "value": "X12_218" + }, + { + "name": "X12219", + "value": "X12_219" + }, + { + "name": "X12220", + "value": "X12_220" + }, + { + "name": "X12222", + "value": "X12_222" + }, + { + "name": "X12223", + "value": "X12_223" + }, + { + "name": "X12224", + "value": "X12_224" + }, + { + "name": "X12225", + "value": "X12_225" + }, + { + "name": "X12227", + "value": "X12_227" + }, + { + "name": "X12228", + "value": "X12_228" + }, + { + "name": "X12240", + "value": "X12_240" + }, + { + "name": "X12242", + "value": "X12_242" + }, + { + "name": "X12244", + "value": "X12_244" + }, + { + "name": "X12245", + "value": "X12_245" + }, + { + "name": "X12248", + "value": "X12_248" + }, + { + "name": "X12249", + "value": "X12_249" + }, + { + "name": "X12250", + "value": "X12_250" + }, + { + "name": "X12251", + "value": "X12_251" + }, + { + "name": "X12252", + "value": "X12_252" + }, + { + "name": "X12255", + "value": "X12_255" + }, + { + "name": "X12256", + "value": "X12_256" + }, { "name": "X12259", "value": "X12_259" @@ -13660,10 +15176,38 @@ "name": "X12260", "value": "X12_260" }, + { + "name": "X12261", + "value": "X12_261" + }, + { + "name": "X12262", + "value": "X12_262" + }, + { + "name": "X12263", + "value": "X12_263" + }, + { + "name": "X12264", + "value": "X12_264" + }, + { + "name": "X12265", + "value": "X12_265" + }, { "name": "X12266", "value": "X12_266" }, + { + "name": "X12267", + "value": "X12_267" + }, + { + "name": "X12268", + "value": "X12_268" + }, { "name": "X12269", "value": "X12_269" @@ -13676,6 +15220,14 @@ "name": "X12271", "value": "X12_271" }, + { + "name": "X12272", + "value": "X12_272" + }, + { + "name": "X12273", + "value": "X12_273" + }, { "name": "X12274", "value": "X12_274" @@ -13696,18 +15248,142 @@ "name": "X12278", "value": "X12_278" }, + { + "name": "X12280", + "value": "X12_280" + }, + { + "name": "X12283", + "value": "X12_283" + }, + { + "name": "X12284", + "value": "X12_284" + }, + { + "name": "X12285", + "value": "X12_285" + }, + { + "name": "X12286", + "value": "X12_286" + }, + { + "name": "X12288", + "value": "X12_288" + }, + { + "name": "X12290", + "value": "X12_290" + }, + { + "name": "X12300", + "value": "X12_300" + }, + { + "name": "X12301", + "value": "X12_301" + }, + { + "name": "X12303", + "value": "X12_303" + }, + { + "name": "X12304", + "value": "X12_304" + }, + { + "name": "X12309", + "value": "X12_309" + }, { "name": "X12310", "value": "X12_310" }, + { + "name": "X12311", + "value": "X12_311" + }, + { + "name": "X12312", + "value": "X12_312" + }, + { + "name": "X12313", + "value": "X12_313" + }, { "name": "X12315", "value": "X12_315" }, + { + "name": "X12317", + "value": "X12_317" + }, + { + "name": "X12319", + "value": "X12_319" + }, { "name": "X12322", "value": "X12_322" }, + { + "name": "X12323", + "value": "X12_323" + }, + { + "name": "X12324", + "value": "X12_324" + }, + { + "name": "X12325", + "value": "X12_325" + }, + { + "name": "X12326", + "value": "X12_326" + }, + { + "name": "X12350", + "value": "X12_350" + }, + { + "name": "X12352", + "value": "X12_352" + }, + { + "name": "X12353", + "value": "X12_353" + }, + { + "name": "X12354", + "value": "X12_354" + }, + { + "name": "X12355", + "value": "X12_355" + }, + { + "name": "X12356", + "value": "X12_356" + }, + { + "name": "X12357", + "value": "X12_357" + }, + { + "name": "X12358", + "value": "X12_358" + }, + { + "name": "X12361", + "value": "X12_361" + }, + { + "name": "X12362", + "value": "X12_362" + }, { "name": "X12404", "value": "X12_404" @@ -13716,38 +15392,334 @@ "name": "X12410", "value": "X12_410" }, + { + "name": "X12412", + "value": "X12_412" + }, + { + "name": "X12414", + "value": "X12_414" + }, { "name": "X12417", "value": "X12_417" }, + { + "name": "X12418", + "value": "X12_418" + }, + { + "name": "X12419", + "value": "X12_419" + }, + { + "name": "X12420", + "value": "X12_420" + }, { "name": "X12421", "value": "X12_421" }, + { + "name": "X12422", + "value": "X12_422" + }, + { + "name": "X12423", + "value": "X12_423" + }, + { + "name": "X12424", + "value": "X12_424" + }, + { + "name": "X12425", + "value": "X12_425" + }, { "name": "X12426", "value": "X12_426" }, + { + "name": "X12429", + "value": "X12_429" + }, + { + "name": "X12431", + "value": "X12_431" + }, + { + "name": "X12432", + "value": "X12_432" + }, + { + "name": "X12433", + "value": "X12_433" + }, + { + "name": "X12434", + "value": "X12_434" + }, + { + "name": "X12435", + "value": "X12_435" + }, + { + "name": "X12436", + "value": "X12_436" + }, + { + "name": "X12437", + "value": "X12_437" + }, + { + "name": "X12440", + "value": "X12_440" + }, + { + "name": "X12451", + "value": "X12_451" + }, + { + "name": "X12452", + "value": "X12_452" + }, + { + "name": "X12453", + "value": "X12_453" + }, + { + "name": "X12455", + "value": "X12_455" + }, + { + "name": "X12456", + "value": "X12_456" + }, + { + "name": "X12460", + "value": "X12_460" + }, + { + "name": "X12463", + "value": "X12_463" + }, + { + "name": "X12466", + "value": "X12_466" + }, + { + "name": "X12468", + "value": "X12_468" + }, + { + "name": "X12470", + "value": "X12_470" + }, + { + "name": "X12475", + "value": "X12_475" + }, + { + "name": "X12485", + "value": "X12_485" + }, + { + "name": "X12486", + "value": "X12_486" + }, + { + "name": "X12490", + "value": "X12_490" + }, + { + "name": "X12492", + "value": "X12_492" + }, + { + "name": "X12494", + "value": "X12_494" + }, + { + "name": "X12500", + "value": "X12_500" + }, + { + "name": "X12501", + "value": "X12_501" + }, + { + "name": "X12503", + "value": "X12_503" + }, + { + "name": "X12504", + "value": "X12_504" + }, + { + "name": "X12511", + "value": "X12_511" + }, + { + "name": "X12517", + "value": "X12_517" + }, + { + "name": "X12521", + "value": "X12_521" + }, + { + "name": "X12527", + "value": "X12_527" + }, + { + "name": "X12536", + "value": "X12_536" + }, + { + "name": "X12540", + "value": "X12_540" + }, + { + "name": "X12561", + "value": "X12_561" + }, + { + "name": "X12567", + "value": "X12_567" + }, + { + "name": "X12568", + "value": "X12_568" + }, + { + "name": "X12601", + "value": "X12_601" + }, + { + "name": "X12602", + "value": "X12_602" + }, + { + "name": "X12620", + "value": "X12_620" + }, + { + "name": "X12625", + "value": "X12_625" + }, + { + "name": "X12650", + "value": "X12_650" + }, + { + "name": "X12715", + "value": "X12_715" + }, + { + "name": "X12753", + "value": "X12_753" + }, + { + "name": "X12754", + "value": "X12_754" + }, + { + "name": "X12805", + "value": "X12_805" + }, + { + "name": "X12806", + "value": "X12_806" + }, { "name": "X12810", "value": "X12_810" }, + { + "name": "X12811", + "value": "X12_811" + }, + { + "name": "X12812", + "value": "X12_812" + }, + { + "name": "X12813", + "value": "X12_813" + }, + { + "name": "X12814", + "value": "X12_814" + }, + { + "name": "X12815", + "value": "X12_815" + }, + { + "name": "X12816", + "value": "X12_816" + }, + { + "name": "X12818", + "value": "X12_818" + }, + { + "name": "X12819", + "value": "X12_819" + }, { "name": "X12820", "value": "X12_820" }, + { + "name": "X12821", + "value": "X12_821" + }, + { + "name": "X12822", + "value": "X12_822" + }, + { + "name": "X12823", + "value": "X12_823" + }, { "name": "X12824", "value": "X12_824" }, + { + "name": "X12826", + "value": "X12_826" + }, + { + "name": "X12827", + "value": "X12_827" + }, + { + "name": "X12828", + "value": "X12_828" + }, + { + "name": "X12829", + "value": "X12_829" + }, { "name": "X12830", "value": "X12_830" }, + { + "name": "X12831", + "value": "X12_831" + }, { "name": "X12832", "value": "X12_832" }, + { + "name": "X12833", + "value": "X12_833" + }, { "name": "X12834", "value": "X12_834" @@ -13756,18 +15728,58 @@ "name": "X12835", "value": "X12_835" }, + { + "name": "X12836", + "value": "X12_836" + }, { "name": "X12837", "value": "X12_837" }, + { + "name": "X12838", + "value": "X12_838" + }, + { + "name": "X12839", + "value": "X12_839" + }, + { + "name": "X12840", + "value": "X12_840" + }, + { + "name": "X12841", + "value": "X12_841" + }, + { + "name": "X12842", + "value": "X12_842" + }, + { + "name": "X12843", + "value": "X12_843" + }, { "name": "X12844", "value": "X12_844" }, + { + "name": "X12845", + "value": "X12_845" + }, { "name": "X12846", "value": "X12_846" }, + { + "name": "X12847", + "value": "X12_847" + }, + { + "name": "X12848", + "value": "X12_848" + }, { "name": "X12849", "value": "X12_849" @@ -13776,10 +15788,22 @@ "name": "X12850", "value": "X12_850" }, + { + "name": "X12851", + "value": "X12_851" + }, { "name": "X12852", "value": "X12_852" }, + { + "name": "X12853", + "value": "X12_853" + }, + { + "name": "X12854", + "value": "X12_854" + }, { "name": "X12855", "value": "X12_855" @@ -13788,6 +15812,18 @@ "name": "X12856", "value": "X12_856" }, + { + "name": "X12857", + "value": "X12_857" + }, + { + "name": "X12858", + "value": "X12_858" + }, + { + "name": "X12859", + "value": "X12_859" + }, { "name": "X12860", "value": "X12_860" @@ -13796,6 +15832,14 @@ "name": "X12861", "value": "X12_861" }, + { + "name": "X12862", + "value": "X12_862" + }, + { + "name": "X12863", + "value": "X12_863" + }, { "name": "X12864", "value": "X12_864" @@ -13804,6 +15848,18 @@ "name": "X12865", "value": "X12_865" }, + { + "name": "X12866", + "value": "X12_866" + }, + { + "name": "X12867", + "value": "X12_867" + }, + { + "name": "X12868", + "value": "X12_868" + }, { "name": "X12869", "value": "X12_869" @@ -13812,22 +15868,166 @@ "name": "X12870", "value": "X12_870" }, + { + "name": "X12871", + "value": "X12_871" + }, + { + "name": "X12872", + "value": "X12_872" + }, + { + "name": "X12873", + "value": "X12_873" + }, + { + "name": "X12874", + "value": "X12_874" + }, + { + "name": "X12875", + "value": "X12_875" + }, + { + "name": "X12876", + "value": "X12_876" + }, + { + "name": "X12877", + "value": "X12_877" + }, + { + "name": "X12878", + "value": "X12_878" + }, + { + "name": "X12879", + "value": "X12_879" + }, + { + "name": "X12880", + "value": "X12_880" + }, + { + "name": "X12881", + "value": "X12_881" + }, + { + "name": "X12882", + "value": "X12_882" + }, + { + "name": "X12883", + "value": "X12_883" + }, + { + "name": "X12884", + "value": "X12_884" + }, + { + "name": "X12885", + "value": "X12_885" + }, + { + "name": "X12886", + "value": "X12_886" + }, + { + "name": "X12887", + "value": "X12_887" + }, + { + "name": "X12888", + "value": "X12_888" + }, + { + "name": "X12889", + "value": "X12_889" + }, + { + "name": "X12891", + "value": "X12_891" + }, + { + "name": "X12893", + "value": "X12_893" + }, + { + "name": "X12894", + "value": "X12_894" + }, + { + "name": "X12895", + "value": "X12_895" + }, + { + "name": "X12896", + "value": "X12_896" + }, + { + "name": "X12920", + "value": "X12_920" + }, + { + "name": "X12924", + "value": "X12_924" + }, + { + "name": "X12925", + "value": "X12_925" + }, + { + "name": "X12926", + "value": "X12_926" + }, + { + "name": "X12928", + "value": "X12_928" + }, { "name": "X12940", "value": "X12_940" }, + { + "name": "X12943", + "value": "X12_943" + }, + { + "name": "X12944", + "value": "X12_944" + }, { "name": "X12945", "value": "X12_945" }, + { + "name": "X12947", + "value": "X12_947" + }, + { + "name": "X12980", + "value": "X12_980" + }, { "name": "X12990", "value": "X12_990" }, + { + "name": "X12993", + "value": "X12_993" + }, + { + "name": "X12996", + "value": "X12_996" + }, { "name": "X12997", "value": "X12_997" }, + { + "name": "X12998", + "value": "X12_998" + }, { "name": "X12999", "value": "X12_999" @@ -13937,6 +16137,14 @@ "name": "Version4030", "value": "VERSION_4030" }, + { + "name": "Version4050", + "value": "VERSION_4050" + }, + { + "name": "Version4060", + "value": "VERSION_4060" + }, { "name": "Version5010", "value": "VERSION_5010" @@ -22826,9 +25034,11 @@ ] }, "aws-native:cloudformation:OptionsProperties": { + "description": "Specifies the S3 location of your input parameters.", "properties": { "inputParams": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location where your input parameters are located." } }, "type": "object" @@ -29342,6 +31552,24 @@ } ] }, + "aws-native:connect:EmailAddressTag": { + "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:connect:EvaluationFormBaseItem": { "description": "An item at the root level. All items must be sections.", "properties": { @@ -29861,6 +32089,114 @@ } ] }, + "aws-native:connect:HoursOfOperationOverride": { + "description": "Overrides attached to the hours of operation.", + "properties": { + "effectiveFrom": { + "type": "string" + }, + "effectiveTill": { + "type": "string" + }, + "hoursOfOperationOverrideId": { + "type": "string" + }, + "overrideConfig": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideConfig" + } + }, + "overrideDescription": { + "type": "string" + }, + "overrideName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "effectiveFrom", + "effectiveTill", + "overrideConfig", + "overrideName" + ] + }, + "aws-native:connect:HoursOfOperationOverrideConfig": { + "description": "Contains information about the hours of operation override.", + "properties": { + "day": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideConfigDay", + "description": "The day that the hours of operation override applies to." + }, + "endTime": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideTimeSlice", + "description": "The new end time that your contact center closes for the overriden days." + }, + "startTime": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverrideTimeSlice", + "description": "The new start time that your contact center opens for the overriden days." + } + }, + "type": "object", + "required": [ + "day", + "endTime", + "startTime" + ] + }, + "aws-native:connect:HoursOfOperationOverrideConfigDay": { + "description": "The day that the hours of operation override applies to.", + "type": "string", + "enum": [ + { + "name": "Sunday", + "value": "SUNDAY" + }, + { + "name": "Monday", + "value": "MONDAY" + }, + { + "name": "Tuesday", + "value": "TUESDAY" + }, + { + "name": "Wednesday", + "value": "WEDNESDAY" + }, + { + "name": "Thursday", + "value": "THURSDAY" + }, + { + "name": "Friday", + "value": "FRIDAY" + }, + { + "name": "Saturday", + "value": "SATURDAY" + } + ] + }, + "aws-native:connect:HoursOfOperationOverrideTimeSlice": { + "description": "The start time or end time for an an hours of operation override.", + "properties": { + "hours": { + "type": "integer", + "description": "The hours." + }, + "minutes": { + "type": "integer", + "description": "The minutes." + } + }, + "type": "object", + "required": [ + "hours", + "minutes" + ] + }, "aws-native:connect:HoursOfOperationTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -33835,6 +36171,473 @@ "value" ] }, + "aws-native:customerprofiles:SegmentDefinitionAddressDimension": { + "description": "The address based criteria for the segment.", + "properties": { + "city": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "country": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "county": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "postalCode": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "province": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "state": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionAttributeDimension": { + "description": "Specifies attribute based criteria for a segment.", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAttributeDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "dimensionType", + "values" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionAttributeDimensionType": { + "description": "The type of segment dimension to use.", + "type": "string", + "enum": [ + { + "name": "Inclusive", + "value": "INCLUSIVE" + }, + { + "name": "Exclusive", + "value": "EXCLUSIVE" + }, + { + "name": "Contains", + "value": "CONTAINS" + }, + { + "name": "BeginsWith", + "value": "BEGINS_WITH" + }, + { + "name": "EndsWith", + "value": "ENDS_WITH" + }, + { + "name": "Before", + "value": "BEFORE" + }, + { + "name": "After", + "value": "AFTER" + }, + { + "name": "Between", + "value": "BETWEEN" + }, + { + "name": "NotBetween", + "value": "NOT_BETWEEN" + }, + { + "name": "On", + "value": "ON" + }, + { + "name": "GreaterThan", + "value": "GREATER_THAN" + }, + { + "name": "LessThan", + "value": "LESS_THAN" + }, + { + "name": "GreaterThanOrEqual", + "value": "GREATER_THAN_OR_EQUAL" + }, + { + "name": "LessThanOrEqual", + "value": "LESS_THAN_OR_EQUAL" + }, + { + "name": "Equal", + "value": "EQUAL" + } + ] + }, + "aws-native:customerprofiles:SegmentDefinitionCalculatedAttributeDimension": { + "description": "Specifies calculated attribute based criteria for a segment.", + "properties": { + "conditionOverrides": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionConditionOverrides" + }, + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAttributeDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "dimensionType", + "values" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionConditionOverrides": { + "description": "Overrides the condition block within the original calculated attribute definition.", + "properties": { + "range": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionRangeOverride" + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionDateDimension": { + "description": "Specifies date based criteria for a segment.", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDateDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "dimensionType", + "values" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionDateDimensionType": { + "description": "The type of segment dimension to use for a date dimension.", + "type": "string", + "enum": [ + { + "name": "Before", + "value": "BEFORE" + }, + { + "name": "After", + "value": "AFTER" + }, + { + "name": "Between", + "value": "BETWEEN" + }, + { + "name": "NotBetween", + "value": "NOT_BETWEEN" + }, + { + "name": "On", + "value": "ON" + } + ] + }, + "aws-native:customerprofiles:SegmentDefinitionDimension0Properties": { + "description": "The criteria that define the dimensions for the segment.", + "properties": { + "profileAttributes": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileAttributes" + } + }, + "type": "object", + "required": [ + "profileAttributes" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionDimension1Properties": { + "description": "The criteria that define the dimensions for the segment.", + "properties": { + "calculatedAttributes": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionCalculatedAttributeDimension" + } + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionExtraLengthValueProfileDimension": { + "description": "Specifies criteria for a segment using extended-length string values.", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionStringDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "dimensionType", + "values" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionGroup": { + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "properties": { + "dimensions": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDimension0Properties" + }, + { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDimension1Properties" + } + ] + } + }, + "sourceSegments": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionSourceSegment" + } + }, + "sourceType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionIncludeOptions" + }, + "type": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionIncludeOptions" + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionIncludeOptions": { + "description": "Specifies the operator on how to handle multiple groups within the same segment.", + "type": "string", + "enum": [ + { + "name": "All", + "value": "ALL" + }, + { + "name": "Any", + "value": "ANY" + }, + { + "name": "None", + "value": "NONE" + } + ] + }, + "aws-native:customerprofiles:SegmentDefinitionProfileAttributes": { + "description": "Specifies the dimension settings within profile attributes for a segment.", + "properties": { + "accountNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "additionalInformation": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionExtraLengthValueProfileDimension" + }, + "address": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + }, + "attributes": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAttributeDimension" + } + }, + "billingAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + }, + "birthDate": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionDateDimension" + }, + "businessEmailAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "businessName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "businessPhoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "emailAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "firstName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "genderString": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "homePhoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "lastName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "mailingAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + }, + "middleName": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "mobilePhoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "partyTypeString": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "personalEmailAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "phoneNumber": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionProfileDimension" + }, + "shippingAddress": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionAddressDimension" + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionProfileDimension": { + "description": "Specifies profile based criteria for a segment.", + "properties": { + "dimensionType": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionStringDimensionType" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "dimensionType", + "values" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionRangeOverride": { + "description": "Defines the range to be applied to the calculated attribute definition.", + "properties": { + "end": { + "type": "integer", + "description": "The ending point for this overridden range." + }, + "start": { + "type": "integer", + "description": "The starting point for this overridden range." + }, + "unit": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionRangeOverrideUnit", + "description": "The unit to be applied to the range." + } + }, + "type": "object", + "required": [ + "start", + "unit" + ] + }, + "aws-native:customerprofiles:SegmentDefinitionRangeOverrideUnit": { + "description": "The unit to be applied to the range.", + "type": "string", + "enum": [ + { + "name": "Days", + "value": "DAYS" + } + ] + }, + "aws-native:customerprofiles:SegmentDefinitionSegmentGroup": { + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionGroup" + } + }, + "include": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionIncludeOptions" + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionSourceSegment": { + "description": "The base segment to build the segment on.", + "properties": { + "segmentDefinitionName": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:customerprofiles:SegmentDefinitionStringDimensionType": { + "description": "The type of segment dimension to use for a string dimension.", + "type": "string", + "enum": [ + { + "name": "Inclusive", + "value": "INCLUSIVE" + }, + { + "name": "Exclusive", + "value": "EXCLUSIVE" + }, + { + "name": "Contains", + "value": "CONTAINS" + }, + { + "name": "BeginsWith", + "value": "BEGINS_WITH" + }, + { + "name": "EndsWith", + "value": "ENDS_WITH" + } + ] + }, + "aws-native:customerprofiles:SegmentDefinitionTag": { + "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:databrew:DatasetCsvOptions": { "description": "Csv options", "properties": { @@ -39873,7 +42676,7 @@ }, "warmThroughput": { "$ref": "#/types/aws-native:dynamodb:TableWarmThroughput", - "description": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both." + "description": "Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both." } }, "type": "object", @@ -40161,6 +42964,7 @@ ] }, "aws-native:dynamodb:TableWarmThroughput": { + "description": "Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event.", "properties": { "readUnitsPerSecond": { "type": "integer", @@ -42269,6 +45073,14 @@ }, "type": "object" }, + "aws-native:ec2:LaunchTemplateBaselinePerformanceFactors": { + "properties": { + "cpu": { + "$ref": "#/types/aws-native:ec2:LaunchTemplateCpu" + } + }, + "type": "object" + }, "aws-native:ec2:LaunchTemplateBlockDeviceMapping": { "description": "Specifies a block device mapping for a launch template. You must specify ``DeviceName`` plus exactly one of the following properties: ``Ebs``, ``NoDevice``, or ``VirtualName``.\n ``BlockDeviceMapping`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "properties": { @@ -42337,6 +45149,17 @@ }, "type": "object" }, + "aws-native:ec2:LaunchTemplateCpu": { + "properties": { + "references": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:LaunchTemplateReference" + } + } + }, + "type": "object" + }, "aws-native:ec2:LaunchTemplateCpuOptions": { "description": "Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*.\n ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html).", "properties": { @@ -42714,6 +45537,9 @@ "$ref": "#/types/aws-native:ec2:LaunchTemplateBaselineEbsBandwidthMbps", "description": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*.\n Default: No minimum or maximum limits" }, + "baselinePerformanceFactors": { + "$ref": "#/types/aws-native:ec2:LaunchTemplateBaselinePerformanceFactors" + }, "burstablePerformance": { "type": "string", "description": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html).\n + To include burstable performance instance types, specify ``included``.\n + To require only burstable performance instance types, specify ``required``.\n + To exclude burstable performance instance types, specify ``excluded``.\n \n Default: ``excluded``" @@ -43118,6 +45944,15 @@ }, "type": "object" }, + "aws-native:ec2:LaunchTemplateReference": { + "properties": { + "instanceFamily": { + "type": "string", + "description": "The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not." + } + }, + "type": "object" + }, "aws-native:ec2:LaunchTemplateSpotOptions": { "description": "Specifies options for Spot Instances.\n ``SpotOptions`` is a property of [AWS::EC2::LaunchTemplate InstanceMarketOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html).", "properties": { @@ -46409,6 +49244,52 @@ "value" ] }, + "aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode": { + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.", + "type": "string", + "enum": [ + { + "name": "AllowBidirectional", + "value": "allow-bidirectional" + }, + { + "name": "AllowEgress", + "value": "allow-egress" + } + ] + }, + "aws-native:ec2:VpcBlockPublicAccessExclusionTag": { + "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:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode": { + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value", + "type": "string", + "enum": [ + { + "name": "BlockBidirectional", + "value": "block-bidirectional" + }, + { + "name": "BlockIngress", + "value": "block-ingress" + } + ] + }, "aws-native:ec2:VpcEndpointType": { "description": "The type of endpoint.\n Default: Gateway", "type": "string", @@ -48279,7 +51160,8 @@ "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." }, "versionConsistency": { - "$ref": "#/types/aws-native:ecs:TaskDefinitionContainerDefinitionVersionConsistency" + "$ref": "#/types/aws-native:ecs:TaskDefinitionContainerDefinitionVersionConsistency", + "description": "Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* ." }, "volumesFrom": { "type": "array", @@ -48300,6 +51182,7 @@ ] }, "aws-native:ecs:TaskDefinitionContainerDefinitionVersionConsistency": { + "description": "Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* .", "type": "string", "enum": [ { @@ -49334,6 +52217,15 @@ "region": { "type": "string", "description": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located." + }, + "roleArn": { + "type": "string" + }, + "status": { + "type": "string" + }, + "statusMessage": { + "type": "string" } }, "type": "object" @@ -64951,9 +67843,42 @@ "value" ] }, + "aws-native:iot:ThingTypePropagatingAttribute": { + "properties": { + "connectionAttribute": { + "$ref": "#/types/aws-native:iot:ThingTypePropagatingAttributeConnectionAttribute" + }, + "thingAttribute": { + "type": "string" + }, + "userPropertyKey": { + "type": "string" + } + }, + "type": "object", + "required": [ + "userPropertyKey" + ] + }, + "aws-native:iot:ThingTypePropagatingAttributeConnectionAttribute": { + "type": "string", + "enum": [ + { + "name": "IotClientId", + "value": "iot:ClientId" + }, + { + "name": "IotThingThingName", + "value": "iot:Thing.ThingName" + } + ] + }, "aws-native:iot:ThingTypePropertiesProperties": { "description": "The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` .", "properties": { + "mqtt5Configuration": { + "$ref": "#/types/aws-native:iot:ThingTypePropertiesPropertiesMqtt5ConfigurationProperties" + }, "searchableAttributes": { "type": "array", "items": { @@ -64968,6 +67893,17 @@ }, "type": "object" }, + "aws-native:iot:ThingTypePropertiesPropertiesMqtt5ConfigurationProperties": { + "properties": { + "propagatingAttributes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:iot:ThingTypePropagatingAttribute" + } + } + }, + "type": "object" + }, "aws-native:iot:ThingTypeTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -68883,6 +71819,35 @@ "value" ] }, + "aws-native:iotsitewise:PortalType": { + "description": "The type of portal", + "type": "string", + "enum": [ + { + "name": "SitewisePortalV1", + "value": "SITEWISE_PORTAL_V1" + }, + { + "name": "SitewisePortalV2", + "value": "SITEWISE_PORTAL_V2" + } + ] + }, + "aws-native:iotsitewise:PortalTypeEntry": { + "description": "Container associated a certain PortalType.", + "properties": { + "portalTools": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "portalTools" + ] + }, "aws-native:iotsitewise:ProjectTag": { "description": "To add or update tag, provide both key and value. To delete tag, provide only tag key to be deleted", "properties": { @@ -77313,6 +80278,27 @@ } ] }, + "aws-native:lambda:EventSourceMappingMetricsConfig": { + "properties": { + "metrics": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfigMetricsItem" + }, + "description": "Metric groups to enable." + } + }, + "type": "object" + }, + "aws-native:lambda:EventSourceMappingMetricsConfigMetricsItem": { + "type": "string", + "enum": [ + { + "name": "EventCount", + "value": "EventCount" + } + ] + }, "aws-native:lambda:EventSourceMappingOnFailure": { "description": "A destination for events that failed processing.", "properties": { @@ -77323,6 +80309,19 @@ }, "type": "object" }, + "aws-native:lambda:EventSourceMappingProvisionedPollerConfig": { + "properties": { + "maximumPollers": { + "type": "integer", + "description": "The maximum number of event pollers this event source can scale up to." + }, + "minimumPollers": { + "type": "integer", + "description": "The minimum number of event pollers this event source can scale down to." + } + }, + "type": "object" + }, "aws-native:lambda:EventSourceMappingScalingConfig": { "description": "(Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value.", "properties": { @@ -91261,6 +94260,36 @@ } ] }, + "aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions": { + "description": "Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map", + "properties": { + "applicationArn": { + "type": "string" + }, + "applicationDescription": { + "type": "string", + "description": "The description of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "applicationName": { + "type": "string", + "description": "The name of the IAM Identity Center application used to integrate with OpenSearch Serverless" + }, + "groupAttribute": { + "type": "string" + }, + "instanceArn": { + "type": "string", + "replaceOnChanges": true + }, + "userAttribute": { + "type": "string" + } + }, + "type": "object", + "required": [ + "instanceArn" + ] + }, "aws-native:opensearchserverless:SecurityConfigSamlConfigOptions": { "description": "Describes saml options in form of key value map", "properties": { @@ -91293,6 +94322,10 @@ { "name": "Saml", "value": "saml" + }, + { + "name": "Iamidentitycenter", + "value": "iamidentitycenter" } ] }, @@ -139575,6 +142608,15 @@ } ] }, + "aws-native:rds:GlobalClusterGlobalEndpoint": { + "properties": { + "address": { + "type": "string", + "description": "The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster." + } + }, + "type": "object" + }, "aws-native:rds:GlobalClusterTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -142488,6 +145530,14 @@ "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleBlockResponse", "description": "BlockResponse" }, + "confidenceThreshold": { + "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleConfidenceThreshold", + "description": "FirewallDomainRedirectionAction" + }, + "dnsThreatProtection": { + "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleDnsThreatProtection", + "description": "FirewallDomainRedirectionAction" + }, "firewallDomainListId": { "type": "string", "description": "ResourceId" @@ -142496,6 +145546,10 @@ "$ref": "#/types/aws-native:route53resolver:FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction", "description": "FirewallDomainRedirectionAction" }, + "firewallThreatProtectionId": { + "type": "string", + "description": "ResourceId" + }, "priority": { "type": "integer", "description": "Rule Priority" @@ -142508,7 +145562,6 @@ "type": "object", "required": [ "action", - "firewallDomainListId", "priority" ] }, @@ -142558,6 +145611,38 @@ } ] }, + "aws-native:route53resolver:FirewallRuleGroupFirewallRuleConfidenceThreshold": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + { + "name": "Low", + "value": "LOW" + }, + { + "name": "Medium", + "value": "MEDIUM" + }, + { + "name": "High", + "value": "HIGH" + } + ] + }, + "aws-native:route53resolver:FirewallRuleGroupFirewallRuleDnsThreatProtection": { + "description": "FirewallDomainRedirectionAction", + "type": "string", + "enum": [ + { + "name": "Dga", + "value": "DGA" + }, + { + "name": "DnsTunneling", + "value": "DNS_TUNNELING" + } + ] + }, "aws-native:route53resolver:FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction": { "description": "FirewallDomainRedirectionAction", "type": "string", @@ -145547,6 +148632,19 @@ "value" ] }, + "aws-native:s3express:DirectoryBucketAbortIncompleteMultipartUpload": { + "description": "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "properties": { + "daysAfterInitiation": { + "type": "integer", + "description": "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload." + } + }, + "type": "object", + "required": [ + "daysAfterInitiation" + ] + }, "aws-native:s3express:DirectoryBucketBucketEncryption": { "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).", "properties": { @@ -145573,6 +148671,64 @@ } ] }, + "aws-native:s3express:DirectoryBucketLifecycleConfiguration": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketRule" + }, + "description": "A lifecycle rule for individual objects in an Amazon S3 Express bucket." + } + }, + "type": "object", + "required": [ + "rules" + ] + }, + "aws-native:s3express:DirectoryBucketRule": { + "description": "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays.", + "properties": { + "abortIncompleteMultipartUpload": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketAbortIncompleteMultipartUpload" + }, + "expirationInDays": { + "type": "integer" + }, + "id": { + "type": "string" + }, + "objectSizeGreaterThan": { + "type": "string" + }, + "objectSizeLessThan": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketRuleStatus" + } + }, + "type": "object", + "required": [ + "status" + ] + }, + "aws-native:s3express:DirectoryBucketRuleStatus": { + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] + }, "aws-native:s3express:DirectoryBucketServerSideEncryptionByDefault": { "description": "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", "properties": { @@ -146468,6 +149624,9 @@ "type": "integer", "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster." }, + "customMetadata": { + "$ref": "pulumi.json#/Any" + }, "executionRole": { "type": "string", "replaceOnChanges": true @@ -147621,6 +150780,26 @@ { "name": "InferenceOptimization", "value": "InferenceOptimization" + }, + { + "name": "HyperPodClusters", + "value": "HyperPodClusters" + }, + { + "name": "Comet", + "value": "Comet" + }, + { + "name": "DeepchecksLlmEvaluation", + "value": "DeepchecksLLMEvaluation" + }, + { + "name": "Fiddler", + "value": "Fiddler" + }, + { + "name": "LakeraGuard", + "value": "LakeraGuard" } ] }, @@ -154183,6 +157362,26 @@ { "name": "InferenceOptimization", "value": "InferenceOptimization" + }, + { + "name": "HyperPodClusters", + "value": "HyperPodClusters" + }, + { + "name": "Comet", + "value": "Comet" + }, + { + "name": "DeepchecksLlmEvaluation", + "value": "DeepchecksLLMEvaluation" + }, + { + "name": "Fiddler", + "value": "Fiddler" + }, + { + "name": "LakeraGuard", + "value": "LakeraGuard" } ] }, @@ -161991,6 +165190,20 @@ "handler" ] }, + "aws-native:synthetics:CanaryProvisionedResourceCleanup": { + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC.", + "type": "string", + "enum": [ + { + "name": "Automatic", + "value": "AUTOMATIC" + }, + { + "name": "Off", + "value": "OFF" + } + ] + }, "aws-native:synthetics:CanaryResourceToTag": { "description": "Specifies which resources canary tags should be replicated to.", "type": "string", @@ -169419,6 +172632,126 @@ "value" ] }, + "aws-native:workspacesweb:DataProtectionSettingsCustomPattern": { + "properties": { + "keywordRegex": { + "type": "string" + }, + "patternDescription": { + "type": "string" + }, + "patternName": { + "type": "string" + }, + "patternRegex": { + "type": "string" + } + }, + "type": "object", + "required": [ + "patternName", + "patternRegex" + ] + }, + "aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration": { + "properties": { + "globalConfidenceLevel": { + "type": "number" + }, + "globalEnforcedUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "globalExemptUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "inlineRedactionPatterns": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionPattern" + } + } + }, + "type": "object", + "required": [ + "inlineRedactionPatterns" + ] + }, + "aws-native:workspacesweb:DataProtectionSettingsInlineRedactionPattern": { + "properties": { + "builtInPatternId": { + "type": "string" + }, + "confidenceLevel": { + "type": "number" + }, + "customPattern": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsCustomPattern" + }, + "enforcedUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "exemptUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "redactionPlaceHolder": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolder" + } + }, + "type": "object", + "required": [ + "redactionPlaceHolder" + ] + }, + "aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolder": { + "properties": { + "redactionPlaceHolderText": { + "type": "string" + }, + "redactionPlaceHolderType": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolderType" + } + }, + "type": "object", + "required": [ + "redactionPlaceHolderType" + ] + }, + "aws-native:workspacesweb:DataProtectionSettingsRedactionPlaceHolderType": { + "type": "string", + "enum": [ + { + "name": "CustomText", + "value": "CustomText" + } + ] + }, + "aws-native:workspacesweb:DataProtectionSettingsTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:workspacesweb:IdentityProviderTag": { "properties": { "key": { @@ -171620,117 +174953,172 @@ }, "restApiId": { "type": "string", - "description": "The string identifier of the associated RestApi.", - "replaceOnChanges": true + "description": "The string identifier of the associated RestApi.", + "replaceOnChanges": true + }, + "type": { + "type": "string", + "description": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool." + } + }, + "type": "object", + "required": [ + "authorizerId", + "name", + "restApiId", + "type" + ], + "inputProperties": { + "authType": { + "type": "string", + "description": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact." + }, + "authorizerCredentials": { + "type": "string", + "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." + }, + "authorizerResultTtlInSeconds": { + "type": "integer", + "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." + }, + "authorizerUri": { + "type": "string", + "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` ." + }, + "identitySource": { + "type": "string", + "description": "The identity source for which authorization is requested. For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." + }, + "identityValidationExpression": { + "type": "string", + "description": "A validation expression for the incoming identity token. For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer." + }, + "name": { + "type": "string", + "description": "The name of the authorizer." + }, + "providerArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined." + }, + "restApiId": { + "type": "string", + "description": "The string identifier of the associated RestApi." }, "type": { "type": "string", "description": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool." } }, - "type": "object", - "required": [ - "authorizerId", - "name", + "requiredInputs": [ "restApiId", "type" - ], - "inputProperties": { - "authType": { + ] + }, + "aws-native:apigateway:BasePathMapping": { + "description": "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL.", + "properties": { + "basePath": { "type": "string", - "description": "Optional customer-defined field, used in OpenAPI imports and exports without functional impact." + "description": "The base path name that callers of the API must provide as part of the URL after the domain name.", + "replaceOnChanges": true }, - "authorizerCredentials": { + "domainName": { "type": "string", - "description": "Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null." - }, - "authorizerResultTtlInSeconds": { - "type": "integer", - "description": "The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour." + "description": "The domain name of the BasePathMapping resource to be described.", + "replaceOnChanges": true }, - "authorizerUri": { + "restApiId": { "type": "string", - "description": "Specifies the authorizer's Uniform Resource Identifier (URI). For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` ." + "description": "The string identifier of the associated RestApi." }, - "identitySource": { + "stage": { "type": "string", - "description": "The identity source for which authorization is requested. For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional." - }, - "identityValidationExpression": { + "description": "The name of the associated stage." + } + }, + "type": "object", + "required": [ + "domainName" + ], + "inputProperties": { + "basePath": { "type": "string", - "description": "A validation expression for the incoming identity token. For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer." + "description": "The base path name that callers of the API must provide as part of the URL after the domain name." }, - "name": { + "domainName": { "type": "string", - "description": "The name of the authorizer." - }, - "providerArns": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined." + "description": "The domain name of the BasePathMapping resource to be described." }, "restApiId": { "type": "string", "description": "The string identifier of the associated RestApi." }, - "type": { + "stage": { "type": "string", - "description": "The authorizer type. Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool." + "description": "The name of the associated stage." } }, "requiredInputs": [ - "restApiId", - "type" + "domainName" ] }, - "aws-native:apigateway:BasePathMapping": { - "description": "The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL.", + "aws-native:apigateway:BasePathMappingV2": { + "description": "Resource Type definition for AWS::ApiGateway::BasePathMappingV2", "properties": { "basePath": { "type": "string", - "description": "The base path name that callers of the API must provide as part of the URL after the domain name.", + "description": "The base path name that callers of the API must provide in the URL after the domain name.", "replaceOnChanges": true }, - "domainName": { + "basePathMappingArn": { "type": "string", - "description": "The domain name of the BasePathMapping resource to be described.", + "description": "Amazon Resource Name (ARN) of the resource." + }, + "domainNameArn": { + "type": "string", + "description": "The Arn of an AWS::ApiGateway::DomainNameV2 resource.", "replaceOnChanges": true }, "restApiId": { "type": "string", - "description": "The string identifier of the associated RestApi." + "description": "The ID of the API." }, "stage": { "type": "string", - "description": "The name of the associated stage." + "description": "The name of the API's stage." } }, "type": "object", "required": [ - "domainName" + "basePathMappingArn", + "domainNameArn", + "restApiId" ], "inputProperties": { "basePath": { "type": "string", - "description": "The base path name that callers of the API must provide as part of the URL after the domain name." + "description": "The base path name that callers of the API must provide in the URL after the domain name." }, - "domainName": { + "domainNameArn": { "type": "string", - "description": "The domain name of the BasePathMapping resource to be described." + "description": "The Arn of an AWS::ApiGateway::DomainNameV2 resource." }, "restApiId": { "type": "string", - "description": "The string identifier of the associated RestApi." + "description": "The ID of the API." }, "stage": { "type": "string", - "description": "The name of the associated stage." + "description": "The name of the API's stage." } }, "requiredInputs": [ - "domainName" + "domainNameArn", + "restApiId" ] }, "aws-native:apigateway:ClientCertificate": { @@ -172043,6 +175431,145 @@ } } }, + "aws-native:apigateway:DomainNameAccessAssociation": { + "description": "Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation.", + "properties": { + "accessAssociationSource": { + "type": "string", + "description": "The source of the domain name access association resource.", + "replaceOnChanges": true + }, + "accessAssociationSourceType": { + "$ref": "#/types/aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType", + "description": "The source type of the domain name access association resource.", + "replaceOnChanges": true + }, + "domainNameAccessAssociationArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name access association resource." + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:CreateOnlyTag" + }, + "description": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "accessAssociationSource", + "accessAssociationSourceType", + "domainNameAccessAssociationArn", + "domainNameArn" + ], + "inputProperties": { + "accessAssociationSource": { + "type": "string", + "description": "The source of the domain name access association resource." + }, + "accessAssociationSourceType": { + "$ref": "#/types/aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType", + "description": "The source type of the domain name access association resource." + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:CreateOnlyTag" + }, + "description": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association." + } + }, + "requiredInputs": [ + "accessAssociationSource", + "accessAssociationSourceType", + "domainNameArn" + ] + }, + "aws-native:apigateway:DomainNameV2": { + "description": "Resource Type definition for AWS::ApiGateway::DomainNameV2.", + "properties": { + "certificateArn": { + "type": "string" + }, + "domainName": { + "type": "string", + "replaceOnChanges": true + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + }, + "domainNameId": { + "type": "string" + }, + "endpointConfiguration": { + "$ref": "#/types/aws-native:apigateway:DomainNameV2EndpointConfiguration", + "replaceOnChanges": true + }, + "managementPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "securityPolicy": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "type": "object", + "required": [ + "domainNameArn", + "domainNameId" + ], + "inputProperties": { + "certificateArn": { + "type": "string" + }, + "domainName": { + "type": "string" + }, + "endpointConfiguration": { + "$ref": "#/types/aws-native:apigateway:DomainNameV2EndpointConfiguration" + }, + "managementPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "securityPolicy": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + }, "aws-native:apigateway:GatewayResponse": { "description": "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*.", "properties": { @@ -184094,10 +187621,12 @@ "description": "S3 Bucket where the guard validate report will be uploaded to" }, "options": { - "$ref": "#/types/aws-native:cloudformation:OptionsProperties" + "$ref": "#/types/aws-native:cloudformation:OptionsProperties", + "description": "Specifies the S3 location of your input parameters." }, "ruleLocation": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location of your Guard rules." }, "stackFilters": { "$ref": "#/types/aws-native:cloudformation:StackFiltersProperties", @@ -184154,10 +187683,12 @@ "description": "S3 Bucket where the guard validate report will be uploaded to" }, "options": { - "$ref": "#/types/aws-native:cloudformation:OptionsProperties" + "$ref": "#/types/aws-native:cloudformation:OptionsProperties", + "description": "Specifies the S3 location of your input parameters." }, "ruleLocation": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location of your Guard rules." }, "stackFilters": { "$ref": "#/types/aws-native:cloudformation:StackFiltersProperties", @@ -190395,6 +193926,84 @@ "instanceArn" ] }, + "aws-native:connect:EmailAddress": { + "description": "Resource Type definition for AWS::Connect::EmailAddress", + "properties": { + "description": { + "type": "string", + "description": "A description for the email address." + }, + "displayName": { + "type": "string", + "description": "The display name for the email address." + }, + "emailAddress": { + "type": "string", + "description": "Email address to be created for this instance", + "language": { + "csharp": { + "name": "EmailAddressValue" + } + }, + "replaceOnChanges": true + }, + "emailAddressArn": { + "type": "string", + "description": "The identifier of the email address." + }, + "instanceArn": { + "type": "string", + "description": "The identifier of the Amazon Connect instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "One or more tags." + } + }, + "type": "object", + "required": [ + "emailAddress", + "emailAddressArn", + "instanceArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description for the email address." + }, + "displayName": { + "type": "string", + "description": "The display name for the email address." + }, + "emailAddress": { + "type": "string", + "description": "Email address to be created for this instance", + "language": { + "csharp": { + "name": "EmailAddressValue" + } + } + }, + "instanceArn": { + "type": "string", + "description": "The identifier of the Amazon Connect instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "One or more tags." + } + }, + "requiredInputs": [ + "emailAddress", + "instanceArn" + ] + }, "aws-native:connect:EvaluationForm": { "description": "Creates an evaluation form for the specified CON instance.", "properties": { @@ -190506,6 +194115,13 @@ "type": "string", "description": "The Amazon Resource Name (ARN) for the hours of operation." }, + "hoursOfOperationOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverride" + }, + "description": "One or more hours of operation overrides assigned to an hour of operation." + }, "instanceArn": { "type": "string", "description": "The identifier of the Amazon Connect instance." @@ -190546,6 +194162,13 @@ "type": "string", "description": "The description of the hours of operation." }, + "hoursOfOperationOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverride" + }, + "description": "One or more hours of operation overrides assigned to an hour of operation." + }, "instanceArn": { "type": "string", "description": "The identifier of the Amazon Connect instance." @@ -192791,6 +196414,13 @@ "description": "The unique name of the domain.", "replaceOnChanges": true }, + "eventTriggerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique names for active event triggers associated with the integration." + }, "flowDefinition": { "$ref": "#/types/aws-native:customerprofiles:IntegrationFlowDefinition", "description": "The configuration that controls how Customer Profiles retrieves data from the source." @@ -192834,6 +196464,13 @@ "type": "string", "description": "The unique name of the domain." }, + "eventTriggerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique names for active event triggers associated with the integration." + }, "flowDefinition": { "$ref": "#/types/aws-native:customerprofiles:IntegrationFlowDefinition", "description": "The configuration that controls how Customer Profiles retrieves data from the source." @@ -193000,6 +196637,93 @@ "domainName" ] }, + "aws-native:customerprofiles:SegmentDefinition": { + "description": "A segment definition resource of Amazon Connect Customer Profiles", + "properties": { + "createdAt": { + "type": "string", + "description": "The time of this segment definition got created." + }, + "description": { + "type": "string", + "description": "The description of the segment definition." + }, + "displayName": { + "type": "string", + "description": "The display name of the segment definition.", + "replaceOnChanges": true + }, + "domainName": { + "type": "string", + "description": "The unique name of the domain.", + "replaceOnChanges": true + }, + "segmentDefinitionArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the segment definition." + }, + "segmentDefinitionName": { + "type": "string", + "description": "The unique name of the segment definition.", + "replaceOnChanges": true + }, + "segmentGroups": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionSegmentGroup", + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "The tags used to organize, track, or control access for this resource." + } + }, + "type": "object", + "required": [ + "createdAt", + "displayName", + "domainName", + "segmentDefinitionArn", + "segmentDefinitionName", + "segmentGroups" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the segment definition." + }, + "displayName": { + "type": "string", + "description": "The display name of the segment definition." + }, + "domainName": { + "type": "string", + "description": "The unique name of the domain." + }, + "segmentDefinitionName": { + "type": "string", + "description": "The unique name of the segment definition." + }, + "segmentGroups": { + "$ref": "#/types/aws-native:customerprofiles:SegmentDefinitionSegmentGroup", + "description": "An array that defines the set of segment criteria to evaluate when handling segment groups for the segment." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "The tags used to organize, track, or control access for this resource." + } + }, + "requiredInputs": [ + "displayName", + "domainName", + "segmentGroups" + ] + }, "aws-native:databrew:Dataset": { "description": "Resource schema for AWS::DataBrew::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 testDataBrewDataset = new AwsNative.DataBrew.Dataset(\"testDataBrewDataset\", new()\n {\n Name = \"cf-test-dataset1\",\n Input = new AwsNative.DataBrew.Inputs.DatasetInputArgs\n {\n S3InputDefinition = new AwsNative.DataBrew.Inputs.DatasetS3LocationArgs\n {\n Bucket = \"test-location\",\n Key = \"test.xlsx\",\n },\n },\n FormatOptions = new AwsNative.DataBrew.Inputs.DatasetFormatOptionsArgs\n {\n Excel = new AwsNative.DataBrew.Inputs.DatasetExcelOptionsArgs\n {\n SheetNames = new[]\n {\n \"test\",\n },\n },\n },\n Tags = new[]\n {\n new AwsNative.Inputs.CreateOnlyTagArgs\n {\n Key = \"key00AtCreate\",\n Value = \"value001AtCreate\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\tawsnative \"github.com/pulumi/pulumi-aws-native/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/databrew\"\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 := databrew.NewDataset(ctx, \"testDataBrewDataset\", \u0026databrew.DatasetArgs{\n\t\t\tName: pulumi.String(\"cf-test-dataset1\"),\n\t\t\tInput: \u0026databrew.DatasetInputTypeArgs{\n\t\t\t\tS3InputDefinition: \u0026databrew.DatasetS3LocationArgs{\n\t\t\t\t\tBucket: pulumi.String(\"test-location\"),\n\t\t\t\t\tKey: pulumi.String(\"test.xlsx\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFormatOptions: \u0026databrew.DatasetFormatOptionsArgs{\n\t\t\t\tExcel: \u0026databrew.DatasetExcelOptionsArgs{\n\t\t\t\t\tSheetNames: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"test\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: aws.CreateOnlyTagArray{\n\t\t\t\t\u0026aws.CreateOnlyTagArgs{\n\t\t\t\t\tKey: pulumi.String(\"key00AtCreate\"),\n\t\t\t\t\tValue: pulumi.String(\"value001AtCreate\"),\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 testDataBrewDataset = new aws_native.databrew.Dataset(\"testDataBrewDataset\", {\n name: \"cf-test-dataset1\",\n input: {\n s3InputDefinition: {\n bucket: \"test-location\",\n key: \"test.xlsx\",\n },\n },\n formatOptions: {\n excel: {\n sheetNames: [\"test\"],\n },\n },\n tags: [{\n key: \"key00AtCreate\",\n value: \"value001AtCreate\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ntest_data_brew_dataset = aws_native.databrew.Dataset(\"testDataBrewDataset\",\n name=\"cf-test-dataset1\",\n input={\n \"s3_input_definition\": {\n \"bucket\": \"test-location\",\n \"key\": \"test.xlsx\",\n },\n },\n format_options={\n \"excel\": {\n \"sheet_names\": [\"test\"],\n },\n },\n tags=[{\n \"key\": \"key00AtCreate\",\n \"value\": \"value001AtCreate\",\n }])\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -205273,6 +208997,92 @@ } } }, + "aws-native:ec2:VpcBlockPublicAccessExclusion": { + "description": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion.", + "properties": { + "exclusionId": { + "type": "string", + "description": "The ID of the exclusion" + }, + "internetGatewayExclusionMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode", + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet. Required only if you don't specify VpcId", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc. Required only if you don't specify SubnetId.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "exclusionId", + "internetGatewayExclusionMode" + ], + "inputProperties": { + "internetGatewayExclusionMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode", + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet. Required only if you don't specify VpcId" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc. Required only if you don't specify SubnetId." + } + }, + "requiredInputs": [ + "internetGatewayExclusionMode" + ] + }, + "aws-native:ec2:VpcBlockPublicAccessOptions": { + "description": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions", + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "internetGatewayBlockMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode", + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value" + } + }, + "type": "object", + "required": [ + "accountId", + "internetGatewayBlockMode" + ], + "inputProperties": { + "internetGatewayBlockMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode", + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value" + } + }, + "requiredInputs": [ + "internetGatewayBlockMode" + ] + }, "aws-native:ec2:VpcCidrBlock": { "description": "Resource Type definition for AWS::EC2::VPCCidrBlock", "properties": { @@ -221686,8 +225496,7 @@ }, "thingTypeProperties": { "$ref": "#/types/aws-native:iot:ThingTypePropertiesProperties", - "description": "The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` .", - "replaceOnChanges": true + "description": "The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` ." } }, "type": "object", @@ -222920,6 +226729,17 @@ "type": "string", "description": "The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal." }, + "portalType": { + "$ref": "#/types/aws-native:iotsitewise:PortalType", + "description": "The type of portal", + "replaceOnChanges": true + }, + "portalTypeConfiguration": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:iotsitewise:PortalTypeEntry" + } + }, "roleArn": { "type": "string", "description": "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf." @@ -222967,6 +226787,16 @@ "type": "string", "description": "A friendly name for the portal." }, + "portalType": { + "$ref": "#/types/aws-native:iotsitewise:PortalType", + "description": "The type of portal" + }, + "portalTypeConfiguration": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:iotsitewise:PortalTypeEntry" + } + }, "roleArn": { "type": "string", "description": "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf." @@ -227134,137 +230964,149 @@ "type": "integer", "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." }, - "parallelizationFactor": { - "type": "integer", - "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." - }, - "queues": { - "type": "array", - "items": { - "type": "string" - }, - "description": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume." - }, - "scalingConfig": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingScalingConfig", - "description": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency)." - }, - "selfManagedEventSource": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingSelfManagedEventSource", - "description": "The self-managed Apache Kafka cluster for your event source.", - "replaceOnChanges": true - }, - "selfManagedKafkaEventSourceConfig": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingSelfManagedKafkaEventSourceConfig", - "description": "Specific configuration settings for a self-managed Apache Kafka event source.", - "replaceOnChanges": true - }, - "sourceAccessConfigurations": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingSourceAccessConfiguration" - }, - "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source." - }, - "startingPosition": { - "type": "string", - "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", - "replaceOnChanges": true - }, - "startingPositionTimestamp": { - "type": "number", - "description": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", - "replaceOnChanges": true - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:index:Tag" - }, - "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." - }, - "topics": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The name of the Kafka topic." - }, - "tumblingWindowInSeconds": { - "type": "integer", - "description": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window." - } - }, - "type": "object", - "required": [ - "awsId", - "eventSourceMappingArn", - "functionName" - ], - "inputProperties": { - "amazonManagedKafkaEventSourceConfig": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingAmazonManagedKafkaEventSourceConfig", - "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source." - }, - "batchSize": { - "type": "integer", - "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* – Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* – Default 100. Max 10,000.\n + *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.\n + *Self-managed Apache Kafka* – Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.\n + *DocumentDB* – Default 100. Max 10,000." - }, - "bisectBatchOnFunctionError": { - "type": "boolean", - "description": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false." - }, - "destinationConfig": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingDestinationConfig", - "description": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it." - }, - "documentDbEventSourceConfig": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingDocumentDbEventSourceConfig", - "description": "Specific configuration settings for a DocumentDB event source." - }, - "enabled": { - "type": "boolean", - "description": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True" - }, - "eventSourceArn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* – The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* – The ARN of the stream.\n + *Amazon Simple Queue Service* – The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* – The ARN of the broker.\n + *Amazon DocumentDB* – The ARN of the DocumentDB change stream." - }, - "filterCriteria": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingFilterCriteria", - "description": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)." - }, - "functionName": { - "type": "string", - "description": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* – ``MyFunction``.\n + *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* – ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length." - }, - "functionResponseTypes": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:lambda:EventSourceMappingFunctionResponseTypesItem" - }, - "description": "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``" - }, - "kmsKeyArn": { - "type": "string", - "description": "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics)." - }, - "maximumBatchingWindowInSeconds": { - "type": "integer", - "description": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1." - }, - "maximumRecordAgeInSeconds": { - "type": "integer", - "description": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed" - }, - "maximumRetryAttempts": { - "type": "integer", - "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." + "metricsConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig" + }, + "parallelizationFactor": { + "type": "integer", + "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." + }, + "provisionedPollerConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig" + }, + "queues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(Amazon MQ) The name of the Amazon MQ broker destination queue to consume." + }, + "scalingConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingScalingConfig", + "description": "(Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency)." + }, + "selfManagedEventSource": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingSelfManagedEventSource", + "description": "The self-managed Apache Kafka cluster for your event source.", + "replaceOnChanges": true + }, + "selfManagedKafkaEventSourceConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingSelfManagedKafkaEventSourceConfig", + "description": "Specific configuration settings for a self-managed Apache Kafka event source.", + "replaceOnChanges": true + }, + "sourceAccessConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingSourceAccessConfiguration" + }, + "description": "An array of the authentication protocol, VPC components, or virtual host to secure and define your event source." + }, + "startingPosition": { + "type": "string", + "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB.\n + *LATEST* - Read only new records.\n + *TRIM_HORIZON* - Process all available records.\n + *AT_TIMESTAMP* - Specify a time from which to start reading records.", + "replaceOnChanges": true + }, + "startingPositionTimestamp": { + "type": "number", + "description": "With ``StartingPosition`` set to ``AT_TIMESTAMP``, the time from which to start reading, in Unix time seconds. ``StartingPositionTimestamp`` cannot be in the future.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A list of tags to add to the event source mapping.\n You must have the ``lambda:TagResource``, ``lambda:UntagResource``, and ``lambda:ListTags`` permissions for your [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) to manage the CFN stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update." + }, + "topics": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The name of the Kafka topic." + }, + "tumblingWindowInSeconds": { + "type": "integer", + "description": "(Kinesis and DynamoDB Streams only) The duration in seconds of a processing window for DynamoDB and Kinesis Streams event sources. A value of 0 seconds indicates no tumbling window." + } + }, + "type": "object", + "required": [ + "awsId", + "eventSourceMappingArn", + "functionName" + ], + "inputProperties": { + "amazonManagedKafkaEventSourceConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingAmazonManagedKafkaEventSourceConfig", + "description": "Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source." + }, + "batchSize": { + "type": "integer", + "description": "The maximum number of records in each batch that Lambda pulls from your stream or queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\n + *Amazon Kinesis* – Default 100. Max 10,000.\n + *Amazon DynamoDB Streams* – Default 100. Max 10,000.\n + *Amazon Simple Queue Service* – Default 10. For standard queues the max is 10,000. For FIFO queues the max is 10.\n + *Amazon Managed Streaming for Apache Kafka* – Default 100. Max 10,000.\n + *Self-managed Apache Kafka* – Default 100. Max 10,000.\n + *Amazon MQ (ActiveMQ and RabbitMQ)* – Default 100. Max 10,000.\n + *DocumentDB* – Default 100. Max 10,000." + }, + "bisectBatchOnFunctionError": { + "type": "boolean", + "description": "(Kinesis and DynamoDB Streams only) If the function returns an error, split the batch in two and retry. The default value is false." + }, + "destinationConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingDestinationConfig", + "description": "(Kinesis, DynamoDB Streams, Amazon MSK, and self-managed Apache Kafka event sources only) A configuration object that specifies the destination of an event after Lambda processes it." + }, + "documentDbEventSourceConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingDocumentDbEventSourceConfig", + "description": "Specific configuration settings for a DocumentDB event source." + }, + "enabled": { + "type": "boolean", + "description": "When true, the event source mapping is active. When false, Lambda pauses polling and invocation.\n Default: True" + }, + "eventSourceArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the event source.\n + *Amazon Kinesis* – The ARN of the data stream or a stream consumer.\n + *Amazon DynamoDB Streams* – The ARN of the stream.\n + *Amazon Simple Queue Service* – The ARN of the queue.\n + *Amazon Managed Streaming for Apache Kafka* – The ARN of the cluster or the ARN of the VPC connection (for [cross-account event source mappings](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#msk-multi-vpc)).\n + *Amazon MQ* – The ARN of the broker.\n + *Amazon DocumentDB* – The ARN of the DocumentDB change stream." + }, + "filterCriteria": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingFilterCriteria", + "description": "An object that defines the filter criteria that determine whether Lambda should process an event. For more information, see [Lambda event filtering](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)." + }, + "functionName": { + "type": "string", + "description": "The name or ARN of the Lambda function.\n **Name formats**\n + *Function name* – ``MyFunction``.\n + *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction``.\n + *Version or Alias ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD``.\n + *Partial ARN* – ``123456789012:function:MyFunction``.\n \n The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length." + }, + "functionResponseTypes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingFunctionResponseTypesItem" + }, + "description": "(Kinesis, DynamoDB Streams, and SQS) A list of current response type enums applied to the event source mapping.\n Valid Values: ``ReportBatchItemFailures``" + }, + "kmsKeyArn": { + "type": "string", + "description": "The ARN of the KMSlong (KMS) customer managed key that Lambda uses to encrypt your function's [filter criteria](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html#filtering-basics)." + }, + "maximumBatchingWindowInSeconds": { + "type": "integer", + "description": "The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n *Default (, , event sources)*: 0\n *Default (, Kafka, , event sources)*: 500 ms\n *Related setting:* For SQS event sources, when you set ``BatchSize`` to a value greater than 10, you must set ``MaximumBatchingWindowInSeconds`` to at least 1." + }, + "maximumRecordAgeInSeconds": { + "type": "integer", + "description": "(Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is -1, which sets the maximum age to infinite. When the value is set to infinite, Lambda never discards old records.\n The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed" + }, + "maximumRetryAttempts": { + "type": "integer", + "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." + }, + "metricsConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig" }, "parallelizationFactor": { "type": "integer", "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." }, + "provisionedPollerConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig" + }, "queues": { "type": "array", "items": { @@ -231362,6 +235204,60 @@ "engineType" ] }, + "aws-native:m2:Deployment": { + "description": "Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment", + "properties": { + "applicationId": { + "type": "string", + "description": "The application ID.", + "replaceOnChanges": true + }, + "applicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy" + }, + "deploymentId": { + "type": "string", + "description": "The deployment ID." + }, + "environmentId": { + "type": "string", + "description": "The environment ID.", + "replaceOnChanges": true + }, + "status": { + "type": "string", + "description": "The status of the deployment." + } + }, + "type": "object", + "required": [ + "applicationId", + "applicationVersion", + "deploymentId", + "environmentId", + "status" + ], + "inputProperties": { + "applicationId": { + "type": "string", + "description": "The application ID." + }, + "applicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy" + }, + "environmentId": { + "type": "string", + "description": "The environment ID." + } + }, + "requiredInputs": [ + "applicationId", + "applicationVersion", + "environmentId" + ] + }, "aws-native:m2:Environment": { "description": "Represents a runtime environment that can run migrated mainframe applications.", "properties": { @@ -236228,7 +240124,7 @@ }, "maxWebservers": { "type": "integer", - "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "maxWorkers": { "type": "integer", @@ -236236,7 +240132,7 @@ }, "minWebservers": { "type": "integer", - "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "minWorkers": { "type": "integer", @@ -236348,7 +240244,7 @@ }, "maxWebservers": { "type": "integer", - "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "maxWorkers": { "type": "integer", @@ -236356,7 +240252,7 @@ }, "minWebservers": { "type": "integer", - "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "minWorkers": { "type": "integer", @@ -239957,6 +243853,9 @@ "type": "string", "description": "Security config description" }, + "iamIdentityCenterOptions": { + "$ref": "#/types/aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions" + }, "name": { "type": "string", "description": "The friendly name of the security config", @@ -239981,6 +243880,9 @@ "type": "string", "description": "Security config description" }, + "iamIdentityCenterOptions": { + "$ref": "#/types/aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions" + }, "name": { "type": "string", "description": "The friendly name of the security config" @@ -244978,6 +248880,13 @@ "type": "string", "description": "The description of the retention rule." }, + "excludeResourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:rbin:RuleResourceTag" + }, + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule." + }, "identifier": { "type": "string", "description": "The unique ID of the retention rule." @@ -245031,6 +248940,13 @@ "type": "string", "description": "The description of the retention rule." }, + "excludeResourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:rbin:RuleResourceTag" + }, + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule." + }, "lockConfiguration": { "$ref": "#/types/aws-native:rbin:RuleUnlockDelay", "description": "Information about the retention rule lock configuration." @@ -247160,6 +251076,9 @@ "description": "The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string.", "replaceOnChanges": true }, + "globalEndpoint": { + "$ref": "#/types/aws-native:rds:GlobalClusterGlobalEndpoint" + }, "sourceDbClusterIdentifier": { "type": "string", "description": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string.", @@ -247200,6 +251119,9 @@ "type": "string", "description": "The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string." }, + "globalEndpoint": { + "$ref": "#/types/aws-native:rds:GlobalClusterGlobalEndpoint" + }, "sourceDbClusterIdentifier": { "type": "string", "description": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string." @@ -253012,6 +256934,10 @@ "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, + "lifecycleConfiguration": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketLifecycleConfiguration", + "description": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime." + }, "locationName": { "type": "string", "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'.", @@ -253038,6 +256964,10 @@ "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, + "lifecycleConfiguration": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketLifecycleConfiguration", + "description": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime." + }, "locationName": { "type": "string", "description": "Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'." @@ -261899,6 +265829,10 @@ "description": "Name of the canary.", "replaceOnChanges": true }, + "provisionedResourceCleanup": { + "$ref": "#/types/aws-native:synthetics:CanaryProvisionedResourceCleanup", + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC." + }, "resourcesToReplicateTags": { "type": "array", "items": { @@ -261986,6 +265920,10 @@ "type": "string", "description": "Name of the canary." }, + "provisionedResourceCleanup": { + "$ref": "#/types/aws-native:synthetics:CanaryProvisionedResourceCleanup", + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC." + }, "resourcesToReplicateTags": { "type": "array", "items": { @@ -266061,6 +269999,81 @@ } } }, + "aws-native:workspacesweb:DataProtectionSettings": { + "description": "Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type", + "properties": { + "additionalEncryptionContext": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "replaceOnChanges": true + }, + "associatedPortalArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "creationDate": { + "type": "string" + }, + "customerManagedKey": { + "type": "string", + "replaceOnChanges": true + }, + "dataProtectionSettingsArn": { + "type": "string" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inlineRedactionConfiguration": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "type": "object", + "required": [ + "associatedPortalArns", + "creationDate", + "dataProtectionSettingsArn" + ], + "inputProperties": { + "additionalEncryptionContext": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "customerManagedKey": { + "type": "string" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inlineRedactionConfiguration": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + }, "aws-native:workspacesweb:IdentityProvider": { "description": "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type", "properties": { @@ -266347,6 +270360,9 @@ "description": "The customer managed key of the web portal.\n\n*Pattern* : `^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$`", "replaceOnChanges": true }, + "dataProtectionSettingsArn": { + "type": "string" + }, "displayName": { "type": "string", "description": "The name of the web portal." @@ -266442,6 +270458,9 @@ "type": "string", "description": "The customer managed key of the web portal.\n\n*Pattern* : `^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$`" }, + "dataProtectionSettingsArn": { + "type": "string" + }, "displayName": { "type": "string", "description": "The name of the web portal." @@ -267715,6 +271734,36 @@ } } }, + "aws-native:apigateway:getBasePathMappingV2": { + "description": "Resource Type definition for AWS::ApiGateway::BasePathMappingV2", + "inputs": { + "properties": { + "basePathMappingArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the resource." + } + }, + "required": [ + "basePathMappingArn" + ] + }, + "outputs": { + "properties": { + "basePathMappingArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the resource." + }, + "restApiId": { + "type": "string", + "description": "The ID of the API." + }, + "stage": { + "type": "string", + "description": "The name of the API's stage." + } + } + } + }, "aws-native:apigateway:getClientCertificate": { "description": "The ``AWS::ApiGateway::ClientCertificate`` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint.", "inputs": { @@ -267912,6 +271961,70 @@ } } }, + "aws-native:apigateway:getDomainNameAccessAssociation": { + "description": "Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation.", + "inputs": { + "properties": { + "domainNameAccessAssociationArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name access association resource." + } + }, + "required": [ + "domainNameAccessAssociationArn" + ] + }, + "outputs": { + "properties": { + "domainNameAccessAssociationArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name access association resource." + } + } + } + }, + "aws-native:apigateway:getDomainNameV2": { + "description": "Resource Type definition for AWS::ApiGateway::DomainNameV2.", + "inputs": { + "properties": { + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + } + }, + "required": [ + "domainNameArn" + ] + }, + "outputs": { + "properties": { + "certificateArn": { + "type": "string" + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + }, + "domainNameId": { + "type": "string" + }, + "managementPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + } + }, "aws-native:apigateway:getGatewayResponse": { "description": "The ``AWS::ApiGateway::GatewayResponse`` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide*.", "inputs": { @@ -274181,10 +278294,12 @@ "description": "S3 Bucket where the guard validate report will be uploaded to" }, "options": { - "$ref": "#/types/aws-native:cloudformation:OptionsProperties" + "$ref": "#/types/aws-native:cloudformation:OptionsProperties", + "description": "Specifies the S3 location of your input parameters." }, "ruleLocation": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location of your Guard rules." }, "stackFilters": { "$ref": "#/types/aws-native:cloudformation:StackFiltersProperties", @@ -277543,6 +281658,47 @@ } } }, + "aws-native:connect:getEmailAddress": { + "description": "Resource Type definition for AWS::Connect::EmailAddress", + "inputs": { + "properties": { + "emailAddressArn": { + "type": "string", + "description": "The identifier of the email address." + } + }, + "required": [ + "emailAddressArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "A description for the email address." + }, + "displayName": { + "type": "string", + "description": "The display name for the email address." + }, + "emailAddressArn": { + "type": "string", + "description": "The identifier of the email address." + }, + "instanceArn": { + "type": "string", + "description": "The identifier of the Amazon Connect instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "One or more tags." + } + } + } + }, "aws-native:connect:getEvaluationForm": { "description": "Creates an evaluation form for the specified CON instance.", "inputs": { @@ -277629,6 +281785,13 @@ "type": "string", "description": "The Amazon Resource Name (ARN) for the hours of operation." }, + "hoursOfOperationOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:HoursOfOperationOverride" + }, + "description": "One or more hours of operation overrides assigned to an hour of operation." + }, "instanceArn": { "type": "string", "description": "The identifier of the Amazon Connect instance." @@ -278979,6 +283142,13 @@ "type": "string", "description": "The time of this integration got created" }, + "eventTriggerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique names for active event triggers associated with the integration." + }, "lastUpdatedAt": { "type": "string", "description": "The time of this integration got last updated at" @@ -279080,6 +283250,48 @@ } } }, + "aws-native:customerprofiles:getSegmentDefinition": { + "description": "A segment definition resource of Amazon Connect Customer Profiles", + "inputs": { + "properties": { + "domainName": { + "type": "string", + "description": "The unique name of the domain." + }, + "segmentDefinitionName": { + "type": "string", + "description": "The unique name of the segment definition." + } + }, + "required": [ + "domainName", + "segmentDefinitionName" + ] + }, + "outputs": { + "properties": { + "createdAt": { + "type": "string", + "description": "The time of this segment definition got created." + }, + "description": { + "type": "string", + "description": "The description of the segment definition." + }, + "segmentDefinitionArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the segment definition." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "The tags used to organize, track, or control access for this resource." + } + } + } + }, "aws-native:databrew:getDataset": { "description": "Resource schema for AWS::DataBrew::Dataset.", "inputs": { @@ -285224,6 +289436,65 @@ } } }, + "aws-native:ec2:getVpcBlockPublicAccessExclusion": { + "description": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion.", + "inputs": { + "properties": { + "exclusionId": { + "type": "string", + "description": "The ID of the exclusion" + } + }, + "required": [ + "exclusionId" + ] + }, + "outputs": { + "properties": { + "exclusionId": { + "type": "string", + "description": "The ID of the exclusion" + }, + "internetGatewayExclusionMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode", + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, + "aws-native:ec2:getVpcBlockPublicAccessOptions": { + "description": "Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions", + "inputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + } + }, + "required": [ + "accountId" + ] + }, + "outputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The identifier for the specified AWS account." + }, + "internetGatewayBlockMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode", + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value" + } + } + } + }, "aws-native:ec2:getVpcCidrBlock": { "description": "Resource Type definition for AWS::EC2::VPCCidrBlock", "inputs": { @@ -293690,6 +297961,10 @@ "$ref": "#/types/aws-native:index:Tag" }, "description": "An array of key-value pairs to apply to this resource." + }, + "thingTypeProperties": { + "$ref": "#/types/aws-native:iot:ThingTypePropertiesProperties", + "description": "The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` ." } } } @@ -294472,6 +298747,12 @@ "type": "string", "description": "The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal." }, + "portalTypeConfiguration": { + "type": "object", + "additionalProperties": { + "$ref": "#/types/aws-native:iotsitewise:PortalTypeEntry" + } + }, "roleArn": { "type": "string", "description": "The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf." @@ -296834,10 +301115,16 @@ "type": "integer", "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." }, + "metricsConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig" + }, "parallelizationFactor": { "type": "integer", "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." }, + "provisionedPollerConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig" + }, "queues": { "type": "array", "items": { @@ -298947,6 +303234,36 @@ } } }, + "aws-native:m2:getDeployment": { + "description": "Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment", + "inputs": { + "properties": { + "applicationId": { + "type": "string", + "description": "The application ID." + } + }, + "required": [ + "applicationId" + ] + }, + "outputs": { + "properties": { + "applicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy" + }, + "deploymentId": { + "type": "string", + "description": "The deployment ID." + }, + "status": { + "type": "string", + "description": "The status of the deployment." + } + } + } + }, "aws-native:m2:getEnvironment": { "description": "Represents a runtime environment that can run migrated mainframe applications.", "inputs": { @@ -301541,7 +305858,7 @@ }, "maxWebservers": { "type": "integer", - "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "maxWorkers": { "type": "integer", @@ -301549,7 +305866,7 @@ }, "minWebservers": { "type": "integer", - "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: Accepts between `2` and `5` . Defaults to `2` ." + "description": "The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` .\n\nValid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` ." }, "minWorkers": { "type": "integer", @@ -303462,6 +307779,9 @@ "type": "string", "description": "Security config description" }, + "iamIdentityCenterOptions": { + "$ref": "#/types/aws-native:opensearchserverless:SecurityConfigIamIdentityCenterConfigOptions" + }, "id": { "type": "string", "description": "The identifier of the security config" @@ -306044,6 +310364,13 @@ "type": "string", "description": "The description of the retention rule." }, + "excludeResourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:rbin:RuleResourceTag" + }, + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule." + }, "identifier": { "type": "string", "description": "The unique ID of the retention rule." @@ -306954,6 +311281,9 @@ "type": "string", "description": "The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster." }, + "globalEndpoint": { + "$ref": "#/types/aws-native:rds:GlobalClusterGlobalEndpoint" + }, "tags": { "type": "array", "items": { @@ -309009,6 +313339,13 @@ "status": { "$ref": "#/types/aws-native:route53recoverycontrol:SafetyRuleStatus", "description": "The deployment status of the routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "A collection of tags associated with a resource" } } } @@ -310127,6 +314464,10 @@ "bucketEncryption": { "$ref": "#/types/aws-native:s3express:DirectoryBucketBucketEncryption", "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* ." + }, + "lifecycleConfiguration": { + "$ref": "#/types/aws-native:s3express:DirectoryBucketLifecycleConfiguration", + "description": "Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime." } } } @@ -314751,6 +319092,10 @@ "type": "string", "description": "Id of the canary" }, + "provisionedResourceCleanup": { + "$ref": "#/types/aws-native:synthetics:CanaryProvisionedResourceCleanup", + "description": "Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC." + }, "runConfig": { "$ref": "#/types/aws-native:synthetics:CanaryRunConfig", "description": "Provide canary run configuration" @@ -316988,6 +321333,50 @@ } } }, + "aws-native:workspacesweb:getDataProtectionSettings": { + "description": "Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type", + "inputs": { + "properties": { + "dataProtectionSettingsArn": { + "type": "string" + } + }, + "required": [ + "dataProtectionSettingsArn" + ] + }, + "outputs": { + "properties": { + "associatedPortalArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "creationDate": { + "type": "string" + }, + "dataProtectionSettingsArn": { + "type": "string" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inlineRedactionConfiguration": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + } + }, "aws-native:workspacesweb:getIdentityProvider": { "description": "Definition of AWS::WorkSpacesWeb::IdentityProvider Resource Type", "inputs": { @@ -317171,6 +321560,9 @@ "type": "string", "description": "The creation date of the web portal." }, + "dataProtectionSettingsArn": { + "type": "string" + }, "displayName": { "type": "string", "description": "The name of the web portal." diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index 0b06ff7401..bb804d1f57 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -151,6 +151,27 @@ } } }, + "aws-native:apigateway:BasePathMappingV2": { + "cfTypeName": "AWS::ApiGateway::BasePathMappingV2", + "properties": { + "basePath": { + "type": "string", + "description": "The base path name that callers of the API must provide in the URL after the domain name." + }, + "domainNameArn": { + "type": "string", + "description": "The Arn of an AWS::ApiGateway::DomainNameV2 resource." + }, + "restApiId": { + "type": "string", + "description": "The ID of the API." + }, + "stage": { + "type": "string", + "description": "The name of the API's stage." + } + } + }, "aws-native:apigateway:ClientCertificate": { "cfTypeName": "AWS::ApiGateway::ClientCertificate", "properties": { @@ -276,6 +297,61 @@ } } }, + "aws-native:apigateway:DomainNameAccessAssociation": { + "cfTypeName": "AWS::ApiGateway::DomainNameAccessAssociation", + "properties": { + "accessAssociationSource": { + "type": "string", + "description": "The source of the domain name access association resource." + }, + "accessAssociationSourceType": { + "$ref": "#/types/aws-native:apigateway:DomainNameAccessAssociationAccessAssociationSourceType", + "description": "The source type of the domain name access association resource." + }, + "domainNameArn": { + "type": "string", + "description": "The amazon resource name (ARN) of the domain name resource." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:CreateOnlyTag" + }, + "description": "An array of arbitrary tags (key-value pairs) to associate with the domainname access association." + } + } + }, + "aws-native:apigateway:DomainNameV2": { + "cfTypeName": "AWS::ApiGateway::DomainNameV2", + "properties": { + "certificateArn": { + "type": "string" + }, + "domainName": { + "type": "string" + }, + "endpointConfiguration": { + "$ref": "#/types/aws-native:apigateway:DomainNameV2EndpointConfiguration" + }, + "managementPolicy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "policy": { + "$ref": "pulumi.json#/Any", + "description": "Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property." + }, + "securityPolicy": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + }, "aws-native:apigateway:GatewayResponse": { "cfTypeName": "AWS::ApiGateway::GatewayResponse", "properties": { @@ -1486,10 +1562,12 @@ "description": "S3 Bucket where the guard validate report will be uploaded to" }, "options": { - "$ref": "#/types/aws-native:cloudformation:OptionsProperties" + "$ref": "#/types/aws-native:cloudformation:OptionsProperties", + "description": "Specifies the S3 location of your input parameters." }, "ruleLocation": { - "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location" + "$ref": "#/types/aws-native:cloudformation:GuardHookS3Location", + "description": "Specifies the S3 location of your Guard rules." }, "stackFilters": { "$ref": "#/types/aws-native:cloudformation:StackFiltersProperties", @@ -2209,6 +2287,39 @@ } } }, + "aws-native:connect:EmailAddress": { + "cfTypeName": "AWS::Connect::EmailAddress", + "properties": { + "description": { + "type": "string", + "description": "A description for the email address." + }, + "displayName": { + "type": "string", + "description": "The display name for the email address." + }, + "emailAddress": { + "type": "string", + "description": "Email address to be created for this instance", + "language": { + "csharp": { + "name": "EmailAddressValue" + } + } + }, + "instanceArn": { + "type": "string", + "description": "The identifier of the Amazon Connect instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "One or more tags." + } + } + }, "aws-native:connect:EvaluationForm": { "cfTypeName": "AWS::Connect::EvaluationForm", "properties": { @@ -2535,6 +2646,13 @@ "type": "string", "description": "The unique name of the domain." }, + "eventTriggerNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of unique names for active event triggers associated with the integration." + }, "flowDefinition": { "$ref": "#/types/aws-native:customerprofiles:IntegrationFlowDefinition", "description": "The configuration that controls how Customer Profiles retrieves data from the source." @@ -5764,6 +5882,39 @@ } } }, + "aws-native:ec2:VpcBlockPublicAccessExclusion": { + "cfTypeName": "AWS::EC2::VPCBlockPublicAccessExclusion", + "properties": { + "internetGatewayExclusionMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessExclusionInternetGatewayExclusionMode", + "description": "The desired Block Public Access Exclusion Mode for a specific VPC/Subnet." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet. Required only if you don't specify VpcId" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcId": { + "type": "string", + "description": "The ID of the vpc. Required only if you don't specify SubnetId." + } + } + }, + "aws-native:ec2:VpcBlockPublicAccessOptions": { + "cfTypeName": "AWS::EC2::VPCBlockPublicAccessOptions", + "properties": { + "internetGatewayBlockMode": { + "$ref": "#/types/aws-native:ec2:VpcBlockPublicAccessOptionsInternetGatewayBlockMode", + "description": "The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value" + } + } + }, "aws-native:ec2:VpcCidrBlock": { "cfTypeName": "AWS::EC2::VPCCidrBlock", "properties": { @@ -8375,10 +8526,16 @@ "type": "integer", "description": "(Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source." }, + "metricsConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingMetricsConfig" + }, "parallelizationFactor": { "type": "integer", "description": "(Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1." }, + "provisionedPollerConfig": { + "$ref": "#/types/aws-native:lambda:EventSourceMappingProvisionedPollerConfig" + }, "queues": { "type": "array", "items": { @@ -8775,6 +8932,23 @@ } } }, + "aws-native:m2:Deployment": { + "cfTypeName": "AWS::M2::Deployment", + "properties": { + "applicationId": { + "type": "string", + "description": "The application ID." + }, + "applicationVersion": { + "type": "integer", + "description": "The version number of the application to deploy" + }, + "environmentId": { + "type": "string", + "description": "The environment ID." + } + } + }, "aws-native:macie:Session": { "cfTypeName": "AWS::Macie::Session", "properties": { @@ -10253,6 +10427,13 @@ "type": "string", "description": "The description of the retention rule." }, + "excludeResourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:rbin:RuleResourceTag" + }, + "description": "Information about the exclude resource tags used to identify resources that are excluded by the retention rule." + }, "lockConfiguration": { "$ref": "#/types/aws-native:rbin:RuleUnlockDelay", "description": "Information about the retention rule lock configuration." @@ -11019,6 +11200,9 @@ "type": "string", "description": "The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string." }, + "globalEndpoint": { + "$ref": "#/types/aws-native:rds:GlobalClusterGlobalEndpoint" + }, "sourceDbClusterIdentifier": { "type": "string", "description": "The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string." @@ -13239,6 +13423,35 @@ } } }, + "aws-native:workspacesweb:DataProtectionSettings": { + "cfTypeName": "AWS::WorkSpacesWeb::DataProtectionSettings", + "properties": { + "additionalEncryptionContext": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "customerManagedKey": { + "type": "string" + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "inlineRedactionConfiguration": { + "$ref": "#/types/aws-native:workspacesweb:DataProtectionSettingsInlineRedactionConfiguration" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + }, "aws-native:workspacesweb:IpAccessSettings": { "cfTypeName": "AWS::WorkSpacesWeb::IpAccessSettings", "properties": { @@ -13329,6 +13542,9 @@ "type": "string", "description": "The customer managed key of the web portal.\n\n*Pattern* : `^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$`" }, + "dataProtectionSettingsArn": { + "type": "string" + }, "displayName": { "type": "string", "description": "The name of the web portal." diff --git a/sdk/dotnet/ApiGateway/BasePathMappingV2.cs b/sdk/dotnet/ApiGateway/BasePathMappingV2.cs new file mode 100644 index 0000000000..bd0aa0fb28 --- /dev/null +++ b/sdk/dotnet/ApiGateway/BasePathMappingV2.cs @@ -0,0 +1,127 @@ +// *** 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.ApiGateway +{ + /// + /// Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + /// + [AwsNativeResourceType("aws-native:apigateway:BasePathMappingV2")] + public partial class BasePathMappingV2 : global::Pulumi.CustomResource + { + /// + /// The base path name that callers of the API must provide in the URL after the domain name. + /// + [Output("basePath")] + public Output BasePath { get; private set; } = null!; + + /// + /// Amazon Resource Name (ARN) of the resource. + /// + [Output("basePathMappingArn")] + public Output BasePathMappingArn { get; private set; } = null!; + + /// + /// The Arn of an AWS::ApiGateway::DomainNameV2 resource. + /// + [Output("domainNameArn")] + public Output DomainNameArn { get; private set; } = null!; + + /// + /// The ID of the API. + /// + [Output("restApiId")] + public Output RestApiId { get; private set; } = null!; + + /// + /// The name of the API's stage. + /// + [Output("stage")] + public Output Stage { get; private set; } = null!; + + + /// + /// Create a BasePathMappingV2 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 BasePathMappingV2(string name, BasePathMappingV2Args args, CustomResourceOptions? options = null) + : base("aws-native:apigateway:BasePathMappingV2", name, args ?? new BasePathMappingV2Args(), MakeResourceOptions(options, "")) + { + } + + private BasePathMappingV2(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:apigateway:BasePathMappingV2", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "basePath", + "domainNameArn", + }, + }; + 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 BasePathMappingV2 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 BasePathMappingV2 Get(string name, Input id, CustomResourceOptions? options = null) + { + return new BasePathMappingV2(name, id, options); + } + } + + public sealed class BasePathMappingV2Args : global::Pulumi.ResourceArgs + { + /// + /// The base path name that callers of the API must provide in the URL after the domain name. + /// + [Input("basePath")] + public Input? BasePath { get; set; } + + /// + /// The Arn of an AWS::ApiGateway::DomainNameV2 resource. + /// + [Input("domainNameArn", required: true)] + public Input DomainNameArn { get; set; } = null!; + + /// + /// The ID of the API. + /// + [Input("restApiId", required: true)] + public Input RestApiId { get; set; } = null!; + + /// + /// The name of the API's stage. + /// + [Input("stage")] + public Input? Stage { get; set; } + + public BasePathMappingV2Args() + { + } + public static new BasePathMappingV2Args Empty => new BasePathMappingV2Args(); + } +} diff --git a/sdk/dotnet/ApiGateway/DomainNameAccessAssociation.cs b/sdk/dotnet/ApiGateway/DomainNameAccessAssociation.cs new file mode 100644 index 0000000000..f06e8432ca --- /dev/null +++ b/sdk/dotnet/ApiGateway/DomainNameAccessAssociation.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.ApiGateway +{ + /// + /// Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + /// + [AwsNativeResourceType("aws-native:apigateway:DomainNameAccessAssociation")] + public partial class DomainNameAccessAssociation : global::Pulumi.CustomResource + { + /// + /// The source of the domain name access association resource. + /// + [Output("accessAssociationSource")] + public Output AccessAssociationSource { get; private set; } = null!; + + /// + /// The source type of the domain name access association resource. + /// + [Output("accessAssociationSourceType")] + public Output AccessAssociationSourceType { get; private set; } = null!; + + /// + /// The amazon resource name (ARN) of the domain name access association resource. + /// + [Output("domainNameAccessAssociationArn")] + public Output DomainNameAccessAssociationArn { get; private set; } = null!; + + /// + /// The amazon resource name (ARN) of the domain name resource. + /// + [Output("domainNameArn")] + public Output DomainNameArn { get; private set; } = null!; + + /// + /// An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a DomainNameAccessAssociation 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 DomainNameAccessAssociation(string name, DomainNameAccessAssociationArgs args, CustomResourceOptions? options = null) + : base("aws-native:apigateway:DomainNameAccessAssociation", name, args ?? new DomainNameAccessAssociationArgs(), MakeResourceOptions(options, "")) + { + } + + private DomainNameAccessAssociation(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:apigateway:DomainNameAccessAssociation", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "accessAssociationSource", + "accessAssociationSourceType", + "domainNameArn", + "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 DomainNameAccessAssociation 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 DomainNameAccessAssociation Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DomainNameAccessAssociation(name, id, options); + } + } + + public sealed class DomainNameAccessAssociationArgs : global::Pulumi.ResourceArgs + { + /// + /// The source of the domain name access association resource. + /// + [Input("accessAssociationSource", required: true)] + public Input AccessAssociationSource { get; set; } = null!; + + /// + /// The source type of the domain name access association resource. + /// + [Input("accessAssociationSourceType", required: true)] + public Input AccessAssociationSourceType { get; set; } = null!; + + /// + /// The amazon resource name (ARN) of the domain name resource. + /// + [Input("domainNameArn", required: true)] + public Input DomainNameArn { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public DomainNameAccessAssociationArgs() + { + } + public static new DomainNameAccessAssociationArgs Empty => new DomainNameAccessAssociationArgs(); + } +} diff --git a/sdk/dotnet/ApiGateway/DomainNameV2.cs b/sdk/dotnet/ApiGateway/DomainNameV2.cs new file mode 100644 index 0000000000..7e2b2de9a1 --- /dev/null +++ b/sdk/dotnet/ApiGateway/DomainNameV2.cs @@ -0,0 +1,142 @@ +// *** 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.ApiGateway +{ + /// + /// Resource Type definition for AWS::ApiGateway::DomainNameV2. + /// + [AwsNativeResourceType("aws-native:apigateway:DomainNameV2")] + public partial class DomainNameV2 : global::Pulumi.CustomResource + { + [Output("certificateArn")] + public Output CertificateArn { get; private set; } = null!; + + [Output("domainName")] + public Output DomainName { get; private set; } = null!; + + /// + /// The amazon resource name (ARN) of the domain name resource. + /// + [Output("domainNameArn")] + public Output DomainNameArn { get; private set; } = null!; + + [Output("domainNameId")] + public Output DomainNameId { get; private set; } = null!; + + [Output("endpointConfiguration")] + public Output EndpointConfiguration { get; private set; } = null!; + + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + /// + [Output("managementPolicy")] + public Output ManagementPolicy { get; private set; } = null!; + + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + /// + [Output("policy")] + public Output Policy { get; private set; } = null!; + + [Output("securityPolicy")] + public Output SecurityPolicy { get; private set; } = null!; + + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a DomainNameV2 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 DomainNameV2(string name, DomainNameV2Args? args = null, CustomResourceOptions? options = null) + : base("aws-native:apigateway:DomainNameV2", name, args ?? new DomainNameV2Args(), MakeResourceOptions(options, "")) + { + } + + private DomainNameV2(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:apigateway:DomainNameV2", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "domainName", + "endpointConfiguration", + "securityPolicy", + }, + }; + 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 DomainNameV2 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 DomainNameV2 Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DomainNameV2(name, id, options); + } + } + + public sealed class DomainNameV2Args : global::Pulumi.ResourceArgs + { + [Input("certificateArn")] + public Input? CertificateArn { get; set; } + + [Input("domainName")] + public Input? DomainName { get; set; } + + [Input("endpointConfiguration")] + public Input? EndpointConfiguration { get; set; } + + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + /// + [Input("managementPolicy")] + public Input? ManagementPolicy { get; set; } + + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + /// + [Input("policy")] + public Input? Policy { get; set; } + + [Input("securityPolicy")] + public Input? SecurityPolicy { get; set; } + + [Input("tags")] + private InputList? _tags; + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public DomainNameV2Args() + { + } + public static new DomainNameV2Args Empty => new DomainNameV2Args(); + } +} diff --git a/sdk/dotnet/ApiGateway/Enums.cs b/sdk/dotnet/ApiGateway/Enums.cs index 4f67e95919..d36c9df7a6 100644 --- a/sdk/dotnet/ApiGateway/Enums.cs +++ b/sdk/dotnet/ApiGateway/Enums.cs @@ -48,6 +48,36 @@ private DocumentationPartLocationType(string value) public override string ToString() => _value; } + /// + /// The source type of the domain name access association resource. + /// + [EnumType] + public readonly struct DomainNameAccessAssociationAccessAssociationSourceType : IEquatable + { + private readonly string _value; + + private DomainNameAccessAssociationAccessAssociationSourceType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DomainNameAccessAssociationAccessAssociationSourceType Vpce { get; } = new DomainNameAccessAssociationAccessAssociationSourceType("VPCE"); + + public static bool operator ==(DomainNameAccessAssociationAccessAssociationSourceType left, DomainNameAccessAssociationAccessAssociationSourceType right) => left.Equals(right); + public static bool operator !=(DomainNameAccessAssociationAccessAssociationSourceType left, DomainNameAccessAssociationAccessAssociationSourceType right) => !left.Equals(right); + + public static explicit operator string(DomainNameAccessAssociationAccessAssociationSourceType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DomainNameAccessAssociationAccessAssociationSourceType other && Equals(other); + public bool Equals(DomainNameAccessAssociationAccessAssociationSourceType 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 the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` . /// diff --git a/sdk/dotnet/ApiGateway/GetBasePathMappingV2.cs b/sdk/dotnet/ApiGateway/GetBasePathMappingV2.cs new file mode 100644 index 0000000000..b424a3a901 --- /dev/null +++ b/sdk/dotnet/ApiGateway/GetBasePathMappingV2.cs @@ -0,0 +1,86 @@ +// *** 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.ApiGateway +{ + public static class GetBasePathMappingV2 + { + /// + /// Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + /// + public static Task InvokeAsync(GetBasePathMappingV2Args args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:apigateway:getBasePathMappingV2", args ?? new GetBasePathMappingV2Args(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + /// + public static Output Invoke(GetBasePathMappingV2InvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:apigateway:getBasePathMappingV2", args ?? new GetBasePathMappingV2InvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetBasePathMappingV2Args : global::Pulumi.InvokeArgs + { + /// + /// Amazon Resource Name (ARN) of the resource. + /// + [Input("basePathMappingArn", required: true)] + public string BasePathMappingArn { get; set; } = null!; + + public GetBasePathMappingV2Args() + { + } + public static new GetBasePathMappingV2Args Empty => new GetBasePathMappingV2Args(); + } + + public sealed class GetBasePathMappingV2InvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Amazon Resource Name (ARN) of the resource. + /// + [Input("basePathMappingArn", required: true)] + public Input BasePathMappingArn { get; set; } = null!; + + public GetBasePathMappingV2InvokeArgs() + { + } + public static new GetBasePathMappingV2InvokeArgs Empty => new GetBasePathMappingV2InvokeArgs(); + } + + + [OutputType] + public sealed class GetBasePathMappingV2Result + { + /// + /// Amazon Resource Name (ARN) of the resource. + /// + public readonly string? BasePathMappingArn; + /// + /// The ID of the API. + /// + public readonly string? RestApiId; + /// + /// The name of the API's stage. + /// + public readonly string? Stage; + + [OutputConstructor] + private GetBasePathMappingV2Result( + string? basePathMappingArn, + + string? restApiId, + + string? stage) + { + BasePathMappingArn = basePathMappingArn; + RestApiId = restApiId; + Stage = stage; + } + } +} diff --git a/sdk/dotnet/ApiGateway/GetDomainNameAccessAssociation.cs b/sdk/dotnet/ApiGateway/GetDomainNameAccessAssociation.cs new file mode 100644 index 0000000000..4138011675 --- /dev/null +++ b/sdk/dotnet/ApiGateway/GetDomainNameAccessAssociation.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.ApiGateway +{ + public static class GetDomainNameAccessAssociation + { + /// + /// Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + /// + public static Task InvokeAsync(GetDomainNameAccessAssociationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:apigateway:getDomainNameAccessAssociation", args ?? new GetDomainNameAccessAssociationArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + /// + public static Output Invoke(GetDomainNameAccessAssociationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:apigateway:getDomainNameAccessAssociation", args ?? new GetDomainNameAccessAssociationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDomainNameAccessAssociationArgs : global::Pulumi.InvokeArgs + { + /// + /// The amazon resource name (ARN) of the domain name access association resource. + /// + [Input("domainNameAccessAssociationArn", required: true)] + public string DomainNameAccessAssociationArn { get; set; } = null!; + + public GetDomainNameAccessAssociationArgs() + { + } + public static new GetDomainNameAccessAssociationArgs Empty => new GetDomainNameAccessAssociationArgs(); + } + + public sealed class GetDomainNameAccessAssociationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The amazon resource name (ARN) of the domain name access association resource. + /// + [Input("domainNameAccessAssociationArn", required: true)] + public Input DomainNameAccessAssociationArn { get; set; } = null!; + + public GetDomainNameAccessAssociationInvokeArgs() + { + } + public static new GetDomainNameAccessAssociationInvokeArgs Empty => new GetDomainNameAccessAssociationInvokeArgs(); + } + + + [OutputType] + public sealed class GetDomainNameAccessAssociationResult + { + /// + /// The amazon resource name (ARN) of the domain name access association resource. + /// + public readonly string? DomainNameAccessAssociationArn; + + [OutputConstructor] + private GetDomainNameAccessAssociationResult(string? domainNameAccessAssociationArn) + { + DomainNameAccessAssociationArn = domainNameAccessAssociationArn; + } + } +} diff --git a/sdk/dotnet/ApiGateway/GetDomainNameV2.cs b/sdk/dotnet/ApiGateway/GetDomainNameV2.cs new file mode 100644 index 0000000000..f07020e771 --- /dev/null +++ b/sdk/dotnet/ApiGateway/GetDomainNameV2.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.ApiGateway +{ + public static class GetDomainNameV2 + { + /// + /// Resource Type definition for AWS::ApiGateway::DomainNameV2. + /// + public static Task InvokeAsync(GetDomainNameV2Args args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:apigateway:getDomainNameV2", args ?? new GetDomainNameV2Args(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::ApiGateway::DomainNameV2. + /// + public static Output Invoke(GetDomainNameV2InvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:apigateway:getDomainNameV2", args ?? new GetDomainNameV2InvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDomainNameV2Args : global::Pulumi.InvokeArgs + { + /// + /// The amazon resource name (ARN) of the domain name resource. + /// + [Input("domainNameArn", required: true)] + public string DomainNameArn { get; set; } = null!; + + public GetDomainNameV2Args() + { + } + public static new GetDomainNameV2Args Empty => new GetDomainNameV2Args(); + } + + public sealed class GetDomainNameV2InvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The amazon resource name (ARN) of the domain name resource. + /// + [Input("domainNameArn", required: true)] + public Input DomainNameArn { get; set; } = null!; + + public GetDomainNameV2InvokeArgs() + { + } + public static new GetDomainNameV2InvokeArgs Empty => new GetDomainNameV2InvokeArgs(); + } + + + [OutputType] + public sealed class GetDomainNameV2Result + { + public readonly string? CertificateArn; + /// + /// The amazon resource name (ARN) of the domain name resource. + /// + public readonly string? DomainNameArn; + public readonly string? DomainNameId; + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + /// + public readonly object? ManagementPolicy; + /// + /// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + /// + public readonly object? Policy; + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetDomainNameV2Result( + string? certificateArn, + + string? domainNameArn, + + string? domainNameId, + + object? managementPolicy, + + object? policy, + + ImmutableArray tags) + { + CertificateArn = certificateArn; + DomainNameArn = domainNameArn; + DomainNameId = domainNameId; + ManagementPolicy = managementPolicy; + Policy = policy; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/ApiGateway/Inputs/DomainNameV2EndpointConfigurationArgs.cs b/sdk/dotnet/ApiGateway/Inputs/DomainNameV2EndpointConfigurationArgs.cs new file mode 100644 index 0000000000..c09054c034 --- /dev/null +++ b/sdk/dotnet/ApiGateway/Inputs/DomainNameV2EndpointConfigurationArgs.cs @@ -0,0 +1,28 @@ +// *** 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.ApiGateway.Inputs +{ + + public sealed class DomainNameV2EndpointConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("types")] + private InputList? _types; + public InputList Types + { + get => _types ?? (_types = new InputList()); + set => _types = value; + } + + public DomainNameV2EndpointConfigurationArgs() + { + } + public static new DomainNameV2EndpointConfigurationArgs Empty => new DomainNameV2EndpointConfigurationArgs(); + } +} diff --git a/sdk/dotnet/ApiGateway/Outputs/DomainNameV2EndpointConfiguration.cs b/sdk/dotnet/ApiGateway/Outputs/DomainNameV2EndpointConfiguration.cs new file mode 100644 index 0000000000..2c0d9b5257 --- /dev/null +++ b/sdk/dotnet/ApiGateway/Outputs/DomainNameV2EndpointConfiguration.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.ApiGateway.Outputs +{ + + [OutputType] + public sealed class DomainNameV2EndpointConfiguration + { + public readonly ImmutableArray Types; + + [OutputConstructor] + private DomainNameV2EndpointConfiguration(ImmutableArray types) + { + Types = types; + } + } +} diff --git a/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyCustomizedMetricSpecificationArgs.cs b/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyCustomizedMetricSpecificationArgs.cs index ec2c633150..6a27fee893 100644 --- a/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyCustomizedMetricSpecificationArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyCustomizedMetricSpecificationArgs.cs @@ -50,6 +50,9 @@ public InputList Metrics [Input("namespace")] public Input? Namespace { get; set; } + [Input("period")] + public Input? Period { get; set; } + /// /// The statistic of the metric. /// diff --git a/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricDataQueryArgs.cs b/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricDataQueryArgs.cs index 6234d5c386..19fd688177 100644 --- a/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricDataQueryArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricDataQueryArgs.cs @@ -40,6 +40,9 @@ public sealed class ScalingPolicyTargetTrackingMetricDataQueryArgs : global::Pul [Input("metricStat")] public Input? MetricStat { get; set; } + [Input("period")] + public Input? Period { get; set; } + /// /// Indicates whether to return the timestamps and raw data values of this metric. /// diff --git a/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricStatArgs.cs b/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricStatArgs.cs index 94f605b7eb..b754dcc5eb 100644 --- a/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricStatArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/ScalingPolicyTargetTrackingMetricStatArgs.cs @@ -18,6 +18,9 @@ public sealed class ScalingPolicyTargetTrackingMetricStatArgs : global::Pulumi.R [Input("metric", required: true)] public Input Metric { get; set; } = null!; + [Input("period")] + public Input? Period { get; set; } + /// /// The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . /// diff --git a/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyCustomizedMetricSpecification.cs b/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyCustomizedMetricSpecification.cs index 36962874d4..dfb533d9c7 100644 --- a/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyCustomizedMetricSpecification.cs +++ b/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyCustomizedMetricSpecification.cs @@ -31,6 +31,7 @@ public sealed class ScalingPolicyCustomizedMetricSpecification /// The namespace of the metric. /// public readonly string? Namespace; + public readonly int? Period; /// /// The statistic of the metric. /// @@ -50,6 +51,8 @@ private ScalingPolicyCustomizedMetricSpecification( string? @namespace, + int? period, + string? statistic, string? unit) @@ -58,6 +61,7 @@ private ScalingPolicyCustomizedMetricSpecification( MetricName = metricName; Metrics = metrics; Namespace = @namespace; + Period = period; Statistic = statistic; Unit = unit; } diff --git a/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricDataQuery.cs b/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricDataQuery.cs index c2d5612181..b75b775673 100644 --- a/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricDataQuery.cs +++ b/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricDataQuery.cs @@ -33,6 +33,7 @@ public sealed class ScalingPolicyTargetTrackingMetricDataQuery /// Conditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both. /// public readonly Outputs.ScalingPolicyTargetTrackingMetricStat? MetricStat; + public readonly int? Period; /// /// Indicates whether to return the timestamps and raw data values of this metric. /// @@ -52,12 +53,15 @@ private ScalingPolicyTargetTrackingMetricDataQuery( Outputs.ScalingPolicyTargetTrackingMetricStat? metricStat, + int? period, + bool? returnData) { Expression = expression; Id = id; Label = label; MetricStat = metricStat; + Period = period; ReturnData = returnData; } } diff --git a/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricStat.cs b/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricStat.cs index 3d35ab339c..bf53d84616 100644 --- a/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricStat.cs +++ b/sdk/dotnet/AutoScaling/Outputs/ScalingPolicyTargetTrackingMetricStat.cs @@ -17,6 +17,7 @@ public sealed class ScalingPolicyTargetTrackingMetricStat /// The metric to use. /// public readonly Outputs.ScalingPolicyMetric Metric; + public readonly int? Period; /// /// The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . /// @@ -32,11 +33,14 @@ public sealed class ScalingPolicyTargetTrackingMetricStat private ScalingPolicyTargetTrackingMetricStat( Outputs.ScalingPolicyMetric metric, + int? period, + string stat, string? unit) { Metric = metric; + Period = period; Stat = stat; Unit = unit; } diff --git a/sdk/dotnet/B2bi/Enums.cs b/sdk/dotnet/B2bi/Enums.cs index 64b7dd13f4..21f0ae2302 100644 --- a/sdk/dotnet/B2bi/Enums.cs +++ b/sdk/dotnet/B2bi/Enums.cs @@ -72,57 +72,324 @@ private CapabilityX12TransactionSet(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + public static CapabilityX12TransactionSet X12100 { get; } = new CapabilityX12TransactionSet("X12_100"); + public static CapabilityX12TransactionSet X12101 { get; } = new CapabilityX12TransactionSet("X12_101"); + public static CapabilityX12TransactionSet X12102 { get; } = new CapabilityX12TransactionSet("X12_102"); + public static CapabilityX12TransactionSet X12103 { get; } = new CapabilityX12TransactionSet("X12_103"); + public static CapabilityX12TransactionSet X12104 { get; } = new CapabilityX12TransactionSet("X12_104"); + public static CapabilityX12TransactionSet X12105 { get; } = new CapabilityX12TransactionSet("X12_105"); + public static CapabilityX12TransactionSet X12106 { get; } = new CapabilityX12TransactionSet("X12_106"); + public static CapabilityX12TransactionSet X12107 { get; } = new CapabilityX12TransactionSet("X12_107"); + public static CapabilityX12TransactionSet X12108 { get; } = new CapabilityX12TransactionSet("X12_108"); + public static CapabilityX12TransactionSet X12109 { get; } = new CapabilityX12TransactionSet("X12_109"); public static CapabilityX12TransactionSet X12110 { get; } = new CapabilityX12TransactionSet("X12_110"); + public static CapabilityX12TransactionSet X12111 { get; } = new CapabilityX12TransactionSet("X12_111"); + public static CapabilityX12TransactionSet X12112 { get; } = new CapabilityX12TransactionSet("X12_112"); + public static CapabilityX12TransactionSet X12113 { get; } = new CapabilityX12TransactionSet("X12_113"); + public static CapabilityX12TransactionSet X12120 { get; } = new CapabilityX12TransactionSet("X12_120"); + public static CapabilityX12TransactionSet X12121 { get; } = new CapabilityX12TransactionSet("X12_121"); + public static CapabilityX12TransactionSet X12124 { get; } = new CapabilityX12TransactionSet("X12_124"); + public static CapabilityX12TransactionSet X12125 { get; } = new CapabilityX12TransactionSet("X12_125"); + public static CapabilityX12TransactionSet X12126 { get; } = new CapabilityX12TransactionSet("X12_126"); + public static CapabilityX12TransactionSet X12127 { get; } = new CapabilityX12TransactionSet("X12_127"); + public static CapabilityX12TransactionSet X12128 { get; } = new CapabilityX12TransactionSet("X12_128"); + public static CapabilityX12TransactionSet X12129 { get; } = new CapabilityX12TransactionSet("X12_129"); + public static CapabilityX12TransactionSet X12130 { get; } = new CapabilityX12TransactionSet("X12_130"); + public static CapabilityX12TransactionSet X12131 { get; } = new CapabilityX12TransactionSet("X12_131"); + public static CapabilityX12TransactionSet X12132 { get; } = new CapabilityX12TransactionSet("X12_132"); + public static CapabilityX12TransactionSet X12133 { get; } = new CapabilityX12TransactionSet("X12_133"); + public static CapabilityX12TransactionSet X12135 { get; } = new CapabilityX12TransactionSet("X12_135"); + public static CapabilityX12TransactionSet X12138 { get; } = new CapabilityX12TransactionSet("X12_138"); + public static CapabilityX12TransactionSet X12139 { get; } = new CapabilityX12TransactionSet("X12_139"); + public static CapabilityX12TransactionSet X12140 { get; } = new CapabilityX12TransactionSet("X12_140"); + public static CapabilityX12TransactionSet X12141 { get; } = new CapabilityX12TransactionSet("X12_141"); + public static CapabilityX12TransactionSet X12142 { get; } = new CapabilityX12TransactionSet("X12_142"); + public static CapabilityX12TransactionSet X12143 { get; } = new CapabilityX12TransactionSet("X12_143"); + public static CapabilityX12TransactionSet X12144 { get; } = new CapabilityX12TransactionSet("X12_144"); + public static CapabilityX12TransactionSet X12146 { get; } = new CapabilityX12TransactionSet("X12_146"); + public static CapabilityX12TransactionSet X12147 { get; } = new CapabilityX12TransactionSet("X12_147"); + public static CapabilityX12TransactionSet X12148 { get; } = new CapabilityX12TransactionSet("X12_148"); + public static CapabilityX12TransactionSet X12149 { get; } = new CapabilityX12TransactionSet("X12_149"); + public static CapabilityX12TransactionSet X12150 { get; } = new CapabilityX12TransactionSet("X12_150"); + public static CapabilityX12TransactionSet X12151 { get; } = new CapabilityX12TransactionSet("X12_151"); + public static CapabilityX12TransactionSet X12152 { get; } = new CapabilityX12TransactionSet("X12_152"); + public static CapabilityX12TransactionSet X12153 { get; } = new CapabilityX12TransactionSet("X12_153"); + public static CapabilityX12TransactionSet X12154 { get; } = new CapabilityX12TransactionSet("X12_154"); + public static CapabilityX12TransactionSet X12155 { get; } = new CapabilityX12TransactionSet("X12_155"); + public static CapabilityX12TransactionSet X12157 { get; } = new CapabilityX12TransactionSet("X12_157"); + public static CapabilityX12TransactionSet X12158 { get; } = new CapabilityX12TransactionSet("X12_158"); + public static CapabilityX12TransactionSet X12159 { get; } = new CapabilityX12TransactionSet("X12_159"); + public static CapabilityX12TransactionSet X12160 { get; } = new CapabilityX12TransactionSet("X12_160"); + public static CapabilityX12TransactionSet X12161 { get; } = new CapabilityX12TransactionSet("X12_161"); + public static CapabilityX12TransactionSet X12163 { get; } = new CapabilityX12TransactionSet("X12_163"); + public static CapabilityX12TransactionSet X12170 { get; } = new CapabilityX12TransactionSet("X12_170"); + public static CapabilityX12TransactionSet X12175 { get; } = new CapabilityX12TransactionSet("X12_175"); + public static CapabilityX12TransactionSet X12176 { get; } = new CapabilityX12TransactionSet("X12_176"); + public static CapabilityX12TransactionSet X12179 { get; } = new CapabilityX12TransactionSet("X12_179"); public static CapabilityX12TransactionSet X12180 { get; } = new CapabilityX12TransactionSet("X12_180"); + public static CapabilityX12TransactionSet X12185 { get; } = new CapabilityX12TransactionSet("X12_185"); + public static CapabilityX12TransactionSet X12186 { get; } = new CapabilityX12TransactionSet("X12_186"); + public static CapabilityX12TransactionSet X12187 { get; } = new CapabilityX12TransactionSet("X12_187"); + public static CapabilityX12TransactionSet X12188 { get; } = new CapabilityX12TransactionSet("X12_188"); + public static CapabilityX12TransactionSet X12189 { get; } = new CapabilityX12TransactionSet("X12_189"); + public static CapabilityX12TransactionSet X12190 { get; } = new CapabilityX12TransactionSet("X12_190"); + public static CapabilityX12TransactionSet X12191 { get; } = new CapabilityX12TransactionSet("X12_191"); + public static CapabilityX12TransactionSet X12194 { get; } = new CapabilityX12TransactionSet("X12_194"); + public static CapabilityX12TransactionSet X12195 { get; } = new CapabilityX12TransactionSet("X12_195"); + public static CapabilityX12TransactionSet X12196 { get; } = new CapabilityX12TransactionSet("X12_196"); + public static CapabilityX12TransactionSet X12197 { get; } = new CapabilityX12TransactionSet("X12_197"); + public static CapabilityX12TransactionSet X12198 { get; } = new CapabilityX12TransactionSet("X12_198"); + public static CapabilityX12TransactionSet X12199 { get; } = new CapabilityX12TransactionSet("X12_199"); + public static CapabilityX12TransactionSet X12200 { get; } = new CapabilityX12TransactionSet("X12_200"); + public static CapabilityX12TransactionSet X12201 { get; } = new CapabilityX12TransactionSet("X12_201"); + public static CapabilityX12TransactionSet X12202 { get; } = new CapabilityX12TransactionSet("X12_202"); + public static CapabilityX12TransactionSet X12203 { get; } = new CapabilityX12TransactionSet("X12_203"); public static CapabilityX12TransactionSet X12204 { get; } = new CapabilityX12TransactionSet("X12_204"); + public static CapabilityX12TransactionSet X12205 { get; } = new CapabilityX12TransactionSet("X12_205"); + public static CapabilityX12TransactionSet X12206 { get; } = new CapabilityX12TransactionSet("X12_206"); public static CapabilityX12TransactionSet X12210 { get; } = new CapabilityX12TransactionSet("X12_210"); public static CapabilityX12TransactionSet X12211 { get; } = new CapabilityX12TransactionSet("X12_211"); + public static CapabilityX12TransactionSet X12212 { get; } = new CapabilityX12TransactionSet("X12_212"); + public static CapabilityX12TransactionSet X12213 { get; } = new CapabilityX12TransactionSet("X12_213"); public static CapabilityX12TransactionSet X12214 { get; } = new CapabilityX12TransactionSet("X12_214"); public static CapabilityX12TransactionSet X12215 { get; } = new CapabilityX12TransactionSet("X12_215"); + public static CapabilityX12TransactionSet X12216 { get; } = new CapabilityX12TransactionSet("X12_216"); + public static CapabilityX12TransactionSet X12217 { get; } = new CapabilityX12TransactionSet("X12_217"); + public static CapabilityX12TransactionSet X12218 { get; } = new CapabilityX12TransactionSet("X12_218"); + public static CapabilityX12TransactionSet X12219 { get; } = new CapabilityX12TransactionSet("X12_219"); + public static CapabilityX12TransactionSet X12220 { get; } = new CapabilityX12TransactionSet("X12_220"); + public static CapabilityX12TransactionSet X12222 { get; } = new CapabilityX12TransactionSet("X12_222"); + public static CapabilityX12TransactionSet X12223 { get; } = new CapabilityX12TransactionSet("X12_223"); + public static CapabilityX12TransactionSet X12224 { get; } = new CapabilityX12TransactionSet("X12_224"); + public static CapabilityX12TransactionSet X12225 { get; } = new CapabilityX12TransactionSet("X12_225"); + public static CapabilityX12TransactionSet X12227 { get; } = new CapabilityX12TransactionSet("X12_227"); + public static CapabilityX12TransactionSet X12228 { get; } = new CapabilityX12TransactionSet("X12_228"); + public static CapabilityX12TransactionSet X12240 { get; } = new CapabilityX12TransactionSet("X12_240"); + public static CapabilityX12TransactionSet X12242 { get; } = new CapabilityX12TransactionSet("X12_242"); + public static CapabilityX12TransactionSet X12244 { get; } = new CapabilityX12TransactionSet("X12_244"); + public static CapabilityX12TransactionSet X12245 { get; } = new CapabilityX12TransactionSet("X12_245"); + public static CapabilityX12TransactionSet X12248 { get; } = new CapabilityX12TransactionSet("X12_248"); + public static CapabilityX12TransactionSet X12249 { get; } = new CapabilityX12TransactionSet("X12_249"); + public static CapabilityX12TransactionSet X12250 { get; } = new CapabilityX12TransactionSet("X12_250"); + public static CapabilityX12TransactionSet X12251 { get; } = new CapabilityX12TransactionSet("X12_251"); + public static CapabilityX12TransactionSet X12252 { get; } = new CapabilityX12TransactionSet("X12_252"); + public static CapabilityX12TransactionSet X12255 { get; } = new CapabilityX12TransactionSet("X12_255"); + public static CapabilityX12TransactionSet X12256 { get; } = new CapabilityX12TransactionSet("X12_256"); public static CapabilityX12TransactionSet X12259 { get; } = new CapabilityX12TransactionSet("X12_259"); public static CapabilityX12TransactionSet X12260 { get; } = new CapabilityX12TransactionSet("X12_260"); + public static CapabilityX12TransactionSet X12261 { get; } = new CapabilityX12TransactionSet("X12_261"); + public static CapabilityX12TransactionSet X12262 { get; } = new CapabilityX12TransactionSet("X12_262"); + public static CapabilityX12TransactionSet X12263 { get; } = new CapabilityX12TransactionSet("X12_263"); + public static CapabilityX12TransactionSet X12264 { get; } = new CapabilityX12TransactionSet("X12_264"); + public static CapabilityX12TransactionSet X12265 { get; } = new CapabilityX12TransactionSet("X12_265"); public static CapabilityX12TransactionSet X12266 { get; } = new CapabilityX12TransactionSet("X12_266"); + public static CapabilityX12TransactionSet X12267 { get; } = new CapabilityX12TransactionSet("X12_267"); + public static CapabilityX12TransactionSet X12268 { get; } = new CapabilityX12TransactionSet("X12_268"); public static CapabilityX12TransactionSet X12269 { get; } = new CapabilityX12TransactionSet("X12_269"); public static CapabilityX12TransactionSet X12270 { get; } = new CapabilityX12TransactionSet("X12_270"); public static CapabilityX12TransactionSet X12271 { get; } = new CapabilityX12TransactionSet("X12_271"); + public static CapabilityX12TransactionSet X12272 { get; } = new CapabilityX12TransactionSet("X12_272"); + public static CapabilityX12TransactionSet X12273 { get; } = new CapabilityX12TransactionSet("X12_273"); public static CapabilityX12TransactionSet X12274 { get; } = new CapabilityX12TransactionSet("X12_274"); public static CapabilityX12TransactionSet X12275 { get; } = new CapabilityX12TransactionSet("X12_275"); public static CapabilityX12TransactionSet X12276 { get; } = new CapabilityX12TransactionSet("X12_276"); public static CapabilityX12TransactionSet X12277 { get; } = new CapabilityX12TransactionSet("X12_277"); public static CapabilityX12TransactionSet X12278 { get; } = new CapabilityX12TransactionSet("X12_278"); + public static CapabilityX12TransactionSet X12280 { get; } = new CapabilityX12TransactionSet("X12_280"); + public static CapabilityX12TransactionSet X12283 { get; } = new CapabilityX12TransactionSet("X12_283"); + public static CapabilityX12TransactionSet X12284 { get; } = new CapabilityX12TransactionSet("X12_284"); + public static CapabilityX12TransactionSet X12285 { get; } = new CapabilityX12TransactionSet("X12_285"); + public static CapabilityX12TransactionSet X12286 { get; } = new CapabilityX12TransactionSet("X12_286"); + public static CapabilityX12TransactionSet X12288 { get; } = new CapabilityX12TransactionSet("X12_288"); + public static CapabilityX12TransactionSet X12290 { get; } = new CapabilityX12TransactionSet("X12_290"); + public static CapabilityX12TransactionSet X12300 { get; } = new CapabilityX12TransactionSet("X12_300"); + public static CapabilityX12TransactionSet X12301 { get; } = new CapabilityX12TransactionSet("X12_301"); + public static CapabilityX12TransactionSet X12303 { get; } = new CapabilityX12TransactionSet("X12_303"); + public static CapabilityX12TransactionSet X12304 { get; } = new CapabilityX12TransactionSet("X12_304"); + public static CapabilityX12TransactionSet X12309 { get; } = new CapabilityX12TransactionSet("X12_309"); public static CapabilityX12TransactionSet X12310 { get; } = new CapabilityX12TransactionSet("X12_310"); + public static CapabilityX12TransactionSet X12311 { get; } = new CapabilityX12TransactionSet("X12_311"); + public static CapabilityX12TransactionSet X12312 { get; } = new CapabilityX12TransactionSet("X12_312"); + public static CapabilityX12TransactionSet X12313 { get; } = new CapabilityX12TransactionSet("X12_313"); public static CapabilityX12TransactionSet X12315 { get; } = new CapabilityX12TransactionSet("X12_315"); + public static CapabilityX12TransactionSet X12317 { get; } = new CapabilityX12TransactionSet("X12_317"); + public static CapabilityX12TransactionSet X12319 { get; } = new CapabilityX12TransactionSet("X12_319"); public static CapabilityX12TransactionSet X12322 { get; } = new CapabilityX12TransactionSet("X12_322"); + public static CapabilityX12TransactionSet X12323 { get; } = new CapabilityX12TransactionSet("X12_323"); + public static CapabilityX12TransactionSet X12324 { get; } = new CapabilityX12TransactionSet("X12_324"); + public static CapabilityX12TransactionSet X12325 { get; } = new CapabilityX12TransactionSet("X12_325"); + public static CapabilityX12TransactionSet X12326 { get; } = new CapabilityX12TransactionSet("X12_326"); + public static CapabilityX12TransactionSet X12350 { get; } = new CapabilityX12TransactionSet("X12_350"); + public static CapabilityX12TransactionSet X12352 { get; } = new CapabilityX12TransactionSet("X12_352"); + public static CapabilityX12TransactionSet X12353 { get; } = new CapabilityX12TransactionSet("X12_353"); + public static CapabilityX12TransactionSet X12354 { get; } = new CapabilityX12TransactionSet("X12_354"); + public static CapabilityX12TransactionSet X12355 { get; } = new CapabilityX12TransactionSet("X12_355"); + public static CapabilityX12TransactionSet X12356 { get; } = new CapabilityX12TransactionSet("X12_356"); + public static CapabilityX12TransactionSet X12357 { get; } = new CapabilityX12TransactionSet("X12_357"); + public static CapabilityX12TransactionSet X12358 { get; } = new CapabilityX12TransactionSet("X12_358"); + public static CapabilityX12TransactionSet X12361 { get; } = new CapabilityX12TransactionSet("X12_361"); + public static CapabilityX12TransactionSet X12362 { get; } = new CapabilityX12TransactionSet("X12_362"); public static CapabilityX12TransactionSet X12404 { get; } = new CapabilityX12TransactionSet("X12_404"); public static CapabilityX12TransactionSet X12410 { get; } = new CapabilityX12TransactionSet("X12_410"); + public static CapabilityX12TransactionSet X12412 { get; } = new CapabilityX12TransactionSet("X12_412"); + public static CapabilityX12TransactionSet X12414 { get; } = new CapabilityX12TransactionSet("X12_414"); public static CapabilityX12TransactionSet X12417 { get; } = new CapabilityX12TransactionSet("X12_417"); + public static CapabilityX12TransactionSet X12418 { get; } = new CapabilityX12TransactionSet("X12_418"); + public static CapabilityX12TransactionSet X12419 { get; } = new CapabilityX12TransactionSet("X12_419"); + public static CapabilityX12TransactionSet X12420 { get; } = new CapabilityX12TransactionSet("X12_420"); public static CapabilityX12TransactionSet X12421 { get; } = new CapabilityX12TransactionSet("X12_421"); + public static CapabilityX12TransactionSet X12422 { get; } = new CapabilityX12TransactionSet("X12_422"); + public static CapabilityX12TransactionSet X12423 { get; } = new CapabilityX12TransactionSet("X12_423"); + public static CapabilityX12TransactionSet X12424 { get; } = new CapabilityX12TransactionSet("X12_424"); + public static CapabilityX12TransactionSet X12425 { get; } = new CapabilityX12TransactionSet("X12_425"); public static CapabilityX12TransactionSet X12426 { get; } = new CapabilityX12TransactionSet("X12_426"); + public static CapabilityX12TransactionSet X12429 { get; } = new CapabilityX12TransactionSet("X12_429"); + public static CapabilityX12TransactionSet X12431 { get; } = new CapabilityX12TransactionSet("X12_431"); + public static CapabilityX12TransactionSet X12432 { get; } = new CapabilityX12TransactionSet("X12_432"); + public static CapabilityX12TransactionSet X12433 { get; } = new CapabilityX12TransactionSet("X12_433"); + public static CapabilityX12TransactionSet X12434 { get; } = new CapabilityX12TransactionSet("X12_434"); + public static CapabilityX12TransactionSet X12435 { get; } = new CapabilityX12TransactionSet("X12_435"); + public static CapabilityX12TransactionSet X12436 { get; } = new CapabilityX12TransactionSet("X12_436"); + public static CapabilityX12TransactionSet X12437 { get; } = new CapabilityX12TransactionSet("X12_437"); + public static CapabilityX12TransactionSet X12440 { get; } = new CapabilityX12TransactionSet("X12_440"); + public static CapabilityX12TransactionSet X12451 { get; } = new CapabilityX12TransactionSet("X12_451"); + public static CapabilityX12TransactionSet X12452 { get; } = new CapabilityX12TransactionSet("X12_452"); + public static CapabilityX12TransactionSet X12453 { get; } = new CapabilityX12TransactionSet("X12_453"); + public static CapabilityX12TransactionSet X12455 { get; } = new CapabilityX12TransactionSet("X12_455"); + public static CapabilityX12TransactionSet X12456 { get; } = new CapabilityX12TransactionSet("X12_456"); + public static CapabilityX12TransactionSet X12460 { get; } = new CapabilityX12TransactionSet("X12_460"); + public static CapabilityX12TransactionSet X12463 { get; } = new CapabilityX12TransactionSet("X12_463"); + public static CapabilityX12TransactionSet X12466 { get; } = new CapabilityX12TransactionSet("X12_466"); + public static CapabilityX12TransactionSet X12468 { get; } = new CapabilityX12TransactionSet("X12_468"); + public static CapabilityX12TransactionSet X12470 { get; } = new CapabilityX12TransactionSet("X12_470"); + public static CapabilityX12TransactionSet X12475 { get; } = new CapabilityX12TransactionSet("X12_475"); + public static CapabilityX12TransactionSet X12485 { get; } = new CapabilityX12TransactionSet("X12_485"); + public static CapabilityX12TransactionSet X12486 { get; } = new CapabilityX12TransactionSet("X12_486"); + public static CapabilityX12TransactionSet X12490 { get; } = new CapabilityX12TransactionSet("X12_490"); + public static CapabilityX12TransactionSet X12492 { get; } = new CapabilityX12TransactionSet("X12_492"); + public static CapabilityX12TransactionSet X12494 { get; } = new CapabilityX12TransactionSet("X12_494"); + public static CapabilityX12TransactionSet X12500 { get; } = new CapabilityX12TransactionSet("X12_500"); + public static CapabilityX12TransactionSet X12501 { get; } = new CapabilityX12TransactionSet("X12_501"); + public static CapabilityX12TransactionSet X12503 { get; } = new CapabilityX12TransactionSet("X12_503"); + public static CapabilityX12TransactionSet X12504 { get; } = new CapabilityX12TransactionSet("X12_504"); + public static CapabilityX12TransactionSet X12511 { get; } = new CapabilityX12TransactionSet("X12_511"); + public static CapabilityX12TransactionSet X12517 { get; } = new CapabilityX12TransactionSet("X12_517"); + public static CapabilityX12TransactionSet X12521 { get; } = new CapabilityX12TransactionSet("X12_521"); + public static CapabilityX12TransactionSet X12527 { get; } = new CapabilityX12TransactionSet("X12_527"); + public static CapabilityX12TransactionSet X12536 { get; } = new CapabilityX12TransactionSet("X12_536"); + public static CapabilityX12TransactionSet X12540 { get; } = new CapabilityX12TransactionSet("X12_540"); + public static CapabilityX12TransactionSet X12561 { get; } = new CapabilityX12TransactionSet("X12_561"); + public static CapabilityX12TransactionSet X12567 { get; } = new CapabilityX12TransactionSet("X12_567"); + public static CapabilityX12TransactionSet X12568 { get; } = new CapabilityX12TransactionSet("X12_568"); + public static CapabilityX12TransactionSet X12601 { get; } = new CapabilityX12TransactionSet("X12_601"); + public static CapabilityX12TransactionSet X12602 { get; } = new CapabilityX12TransactionSet("X12_602"); + public static CapabilityX12TransactionSet X12620 { get; } = new CapabilityX12TransactionSet("X12_620"); + public static CapabilityX12TransactionSet X12625 { get; } = new CapabilityX12TransactionSet("X12_625"); + public static CapabilityX12TransactionSet X12650 { get; } = new CapabilityX12TransactionSet("X12_650"); + public static CapabilityX12TransactionSet X12715 { get; } = new CapabilityX12TransactionSet("X12_715"); + public static CapabilityX12TransactionSet X12753 { get; } = new CapabilityX12TransactionSet("X12_753"); + public static CapabilityX12TransactionSet X12754 { get; } = new CapabilityX12TransactionSet("X12_754"); + public static CapabilityX12TransactionSet X12805 { get; } = new CapabilityX12TransactionSet("X12_805"); + public static CapabilityX12TransactionSet X12806 { get; } = new CapabilityX12TransactionSet("X12_806"); public static CapabilityX12TransactionSet X12810 { get; } = new CapabilityX12TransactionSet("X12_810"); + public static CapabilityX12TransactionSet X12811 { get; } = new CapabilityX12TransactionSet("X12_811"); + public static CapabilityX12TransactionSet X12812 { get; } = new CapabilityX12TransactionSet("X12_812"); + public static CapabilityX12TransactionSet X12813 { get; } = new CapabilityX12TransactionSet("X12_813"); + public static CapabilityX12TransactionSet X12814 { get; } = new CapabilityX12TransactionSet("X12_814"); + public static CapabilityX12TransactionSet X12815 { get; } = new CapabilityX12TransactionSet("X12_815"); + public static CapabilityX12TransactionSet X12816 { get; } = new CapabilityX12TransactionSet("X12_816"); + public static CapabilityX12TransactionSet X12818 { get; } = new CapabilityX12TransactionSet("X12_818"); + public static CapabilityX12TransactionSet X12819 { get; } = new CapabilityX12TransactionSet("X12_819"); public static CapabilityX12TransactionSet X12820 { get; } = new CapabilityX12TransactionSet("X12_820"); + public static CapabilityX12TransactionSet X12821 { get; } = new CapabilityX12TransactionSet("X12_821"); + public static CapabilityX12TransactionSet X12822 { get; } = new CapabilityX12TransactionSet("X12_822"); + public static CapabilityX12TransactionSet X12823 { get; } = new CapabilityX12TransactionSet("X12_823"); public static CapabilityX12TransactionSet X12824 { get; } = new CapabilityX12TransactionSet("X12_824"); + public static CapabilityX12TransactionSet X12826 { get; } = new CapabilityX12TransactionSet("X12_826"); + public static CapabilityX12TransactionSet X12827 { get; } = new CapabilityX12TransactionSet("X12_827"); + public static CapabilityX12TransactionSet X12828 { get; } = new CapabilityX12TransactionSet("X12_828"); + public static CapabilityX12TransactionSet X12829 { get; } = new CapabilityX12TransactionSet("X12_829"); public static CapabilityX12TransactionSet X12830 { get; } = new CapabilityX12TransactionSet("X12_830"); + public static CapabilityX12TransactionSet X12831 { get; } = new CapabilityX12TransactionSet("X12_831"); public static CapabilityX12TransactionSet X12832 { get; } = new CapabilityX12TransactionSet("X12_832"); + public static CapabilityX12TransactionSet X12833 { get; } = new CapabilityX12TransactionSet("X12_833"); public static CapabilityX12TransactionSet X12834 { get; } = new CapabilityX12TransactionSet("X12_834"); public static CapabilityX12TransactionSet X12835 { get; } = new CapabilityX12TransactionSet("X12_835"); + public static CapabilityX12TransactionSet X12836 { get; } = new CapabilityX12TransactionSet("X12_836"); public static CapabilityX12TransactionSet X12837 { get; } = new CapabilityX12TransactionSet("X12_837"); + public static CapabilityX12TransactionSet X12838 { get; } = new CapabilityX12TransactionSet("X12_838"); + public static CapabilityX12TransactionSet X12839 { get; } = new CapabilityX12TransactionSet("X12_839"); + public static CapabilityX12TransactionSet X12840 { get; } = new CapabilityX12TransactionSet("X12_840"); + public static CapabilityX12TransactionSet X12841 { get; } = new CapabilityX12TransactionSet("X12_841"); + public static CapabilityX12TransactionSet X12842 { get; } = new CapabilityX12TransactionSet("X12_842"); + public static CapabilityX12TransactionSet X12843 { get; } = new CapabilityX12TransactionSet("X12_843"); public static CapabilityX12TransactionSet X12844 { get; } = new CapabilityX12TransactionSet("X12_844"); + public static CapabilityX12TransactionSet X12845 { get; } = new CapabilityX12TransactionSet("X12_845"); public static CapabilityX12TransactionSet X12846 { get; } = new CapabilityX12TransactionSet("X12_846"); + public static CapabilityX12TransactionSet X12847 { get; } = new CapabilityX12TransactionSet("X12_847"); + public static CapabilityX12TransactionSet X12848 { get; } = new CapabilityX12TransactionSet("X12_848"); public static CapabilityX12TransactionSet X12849 { get; } = new CapabilityX12TransactionSet("X12_849"); public static CapabilityX12TransactionSet X12850 { get; } = new CapabilityX12TransactionSet("X12_850"); + public static CapabilityX12TransactionSet X12851 { get; } = new CapabilityX12TransactionSet("X12_851"); public static CapabilityX12TransactionSet X12852 { get; } = new CapabilityX12TransactionSet("X12_852"); + public static CapabilityX12TransactionSet X12853 { get; } = new CapabilityX12TransactionSet("X12_853"); + public static CapabilityX12TransactionSet X12854 { get; } = new CapabilityX12TransactionSet("X12_854"); public static CapabilityX12TransactionSet X12855 { get; } = new CapabilityX12TransactionSet("X12_855"); public static CapabilityX12TransactionSet X12856 { get; } = new CapabilityX12TransactionSet("X12_856"); + public static CapabilityX12TransactionSet X12857 { get; } = new CapabilityX12TransactionSet("X12_857"); + public static CapabilityX12TransactionSet X12858 { get; } = new CapabilityX12TransactionSet("X12_858"); + public static CapabilityX12TransactionSet X12859 { get; } = new CapabilityX12TransactionSet("X12_859"); public static CapabilityX12TransactionSet X12860 { get; } = new CapabilityX12TransactionSet("X12_860"); public static CapabilityX12TransactionSet X12861 { get; } = new CapabilityX12TransactionSet("X12_861"); + public static CapabilityX12TransactionSet X12862 { get; } = new CapabilityX12TransactionSet("X12_862"); + public static CapabilityX12TransactionSet X12863 { get; } = new CapabilityX12TransactionSet("X12_863"); public static CapabilityX12TransactionSet X12864 { get; } = new CapabilityX12TransactionSet("X12_864"); public static CapabilityX12TransactionSet X12865 { get; } = new CapabilityX12TransactionSet("X12_865"); + public static CapabilityX12TransactionSet X12866 { get; } = new CapabilityX12TransactionSet("X12_866"); + public static CapabilityX12TransactionSet X12867 { get; } = new CapabilityX12TransactionSet("X12_867"); + public static CapabilityX12TransactionSet X12868 { get; } = new CapabilityX12TransactionSet("X12_868"); public static CapabilityX12TransactionSet X12869 { get; } = new CapabilityX12TransactionSet("X12_869"); public static CapabilityX12TransactionSet X12870 { get; } = new CapabilityX12TransactionSet("X12_870"); + public static CapabilityX12TransactionSet X12871 { get; } = new CapabilityX12TransactionSet("X12_871"); + public static CapabilityX12TransactionSet X12872 { get; } = new CapabilityX12TransactionSet("X12_872"); + public static CapabilityX12TransactionSet X12873 { get; } = new CapabilityX12TransactionSet("X12_873"); + public static CapabilityX12TransactionSet X12874 { get; } = new CapabilityX12TransactionSet("X12_874"); + public static CapabilityX12TransactionSet X12875 { get; } = new CapabilityX12TransactionSet("X12_875"); + public static CapabilityX12TransactionSet X12876 { get; } = new CapabilityX12TransactionSet("X12_876"); + public static CapabilityX12TransactionSet X12877 { get; } = new CapabilityX12TransactionSet("X12_877"); + public static CapabilityX12TransactionSet X12878 { get; } = new CapabilityX12TransactionSet("X12_878"); + public static CapabilityX12TransactionSet X12879 { get; } = new CapabilityX12TransactionSet("X12_879"); + public static CapabilityX12TransactionSet X12880 { get; } = new CapabilityX12TransactionSet("X12_880"); + public static CapabilityX12TransactionSet X12881 { get; } = new CapabilityX12TransactionSet("X12_881"); + public static CapabilityX12TransactionSet X12882 { get; } = new CapabilityX12TransactionSet("X12_882"); + public static CapabilityX12TransactionSet X12883 { get; } = new CapabilityX12TransactionSet("X12_883"); + public static CapabilityX12TransactionSet X12884 { get; } = new CapabilityX12TransactionSet("X12_884"); + public static CapabilityX12TransactionSet X12885 { get; } = new CapabilityX12TransactionSet("X12_885"); + public static CapabilityX12TransactionSet X12886 { get; } = new CapabilityX12TransactionSet("X12_886"); + public static CapabilityX12TransactionSet X12887 { get; } = new CapabilityX12TransactionSet("X12_887"); + public static CapabilityX12TransactionSet X12888 { get; } = new CapabilityX12TransactionSet("X12_888"); + public static CapabilityX12TransactionSet X12889 { get; } = new CapabilityX12TransactionSet("X12_889"); + public static CapabilityX12TransactionSet X12891 { get; } = new CapabilityX12TransactionSet("X12_891"); + public static CapabilityX12TransactionSet X12893 { get; } = new CapabilityX12TransactionSet("X12_893"); + public static CapabilityX12TransactionSet X12894 { get; } = new CapabilityX12TransactionSet("X12_894"); + public static CapabilityX12TransactionSet X12895 { get; } = new CapabilityX12TransactionSet("X12_895"); + public static CapabilityX12TransactionSet X12896 { get; } = new CapabilityX12TransactionSet("X12_896"); + public static CapabilityX12TransactionSet X12920 { get; } = new CapabilityX12TransactionSet("X12_920"); + public static CapabilityX12TransactionSet X12924 { get; } = new CapabilityX12TransactionSet("X12_924"); + public static CapabilityX12TransactionSet X12925 { get; } = new CapabilityX12TransactionSet("X12_925"); + public static CapabilityX12TransactionSet X12926 { get; } = new CapabilityX12TransactionSet("X12_926"); + public static CapabilityX12TransactionSet X12928 { get; } = new CapabilityX12TransactionSet("X12_928"); public static CapabilityX12TransactionSet X12940 { get; } = new CapabilityX12TransactionSet("X12_940"); + public static CapabilityX12TransactionSet X12943 { get; } = new CapabilityX12TransactionSet("X12_943"); + public static CapabilityX12TransactionSet X12944 { get; } = new CapabilityX12TransactionSet("X12_944"); public static CapabilityX12TransactionSet X12945 { get; } = new CapabilityX12TransactionSet("X12_945"); + public static CapabilityX12TransactionSet X12947 { get; } = new CapabilityX12TransactionSet("X12_947"); + public static CapabilityX12TransactionSet X12980 { get; } = new CapabilityX12TransactionSet("X12_980"); public static CapabilityX12TransactionSet X12990 { get; } = new CapabilityX12TransactionSet("X12_990"); + public static CapabilityX12TransactionSet X12993 { get; } = new CapabilityX12TransactionSet("X12_993"); + public static CapabilityX12TransactionSet X12996 { get; } = new CapabilityX12TransactionSet("X12_996"); public static CapabilityX12TransactionSet X12997 { get; } = new CapabilityX12TransactionSet("X12_997"); + public static CapabilityX12TransactionSet X12998 { get; } = new CapabilityX12TransactionSet("X12_998"); public static CapabilityX12TransactionSet X12999 { get; } = new CapabilityX12TransactionSet("X12_999"); public static CapabilityX12TransactionSet X12270x279 { get; } = new CapabilityX12TransactionSet("X12_270_X279"); public static CapabilityX12TransactionSet X12271x279 { get; } = new CapabilityX12TransactionSet("X12_271_X279"); @@ -175,6 +442,8 @@ private CapabilityX12Version(string value) public static CapabilityX12Version Version4010 { get; } = new CapabilityX12Version("VERSION_4010"); public static CapabilityX12Version Version4030 { get; } = new CapabilityX12Version("VERSION_4030"); + public static CapabilityX12Version Version4050 { get; } = new CapabilityX12Version("VERSION_4050"); + public static CapabilityX12Version Version4060 { get; } = new CapabilityX12Version("VERSION_4060"); public static CapabilityX12Version Version5010 { get; } = new CapabilityX12Version("VERSION_5010"); public static CapabilityX12Version Version5010Hipaa { get; } = new CapabilityX12Version("VERSION_5010_HIPAA"); @@ -370,57 +639,324 @@ private TransformerX12TransactionSet(string value) _value = value ?? throw new ArgumentNullException(nameof(value)); } + public static TransformerX12TransactionSet X12100 { get; } = new TransformerX12TransactionSet("X12_100"); + public static TransformerX12TransactionSet X12101 { get; } = new TransformerX12TransactionSet("X12_101"); + public static TransformerX12TransactionSet X12102 { get; } = new TransformerX12TransactionSet("X12_102"); + public static TransformerX12TransactionSet X12103 { get; } = new TransformerX12TransactionSet("X12_103"); + public static TransformerX12TransactionSet X12104 { get; } = new TransformerX12TransactionSet("X12_104"); + public static TransformerX12TransactionSet X12105 { get; } = new TransformerX12TransactionSet("X12_105"); + public static TransformerX12TransactionSet X12106 { get; } = new TransformerX12TransactionSet("X12_106"); + public static TransformerX12TransactionSet X12107 { get; } = new TransformerX12TransactionSet("X12_107"); + public static TransformerX12TransactionSet X12108 { get; } = new TransformerX12TransactionSet("X12_108"); + public static TransformerX12TransactionSet X12109 { get; } = new TransformerX12TransactionSet("X12_109"); public static TransformerX12TransactionSet X12110 { get; } = new TransformerX12TransactionSet("X12_110"); + public static TransformerX12TransactionSet X12111 { get; } = new TransformerX12TransactionSet("X12_111"); + public static TransformerX12TransactionSet X12112 { get; } = new TransformerX12TransactionSet("X12_112"); + public static TransformerX12TransactionSet X12113 { get; } = new TransformerX12TransactionSet("X12_113"); + public static TransformerX12TransactionSet X12120 { get; } = new TransformerX12TransactionSet("X12_120"); + public static TransformerX12TransactionSet X12121 { get; } = new TransformerX12TransactionSet("X12_121"); + public static TransformerX12TransactionSet X12124 { get; } = new TransformerX12TransactionSet("X12_124"); + public static TransformerX12TransactionSet X12125 { get; } = new TransformerX12TransactionSet("X12_125"); + public static TransformerX12TransactionSet X12126 { get; } = new TransformerX12TransactionSet("X12_126"); + public static TransformerX12TransactionSet X12127 { get; } = new TransformerX12TransactionSet("X12_127"); + public static TransformerX12TransactionSet X12128 { get; } = new TransformerX12TransactionSet("X12_128"); + public static TransformerX12TransactionSet X12129 { get; } = new TransformerX12TransactionSet("X12_129"); + public static TransformerX12TransactionSet X12130 { get; } = new TransformerX12TransactionSet("X12_130"); + public static TransformerX12TransactionSet X12131 { get; } = new TransformerX12TransactionSet("X12_131"); + public static TransformerX12TransactionSet X12132 { get; } = new TransformerX12TransactionSet("X12_132"); + public static TransformerX12TransactionSet X12133 { get; } = new TransformerX12TransactionSet("X12_133"); + public static TransformerX12TransactionSet X12135 { get; } = new TransformerX12TransactionSet("X12_135"); + public static TransformerX12TransactionSet X12138 { get; } = new TransformerX12TransactionSet("X12_138"); + public static TransformerX12TransactionSet X12139 { get; } = new TransformerX12TransactionSet("X12_139"); + public static TransformerX12TransactionSet X12140 { get; } = new TransformerX12TransactionSet("X12_140"); + public static TransformerX12TransactionSet X12141 { get; } = new TransformerX12TransactionSet("X12_141"); + public static TransformerX12TransactionSet X12142 { get; } = new TransformerX12TransactionSet("X12_142"); + public static TransformerX12TransactionSet X12143 { get; } = new TransformerX12TransactionSet("X12_143"); + public static TransformerX12TransactionSet X12144 { get; } = new TransformerX12TransactionSet("X12_144"); + public static TransformerX12TransactionSet X12146 { get; } = new TransformerX12TransactionSet("X12_146"); + public static TransformerX12TransactionSet X12147 { get; } = new TransformerX12TransactionSet("X12_147"); + public static TransformerX12TransactionSet X12148 { get; } = new TransformerX12TransactionSet("X12_148"); + public static TransformerX12TransactionSet X12149 { get; } = new TransformerX12TransactionSet("X12_149"); + public static TransformerX12TransactionSet X12150 { get; } = new TransformerX12TransactionSet("X12_150"); + public static TransformerX12TransactionSet X12151 { get; } = new TransformerX12TransactionSet("X12_151"); + public static TransformerX12TransactionSet X12152 { get; } = new TransformerX12TransactionSet("X12_152"); + public static TransformerX12TransactionSet X12153 { get; } = new TransformerX12TransactionSet("X12_153"); + public static TransformerX12TransactionSet X12154 { get; } = new TransformerX12TransactionSet("X12_154"); + public static TransformerX12TransactionSet X12155 { get; } = new TransformerX12TransactionSet("X12_155"); + public static TransformerX12TransactionSet X12157 { get; } = new TransformerX12TransactionSet("X12_157"); + public static TransformerX12TransactionSet X12158 { get; } = new TransformerX12TransactionSet("X12_158"); + public static TransformerX12TransactionSet X12159 { get; } = new TransformerX12TransactionSet("X12_159"); + public static TransformerX12TransactionSet X12160 { get; } = new TransformerX12TransactionSet("X12_160"); + public static TransformerX12TransactionSet X12161 { get; } = new TransformerX12TransactionSet("X12_161"); + public static TransformerX12TransactionSet X12163 { get; } = new TransformerX12TransactionSet("X12_163"); + public static TransformerX12TransactionSet X12170 { get; } = new TransformerX12TransactionSet("X12_170"); + public static TransformerX12TransactionSet X12175 { get; } = new TransformerX12TransactionSet("X12_175"); + public static TransformerX12TransactionSet X12176 { get; } = new TransformerX12TransactionSet("X12_176"); + public static TransformerX12TransactionSet X12179 { get; } = new TransformerX12TransactionSet("X12_179"); public static TransformerX12TransactionSet X12180 { get; } = new TransformerX12TransactionSet("X12_180"); + public static TransformerX12TransactionSet X12185 { get; } = new TransformerX12TransactionSet("X12_185"); + public static TransformerX12TransactionSet X12186 { get; } = new TransformerX12TransactionSet("X12_186"); + public static TransformerX12TransactionSet X12187 { get; } = new TransformerX12TransactionSet("X12_187"); + public static TransformerX12TransactionSet X12188 { get; } = new TransformerX12TransactionSet("X12_188"); + public static TransformerX12TransactionSet X12189 { get; } = new TransformerX12TransactionSet("X12_189"); + public static TransformerX12TransactionSet X12190 { get; } = new TransformerX12TransactionSet("X12_190"); + public static TransformerX12TransactionSet X12191 { get; } = new TransformerX12TransactionSet("X12_191"); + public static TransformerX12TransactionSet X12194 { get; } = new TransformerX12TransactionSet("X12_194"); + public static TransformerX12TransactionSet X12195 { get; } = new TransformerX12TransactionSet("X12_195"); + public static TransformerX12TransactionSet X12196 { get; } = new TransformerX12TransactionSet("X12_196"); + public static TransformerX12TransactionSet X12197 { get; } = new TransformerX12TransactionSet("X12_197"); + public static TransformerX12TransactionSet X12198 { get; } = new TransformerX12TransactionSet("X12_198"); + public static TransformerX12TransactionSet X12199 { get; } = new TransformerX12TransactionSet("X12_199"); + public static TransformerX12TransactionSet X12200 { get; } = new TransformerX12TransactionSet("X12_200"); + public static TransformerX12TransactionSet X12201 { get; } = new TransformerX12TransactionSet("X12_201"); + public static TransformerX12TransactionSet X12202 { get; } = new TransformerX12TransactionSet("X12_202"); + public static TransformerX12TransactionSet X12203 { get; } = new TransformerX12TransactionSet("X12_203"); public static TransformerX12TransactionSet X12204 { get; } = new TransformerX12TransactionSet("X12_204"); + public static TransformerX12TransactionSet X12205 { get; } = new TransformerX12TransactionSet("X12_205"); + public static TransformerX12TransactionSet X12206 { get; } = new TransformerX12TransactionSet("X12_206"); public static TransformerX12TransactionSet X12210 { get; } = new TransformerX12TransactionSet("X12_210"); public static TransformerX12TransactionSet X12211 { get; } = new TransformerX12TransactionSet("X12_211"); + public static TransformerX12TransactionSet X12212 { get; } = new TransformerX12TransactionSet("X12_212"); + public static TransformerX12TransactionSet X12213 { get; } = new TransformerX12TransactionSet("X12_213"); public static TransformerX12TransactionSet X12214 { get; } = new TransformerX12TransactionSet("X12_214"); public static TransformerX12TransactionSet X12215 { get; } = new TransformerX12TransactionSet("X12_215"); + public static TransformerX12TransactionSet X12216 { get; } = new TransformerX12TransactionSet("X12_216"); + public static TransformerX12TransactionSet X12217 { get; } = new TransformerX12TransactionSet("X12_217"); + public static TransformerX12TransactionSet X12218 { get; } = new TransformerX12TransactionSet("X12_218"); + public static TransformerX12TransactionSet X12219 { get; } = new TransformerX12TransactionSet("X12_219"); + public static TransformerX12TransactionSet X12220 { get; } = new TransformerX12TransactionSet("X12_220"); + public static TransformerX12TransactionSet X12222 { get; } = new TransformerX12TransactionSet("X12_222"); + public static TransformerX12TransactionSet X12223 { get; } = new TransformerX12TransactionSet("X12_223"); + public static TransformerX12TransactionSet X12224 { get; } = new TransformerX12TransactionSet("X12_224"); + public static TransformerX12TransactionSet X12225 { get; } = new TransformerX12TransactionSet("X12_225"); + public static TransformerX12TransactionSet X12227 { get; } = new TransformerX12TransactionSet("X12_227"); + public static TransformerX12TransactionSet X12228 { get; } = new TransformerX12TransactionSet("X12_228"); + public static TransformerX12TransactionSet X12240 { get; } = new TransformerX12TransactionSet("X12_240"); + public static TransformerX12TransactionSet X12242 { get; } = new TransformerX12TransactionSet("X12_242"); + public static TransformerX12TransactionSet X12244 { get; } = new TransformerX12TransactionSet("X12_244"); + public static TransformerX12TransactionSet X12245 { get; } = new TransformerX12TransactionSet("X12_245"); + public static TransformerX12TransactionSet X12248 { get; } = new TransformerX12TransactionSet("X12_248"); + public static TransformerX12TransactionSet X12249 { get; } = new TransformerX12TransactionSet("X12_249"); + public static TransformerX12TransactionSet X12250 { get; } = new TransformerX12TransactionSet("X12_250"); + public static TransformerX12TransactionSet X12251 { get; } = new TransformerX12TransactionSet("X12_251"); + public static TransformerX12TransactionSet X12252 { get; } = new TransformerX12TransactionSet("X12_252"); + public static TransformerX12TransactionSet X12255 { get; } = new TransformerX12TransactionSet("X12_255"); + public static TransformerX12TransactionSet X12256 { get; } = new TransformerX12TransactionSet("X12_256"); public static TransformerX12TransactionSet X12259 { get; } = new TransformerX12TransactionSet("X12_259"); public static TransformerX12TransactionSet X12260 { get; } = new TransformerX12TransactionSet("X12_260"); + public static TransformerX12TransactionSet X12261 { get; } = new TransformerX12TransactionSet("X12_261"); + public static TransformerX12TransactionSet X12262 { get; } = new TransformerX12TransactionSet("X12_262"); + public static TransformerX12TransactionSet X12263 { get; } = new TransformerX12TransactionSet("X12_263"); + public static TransformerX12TransactionSet X12264 { get; } = new TransformerX12TransactionSet("X12_264"); + public static TransformerX12TransactionSet X12265 { get; } = new TransformerX12TransactionSet("X12_265"); public static TransformerX12TransactionSet X12266 { get; } = new TransformerX12TransactionSet("X12_266"); + public static TransformerX12TransactionSet X12267 { get; } = new TransformerX12TransactionSet("X12_267"); + public static TransformerX12TransactionSet X12268 { get; } = new TransformerX12TransactionSet("X12_268"); public static TransformerX12TransactionSet X12269 { get; } = new TransformerX12TransactionSet("X12_269"); public static TransformerX12TransactionSet X12270 { get; } = new TransformerX12TransactionSet("X12_270"); public static TransformerX12TransactionSet X12271 { get; } = new TransformerX12TransactionSet("X12_271"); + public static TransformerX12TransactionSet X12272 { get; } = new TransformerX12TransactionSet("X12_272"); + public static TransformerX12TransactionSet X12273 { get; } = new TransformerX12TransactionSet("X12_273"); public static TransformerX12TransactionSet X12274 { get; } = new TransformerX12TransactionSet("X12_274"); public static TransformerX12TransactionSet X12275 { get; } = new TransformerX12TransactionSet("X12_275"); public static TransformerX12TransactionSet X12276 { get; } = new TransformerX12TransactionSet("X12_276"); public static TransformerX12TransactionSet X12277 { get; } = new TransformerX12TransactionSet("X12_277"); public static TransformerX12TransactionSet X12278 { get; } = new TransformerX12TransactionSet("X12_278"); + public static TransformerX12TransactionSet X12280 { get; } = new TransformerX12TransactionSet("X12_280"); + public static TransformerX12TransactionSet X12283 { get; } = new TransformerX12TransactionSet("X12_283"); + public static TransformerX12TransactionSet X12284 { get; } = new TransformerX12TransactionSet("X12_284"); + public static TransformerX12TransactionSet X12285 { get; } = new TransformerX12TransactionSet("X12_285"); + public static TransformerX12TransactionSet X12286 { get; } = new TransformerX12TransactionSet("X12_286"); + public static TransformerX12TransactionSet X12288 { get; } = new TransformerX12TransactionSet("X12_288"); + public static TransformerX12TransactionSet X12290 { get; } = new TransformerX12TransactionSet("X12_290"); + public static TransformerX12TransactionSet X12300 { get; } = new TransformerX12TransactionSet("X12_300"); + public static TransformerX12TransactionSet X12301 { get; } = new TransformerX12TransactionSet("X12_301"); + public static TransformerX12TransactionSet X12303 { get; } = new TransformerX12TransactionSet("X12_303"); + public static TransformerX12TransactionSet X12304 { get; } = new TransformerX12TransactionSet("X12_304"); + public static TransformerX12TransactionSet X12309 { get; } = new TransformerX12TransactionSet("X12_309"); public static TransformerX12TransactionSet X12310 { get; } = new TransformerX12TransactionSet("X12_310"); + public static TransformerX12TransactionSet X12311 { get; } = new TransformerX12TransactionSet("X12_311"); + public static TransformerX12TransactionSet X12312 { get; } = new TransformerX12TransactionSet("X12_312"); + public static TransformerX12TransactionSet X12313 { get; } = new TransformerX12TransactionSet("X12_313"); public static TransformerX12TransactionSet X12315 { get; } = new TransformerX12TransactionSet("X12_315"); + public static TransformerX12TransactionSet X12317 { get; } = new TransformerX12TransactionSet("X12_317"); + public static TransformerX12TransactionSet X12319 { get; } = new TransformerX12TransactionSet("X12_319"); public static TransformerX12TransactionSet X12322 { get; } = new TransformerX12TransactionSet("X12_322"); + public static TransformerX12TransactionSet X12323 { get; } = new TransformerX12TransactionSet("X12_323"); + public static TransformerX12TransactionSet X12324 { get; } = new TransformerX12TransactionSet("X12_324"); + public static TransformerX12TransactionSet X12325 { get; } = new TransformerX12TransactionSet("X12_325"); + public static TransformerX12TransactionSet X12326 { get; } = new TransformerX12TransactionSet("X12_326"); + public static TransformerX12TransactionSet X12350 { get; } = new TransformerX12TransactionSet("X12_350"); + public static TransformerX12TransactionSet X12352 { get; } = new TransformerX12TransactionSet("X12_352"); + public static TransformerX12TransactionSet X12353 { get; } = new TransformerX12TransactionSet("X12_353"); + public static TransformerX12TransactionSet X12354 { get; } = new TransformerX12TransactionSet("X12_354"); + public static TransformerX12TransactionSet X12355 { get; } = new TransformerX12TransactionSet("X12_355"); + public static TransformerX12TransactionSet X12356 { get; } = new TransformerX12TransactionSet("X12_356"); + public static TransformerX12TransactionSet X12357 { get; } = new TransformerX12TransactionSet("X12_357"); + public static TransformerX12TransactionSet X12358 { get; } = new TransformerX12TransactionSet("X12_358"); + public static TransformerX12TransactionSet X12361 { get; } = new TransformerX12TransactionSet("X12_361"); + public static TransformerX12TransactionSet X12362 { get; } = new TransformerX12TransactionSet("X12_362"); public static TransformerX12TransactionSet X12404 { get; } = new TransformerX12TransactionSet("X12_404"); public static TransformerX12TransactionSet X12410 { get; } = new TransformerX12TransactionSet("X12_410"); + public static TransformerX12TransactionSet X12412 { get; } = new TransformerX12TransactionSet("X12_412"); + public static TransformerX12TransactionSet X12414 { get; } = new TransformerX12TransactionSet("X12_414"); public static TransformerX12TransactionSet X12417 { get; } = new TransformerX12TransactionSet("X12_417"); + public static TransformerX12TransactionSet X12418 { get; } = new TransformerX12TransactionSet("X12_418"); + public static TransformerX12TransactionSet X12419 { get; } = new TransformerX12TransactionSet("X12_419"); + public static TransformerX12TransactionSet X12420 { get; } = new TransformerX12TransactionSet("X12_420"); public static TransformerX12TransactionSet X12421 { get; } = new TransformerX12TransactionSet("X12_421"); + public static TransformerX12TransactionSet X12422 { get; } = new TransformerX12TransactionSet("X12_422"); + public static TransformerX12TransactionSet X12423 { get; } = new TransformerX12TransactionSet("X12_423"); + public static TransformerX12TransactionSet X12424 { get; } = new TransformerX12TransactionSet("X12_424"); + public static TransformerX12TransactionSet X12425 { get; } = new TransformerX12TransactionSet("X12_425"); public static TransformerX12TransactionSet X12426 { get; } = new TransformerX12TransactionSet("X12_426"); + public static TransformerX12TransactionSet X12429 { get; } = new TransformerX12TransactionSet("X12_429"); + public static TransformerX12TransactionSet X12431 { get; } = new TransformerX12TransactionSet("X12_431"); + public static TransformerX12TransactionSet X12432 { get; } = new TransformerX12TransactionSet("X12_432"); + public static TransformerX12TransactionSet X12433 { get; } = new TransformerX12TransactionSet("X12_433"); + public static TransformerX12TransactionSet X12434 { get; } = new TransformerX12TransactionSet("X12_434"); + public static TransformerX12TransactionSet X12435 { get; } = new TransformerX12TransactionSet("X12_435"); + public static TransformerX12TransactionSet X12436 { get; } = new TransformerX12TransactionSet("X12_436"); + public static TransformerX12TransactionSet X12437 { get; } = new TransformerX12TransactionSet("X12_437"); + public static TransformerX12TransactionSet X12440 { get; } = new TransformerX12TransactionSet("X12_440"); + public static TransformerX12TransactionSet X12451 { get; } = new TransformerX12TransactionSet("X12_451"); + public static TransformerX12TransactionSet X12452 { get; } = new TransformerX12TransactionSet("X12_452"); + public static TransformerX12TransactionSet X12453 { get; } = new TransformerX12TransactionSet("X12_453"); + public static TransformerX12TransactionSet X12455 { get; } = new TransformerX12TransactionSet("X12_455"); + public static TransformerX12TransactionSet X12456 { get; } = new TransformerX12TransactionSet("X12_456"); + public static TransformerX12TransactionSet X12460 { get; } = new TransformerX12TransactionSet("X12_460"); + public static TransformerX12TransactionSet X12463 { get; } = new TransformerX12TransactionSet("X12_463"); + public static TransformerX12TransactionSet X12466 { get; } = new TransformerX12TransactionSet("X12_466"); + public static TransformerX12TransactionSet X12468 { get; } = new TransformerX12TransactionSet("X12_468"); + public static TransformerX12TransactionSet X12470 { get; } = new TransformerX12TransactionSet("X12_470"); + public static TransformerX12TransactionSet X12475 { get; } = new TransformerX12TransactionSet("X12_475"); + public static TransformerX12TransactionSet X12485 { get; } = new TransformerX12TransactionSet("X12_485"); + public static TransformerX12TransactionSet X12486 { get; } = new TransformerX12TransactionSet("X12_486"); + public static TransformerX12TransactionSet X12490 { get; } = new TransformerX12TransactionSet("X12_490"); + public static TransformerX12TransactionSet X12492 { get; } = new TransformerX12TransactionSet("X12_492"); + public static TransformerX12TransactionSet X12494 { get; } = new TransformerX12TransactionSet("X12_494"); + public static TransformerX12TransactionSet X12500 { get; } = new TransformerX12TransactionSet("X12_500"); + public static TransformerX12TransactionSet X12501 { get; } = new TransformerX12TransactionSet("X12_501"); + public static TransformerX12TransactionSet X12503 { get; } = new TransformerX12TransactionSet("X12_503"); + public static TransformerX12TransactionSet X12504 { get; } = new TransformerX12TransactionSet("X12_504"); + public static TransformerX12TransactionSet X12511 { get; } = new TransformerX12TransactionSet("X12_511"); + public static TransformerX12TransactionSet X12517 { get; } = new TransformerX12TransactionSet("X12_517"); + public static TransformerX12TransactionSet X12521 { get; } = new TransformerX12TransactionSet("X12_521"); + public static TransformerX12TransactionSet X12527 { get; } = new TransformerX12TransactionSet("X12_527"); + public static TransformerX12TransactionSet X12536 { get; } = new TransformerX12TransactionSet("X12_536"); + public static TransformerX12TransactionSet X12540 { get; } = new TransformerX12TransactionSet("X12_540"); + public static TransformerX12TransactionSet X12561 { get; } = new TransformerX12TransactionSet("X12_561"); + public static TransformerX12TransactionSet X12567 { get; } = new TransformerX12TransactionSet("X12_567"); + public static TransformerX12TransactionSet X12568 { get; } = new TransformerX12TransactionSet("X12_568"); + public static TransformerX12TransactionSet X12601 { get; } = new TransformerX12TransactionSet("X12_601"); + public static TransformerX12TransactionSet X12602 { get; } = new TransformerX12TransactionSet("X12_602"); + public static TransformerX12TransactionSet X12620 { get; } = new TransformerX12TransactionSet("X12_620"); + public static TransformerX12TransactionSet X12625 { get; } = new TransformerX12TransactionSet("X12_625"); + public static TransformerX12TransactionSet X12650 { get; } = new TransformerX12TransactionSet("X12_650"); + public static TransformerX12TransactionSet X12715 { get; } = new TransformerX12TransactionSet("X12_715"); + public static TransformerX12TransactionSet X12753 { get; } = new TransformerX12TransactionSet("X12_753"); + public static TransformerX12TransactionSet X12754 { get; } = new TransformerX12TransactionSet("X12_754"); + public static TransformerX12TransactionSet X12805 { get; } = new TransformerX12TransactionSet("X12_805"); + public static TransformerX12TransactionSet X12806 { get; } = new TransformerX12TransactionSet("X12_806"); public static TransformerX12TransactionSet X12810 { get; } = new TransformerX12TransactionSet("X12_810"); + public static TransformerX12TransactionSet X12811 { get; } = new TransformerX12TransactionSet("X12_811"); + public static TransformerX12TransactionSet X12812 { get; } = new TransformerX12TransactionSet("X12_812"); + public static TransformerX12TransactionSet X12813 { get; } = new TransformerX12TransactionSet("X12_813"); + public static TransformerX12TransactionSet X12814 { get; } = new TransformerX12TransactionSet("X12_814"); + public static TransformerX12TransactionSet X12815 { get; } = new TransformerX12TransactionSet("X12_815"); + public static TransformerX12TransactionSet X12816 { get; } = new TransformerX12TransactionSet("X12_816"); + public static TransformerX12TransactionSet X12818 { get; } = new TransformerX12TransactionSet("X12_818"); + public static TransformerX12TransactionSet X12819 { get; } = new TransformerX12TransactionSet("X12_819"); public static TransformerX12TransactionSet X12820 { get; } = new TransformerX12TransactionSet("X12_820"); + public static TransformerX12TransactionSet X12821 { get; } = new TransformerX12TransactionSet("X12_821"); + public static TransformerX12TransactionSet X12822 { get; } = new TransformerX12TransactionSet("X12_822"); + public static TransformerX12TransactionSet X12823 { get; } = new TransformerX12TransactionSet("X12_823"); public static TransformerX12TransactionSet X12824 { get; } = new TransformerX12TransactionSet("X12_824"); + public static TransformerX12TransactionSet X12826 { get; } = new TransformerX12TransactionSet("X12_826"); + public static TransformerX12TransactionSet X12827 { get; } = new TransformerX12TransactionSet("X12_827"); + public static TransformerX12TransactionSet X12828 { get; } = new TransformerX12TransactionSet("X12_828"); + public static TransformerX12TransactionSet X12829 { get; } = new TransformerX12TransactionSet("X12_829"); public static TransformerX12TransactionSet X12830 { get; } = new TransformerX12TransactionSet("X12_830"); + public static TransformerX12TransactionSet X12831 { get; } = new TransformerX12TransactionSet("X12_831"); public static TransformerX12TransactionSet X12832 { get; } = new TransformerX12TransactionSet("X12_832"); + public static TransformerX12TransactionSet X12833 { get; } = new TransformerX12TransactionSet("X12_833"); public static TransformerX12TransactionSet X12834 { get; } = new TransformerX12TransactionSet("X12_834"); public static TransformerX12TransactionSet X12835 { get; } = new TransformerX12TransactionSet("X12_835"); + public static TransformerX12TransactionSet X12836 { get; } = new TransformerX12TransactionSet("X12_836"); public static TransformerX12TransactionSet X12837 { get; } = new TransformerX12TransactionSet("X12_837"); + public static TransformerX12TransactionSet X12838 { get; } = new TransformerX12TransactionSet("X12_838"); + public static TransformerX12TransactionSet X12839 { get; } = new TransformerX12TransactionSet("X12_839"); + public static TransformerX12TransactionSet X12840 { get; } = new TransformerX12TransactionSet("X12_840"); + public static TransformerX12TransactionSet X12841 { get; } = new TransformerX12TransactionSet("X12_841"); + public static TransformerX12TransactionSet X12842 { get; } = new TransformerX12TransactionSet("X12_842"); + public static TransformerX12TransactionSet X12843 { get; } = new TransformerX12TransactionSet("X12_843"); public static TransformerX12TransactionSet X12844 { get; } = new TransformerX12TransactionSet("X12_844"); + public static TransformerX12TransactionSet X12845 { get; } = new TransformerX12TransactionSet("X12_845"); public static TransformerX12TransactionSet X12846 { get; } = new TransformerX12TransactionSet("X12_846"); + public static TransformerX12TransactionSet X12847 { get; } = new TransformerX12TransactionSet("X12_847"); + public static TransformerX12TransactionSet X12848 { get; } = new TransformerX12TransactionSet("X12_848"); public static TransformerX12TransactionSet X12849 { get; } = new TransformerX12TransactionSet("X12_849"); public static TransformerX12TransactionSet X12850 { get; } = new TransformerX12TransactionSet("X12_850"); + public static TransformerX12TransactionSet X12851 { get; } = new TransformerX12TransactionSet("X12_851"); public static TransformerX12TransactionSet X12852 { get; } = new TransformerX12TransactionSet("X12_852"); + public static TransformerX12TransactionSet X12853 { get; } = new TransformerX12TransactionSet("X12_853"); + public static TransformerX12TransactionSet X12854 { get; } = new TransformerX12TransactionSet("X12_854"); public static TransformerX12TransactionSet X12855 { get; } = new TransformerX12TransactionSet("X12_855"); public static TransformerX12TransactionSet X12856 { get; } = new TransformerX12TransactionSet("X12_856"); + public static TransformerX12TransactionSet X12857 { get; } = new TransformerX12TransactionSet("X12_857"); + public static TransformerX12TransactionSet X12858 { get; } = new TransformerX12TransactionSet("X12_858"); + public static TransformerX12TransactionSet X12859 { get; } = new TransformerX12TransactionSet("X12_859"); public static TransformerX12TransactionSet X12860 { get; } = new TransformerX12TransactionSet("X12_860"); public static TransformerX12TransactionSet X12861 { get; } = new TransformerX12TransactionSet("X12_861"); + public static TransformerX12TransactionSet X12862 { get; } = new TransformerX12TransactionSet("X12_862"); + public static TransformerX12TransactionSet X12863 { get; } = new TransformerX12TransactionSet("X12_863"); public static TransformerX12TransactionSet X12864 { get; } = new TransformerX12TransactionSet("X12_864"); public static TransformerX12TransactionSet X12865 { get; } = new TransformerX12TransactionSet("X12_865"); + public static TransformerX12TransactionSet X12866 { get; } = new TransformerX12TransactionSet("X12_866"); + public static TransformerX12TransactionSet X12867 { get; } = new TransformerX12TransactionSet("X12_867"); + public static TransformerX12TransactionSet X12868 { get; } = new TransformerX12TransactionSet("X12_868"); public static TransformerX12TransactionSet X12869 { get; } = new TransformerX12TransactionSet("X12_869"); public static TransformerX12TransactionSet X12870 { get; } = new TransformerX12TransactionSet("X12_870"); + public static TransformerX12TransactionSet X12871 { get; } = new TransformerX12TransactionSet("X12_871"); + public static TransformerX12TransactionSet X12872 { get; } = new TransformerX12TransactionSet("X12_872"); + public static TransformerX12TransactionSet X12873 { get; } = new TransformerX12TransactionSet("X12_873"); + public static TransformerX12TransactionSet X12874 { get; } = new TransformerX12TransactionSet("X12_874"); + public static TransformerX12TransactionSet X12875 { get; } = new TransformerX12TransactionSet("X12_875"); + public static TransformerX12TransactionSet X12876 { get; } = new TransformerX12TransactionSet("X12_876"); + public static TransformerX12TransactionSet X12877 { get; } = new TransformerX12TransactionSet("X12_877"); + public static TransformerX12TransactionSet X12878 { get; } = new TransformerX12TransactionSet("X12_878"); + public static TransformerX12TransactionSet X12879 { get; } = new TransformerX12TransactionSet("X12_879"); + public static TransformerX12TransactionSet X12880 { get; } = new TransformerX12TransactionSet("X12_880"); + public static TransformerX12TransactionSet X12881 { get; } = new TransformerX12TransactionSet("X12_881"); + public static TransformerX12TransactionSet X12882 { get; } = new TransformerX12TransactionSet("X12_882"); + public static TransformerX12TransactionSet X12883 { get; } = new TransformerX12TransactionSet("X12_883"); + public static TransformerX12TransactionSet X12884 { get; } = new TransformerX12TransactionSet("X12_884"); + public static TransformerX12TransactionSet X12885 { get; } = new TransformerX12TransactionSet("X12_885"); + public static TransformerX12TransactionSet X12886 { get; } = new TransformerX12TransactionSet("X12_886"); + public static TransformerX12TransactionSet X12887 { get; } = new TransformerX12TransactionSet("X12_887"); + public static TransformerX12TransactionSet X12888 { get; } = new TransformerX12TransactionSet("X12_888"); + public static TransformerX12TransactionSet X12889 { get; } = new TransformerX12TransactionSet("X12_889"); + public static TransformerX12TransactionSet X12891 { get; } = new TransformerX12TransactionSet("X12_891"); + public static TransformerX12TransactionSet X12893 { get; } = new TransformerX12TransactionSet("X12_893"); + public static TransformerX12TransactionSet X12894 { get; } = new TransformerX12TransactionSet("X12_894"); + public static TransformerX12TransactionSet X12895 { get; } = new TransformerX12TransactionSet("X12_895"); + public static TransformerX12TransactionSet X12896 { get; } = new TransformerX12TransactionSet("X12_896"); + public static TransformerX12TransactionSet X12920 { get; } = new TransformerX12TransactionSet("X12_920"); + public static TransformerX12TransactionSet X12924 { get; } = new TransformerX12TransactionSet("X12_924"); + public static TransformerX12TransactionSet X12925 { get; } = new TransformerX12TransactionSet("X12_925"); + public static TransformerX12TransactionSet X12926 { get; } = new TransformerX12TransactionSet("X12_926"); + public static TransformerX12TransactionSet X12928 { get; } = new TransformerX12TransactionSet("X12_928"); public static TransformerX12TransactionSet X12940 { get; } = new TransformerX12TransactionSet("X12_940"); + public static TransformerX12TransactionSet X12943 { get; } = new TransformerX12TransactionSet("X12_943"); + public static TransformerX12TransactionSet X12944 { get; } = new TransformerX12TransactionSet("X12_944"); public static TransformerX12TransactionSet X12945 { get; } = new TransformerX12TransactionSet("X12_945"); + public static TransformerX12TransactionSet X12947 { get; } = new TransformerX12TransactionSet("X12_947"); + public static TransformerX12TransactionSet X12980 { get; } = new TransformerX12TransactionSet("X12_980"); public static TransformerX12TransactionSet X12990 { get; } = new TransformerX12TransactionSet("X12_990"); + public static TransformerX12TransactionSet X12993 { get; } = new TransformerX12TransactionSet("X12_993"); + public static TransformerX12TransactionSet X12996 { get; } = new TransformerX12TransactionSet("X12_996"); public static TransformerX12TransactionSet X12997 { get; } = new TransformerX12TransactionSet("X12_997"); + public static TransformerX12TransactionSet X12998 { get; } = new TransformerX12TransactionSet("X12_998"); public static TransformerX12TransactionSet X12999 { get; } = new TransformerX12TransactionSet("X12_999"); public static TransformerX12TransactionSet X12270x279 { get; } = new TransformerX12TransactionSet("X12_270_X279"); public static TransformerX12TransactionSet X12271x279 { get; } = new TransformerX12TransactionSet("X12_271_X279"); @@ -473,6 +1009,8 @@ private TransformerX12Version(string value) public static TransformerX12Version Version4010 { get; } = new TransformerX12Version("VERSION_4010"); public static TransformerX12Version Version4030 { get; } = new TransformerX12Version("VERSION_4030"); + public static TransformerX12Version Version4050 { get; } = new TransformerX12Version("VERSION_4050"); + public static TransformerX12Version Version4060 { get; } = new TransformerX12Version("VERSION_4060"); public static TransformerX12Version Version5010 { get; } = new TransformerX12Version("VERSION_5010"); public static TransformerX12Version Version5010Hipaa { get; } = new TransformerX12Version("VERSION_5010_HIPAA"); diff --git a/sdk/dotnet/CloudFormation/GetGuardHook.cs b/sdk/dotnet/CloudFormation/GetGuardHook.cs index 85f60e4132..e4d4bd11a4 100644 --- a/sdk/dotnet/CloudFormation/GetGuardHook.cs +++ b/sdk/dotnet/CloudFormation/GetGuardHook.cs @@ -73,7 +73,13 @@ public sealed class GetGuardHookResult /// S3 Bucket where the guard validate report will be uploaded to /// public readonly string? LogBucket; + /// + /// Specifies the S3 location of your input parameters. + /// public readonly Outputs.OptionsProperties? Options; + /// + /// Specifies the S3 location of your Guard rules. + /// public readonly Outputs.GuardHookS3Location? RuleLocation; /// /// Filters to allow hooks to target specific stack attributes diff --git a/sdk/dotnet/CloudFormation/GuardHook.cs b/sdk/dotnet/CloudFormation/GuardHook.cs index cc85ac8465..2abff95fa8 100644 --- a/sdk/dotnet/CloudFormation/GuardHook.cs +++ b/sdk/dotnet/CloudFormation/GuardHook.cs @@ -51,9 +51,15 @@ public partial class GuardHook : global::Pulumi.CustomResource [Output("logBucket")] public Output LogBucket { get; private set; } = null!; + /// + /// Specifies the S3 location of your input parameters. + /// [Output("options")] public Output Options { get; private set; } = null!; + /// + /// Specifies the S3 location of your Guard rules. + /// [Output("ruleLocation")] public Output RuleLocation { get; private set; } = null!; @@ -155,9 +161,15 @@ public sealed class GuardHookArgs : global::Pulumi.ResourceArgs [Input("logBucket")] public Input? LogBucket { get; set; } + /// + /// Specifies the S3 location of your input parameters. + /// [Input("options")] public Input? Options { get; set; } + /// + /// Specifies the S3 location of your Guard rules. + /// [Input("ruleLocation", required: true)] public Input RuleLocation { get; set; } = null!; diff --git a/sdk/dotnet/CloudFormation/Inputs/OptionsPropertiesArgs.cs b/sdk/dotnet/CloudFormation/Inputs/OptionsPropertiesArgs.cs index 56d84a1ab1..4c906a413f 100644 --- a/sdk/dotnet/CloudFormation/Inputs/OptionsPropertiesArgs.cs +++ b/sdk/dotnet/CloudFormation/Inputs/OptionsPropertiesArgs.cs @@ -10,8 +10,14 @@ namespace Pulumi.AwsNative.CloudFormation.Inputs { + /// + /// Specifies the S3 location of your input parameters. + /// public sealed class OptionsPropertiesArgs : global::Pulumi.ResourceArgs { + /// + /// Specifies the S3 location where your input parameters are located. + /// [Input("inputParams")] public Input? InputParams { get; set; } diff --git a/sdk/dotnet/CloudFormation/Outputs/OptionsProperties.cs b/sdk/dotnet/CloudFormation/Outputs/OptionsProperties.cs index 13d863d25c..d79feccc67 100644 --- a/sdk/dotnet/CloudFormation/Outputs/OptionsProperties.cs +++ b/sdk/dotnet/CloudFormation/Outputs/OptionsProperties.cs @@ -10,9 +10,15 @@ namespace Pulumi.AwsNative.CloudFormation.Outputs { + /// + /// Specifies the S3 location of your input parameters. + /// [OutputType] public sealed class OptionsProperties { + /// + /// Specifies the S3 location where your input parameters are located. + /// public readonly Outputs.GuardHookS3Location? InputParams; [OutputConstructor] diff --git a/sdk/dotnet/Connect/EmailAddress.cs b/sdk/dotnet/Connect/EmailAddress.cs new file mode 100644 index 0000000000..521c0eb828 --- /dev/null +++ b/sdk/dotnet/Connect/EmailAddress.cs @@ -0,0 +1,144 @@ +// *** 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.Connect +{ + /// + /// Resource Type definition for AWS::Connect::EmailAddress + /// + [AwsNativeResourceType("aws-native:connect:EmailAddress")] + public partial class EmailAddress : global::Pulumi.CustomResource + { + /// + /// A description for the email address. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The display name for the email address. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Email address to be created for this instance + /// + [Output("emailAddress")] + public Output EmailAddressValue { get; private set; } = null!; + + /// + /// The identifier of the email address. + /// + [Output("emailAddressArn")] + public Output EmailAddressArn { get; private set; } = null!; + + /// + /// The identifier of the Amazon Connect instance. + /// + [Output("instanceArn")] + public Output InstanceArn { get; private set; } = null!; + + /// + /// One or more tags. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a EmailAddress 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 EmailAddress(string name, EmailAddressArgs args, CustomResourceOptions? options = null) + : base("aws-native:connect:EmailAddress", name, args ?? new EmailAddressArgs(), MakeResourceOptions(options, "")) + { + } + + private EmailAddress(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:connect:EmailAddress", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "emailAddress", + }, + }; + 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 EmailAddress 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 EmailAddress Get(string name, Input id, CustomResourceOptions? options = null) + { + return new EmailAddress(name, id, options); + } + } + + public sealed class EmailAddressArgs : global::Pulumi.ResourceArgs + { + /// + /// A description for the email address. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name for the email address. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Email address to be created for this instance + /// + [Input("emailAddress", required: true)] + public Input EmailAddressValue { get; set; } = null!; + + /// + /// The identifier of the Amazon Connect instance. + /// + [Input("instanceArn", required: true)] + public Input InstanceArn { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// One or more tags. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public EmailAddressArgs() + { + } + public static new EmailAddressArgs Empty => new EmailAddressArgs(); + } +} diff --git a/sdk/dotnet/Connect/Enums.cs b/sdk/dotnet/Connect/Enums.cs index 484c52c826..ae7663aaef 100644 --- a/sdk/dotnet/Connect/Enums.cs +++ b/sdk/dotnet/Connect/Enums.cs @@ -407,6 +407,42 @@ private HoursOfOperationConfigDay(string value) public override string ToString() => _value; } + /// + /// The day that the hours of operation override applies to. + /// + [EnumType] + public readonly struct HoursOfOperationOverrideConfigDay : IEquatable + { + private readonly string _value; + + private HoursOfOperationOverrideConfigDay(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static HoursOfOperationOverrideConfigDay Sunday { get; } = new HoursOfOperationOverrideConfigDay("SUNDAY"); + public static HoursOfOperationOverrideConfigDay Monday { get; } = new HoursOfOperationOverrideConfigDay("MONDAY"); + public static HoursOfOperationOverrideConfigDay Tuesday { get; } = new HoursOfOperationOverrideConfigDay("TUESDAY"); + public static HoursOfOperationOverrideConfigDay Wednesday { get; } = new HoursOfOperationOverrideConfigDay("WEDNESDAY"); + public static HoursOfOperationOverrideConfigDay Thursday { get; } = new HoursOfOperationOverrideConfigDay("THURSDAY"); + public static HoursOfOperationOverrideConfigDay Friday { get; } = new HoursOfOperationOverrideConfigDay("FRIDAY"); + public static HoursOfOperationOverrideConfigDay Saturday { get; } = new HoursOfOperationOverrideConfigDay("SATURDAY"); + + public static bool operator ==(HoursOfOperationOverrideConfigDay left, HoursOfOperationOverrideConfigDay right) => left.Equals(right); + public static bool operator !=(HoursOfOperationOverrideConfigDay left, HoursOfOperationOverrideConfigDay right) => !left.Equals(right); + + public static explicit operator string(HoursOfOperationOverrideConfigDay value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is HoursOfOperationOverrideConfigDay other && Equals(other); + public bool Equals(HoursOfOperationOverrideConfigDay other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Specifies the type of directory integration for new instance. /// diff --git a/sdk/dotnet/Connect/GetEmailAddress.cs b/sdk/dotnet/Connect/GetEmailAddress.cs new file mode 100644 index 0000000000..d90e27f903 --- /dev/null +++ b/sdk/dotnet/Connect/GetEmailAddress.cs @@ -0,0 +1,100 @@ +// *** 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.Connect +{ + public static class GetEmailAddress + { + /// + /// Resource Type definition for AWS::Connect::EmailAddress + /// + public static Task InvokeAsync(GetEmailAddressArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:connect:getEmailAddress", args ?? new GetEmailAddressArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::Connect::EmailAddress + /// + public static Output Invoke(GetEmailAddressInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:connect:getEmailAddress", args ?? new GetEmailAddressInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEmailAddressArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the email address. + /// + [Input("emailAddressArn", required: true)] + public string EmailAddressArn { get; set; } = null!; + + public GetEmailAddressArgs() + { + } + public static new GetEmailAddressArgs Empty => new GetEmailAddressArgs(); + } + + public sealed class GetEmailAddressInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier of the email address. + /// + [Input("emailAddressArn", required: true)] + public Input EmailAddressArn { get; set; } = null!; + + public GetEmailAddressInvokeArgs() + { + } + public static new GetEmailAddressInvokeArgs Empty => new GetEmailAddressInvokeArgs(); + } + + + [OutputType] + public sealed class GetEmailAddressResult + { + /// + /// A description for the email address. + /// + public readonly string? Description; + /// + /// The display name for the email address. + /// + public readonly string? DisplayName; + /// + /// The identifier of the email address. + /// + public readonly string? EmailAddressArn; + /// + /// The identifier of the Amazon Connect instance. + /// + public readonly string? InstanceArn; + /// + /// One or more tags. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetEmailAddressResult( + string? description, + + string? displayName, + + string? emailAddressArn, + + string? instanceArn, + + ImmutableArray tags) + { + Description = description; + DisplayName = displayName; + EmailAddressArn = emailAddressArn; + InstanceArn = instanceArn; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Connect/GetHoursOfOperation.cs b/sdk/dotnet/Connect/GetHoursOfOperation.cs index c2fe4f33f1..ef9d8f1c7e 100644 --- a/sdk/dotnet/Connect/GetHoursOfOperation.cs +++ b/sdk/dotnet/Connect/GetHoursOfOperation.cs @@ -70,6 +70,10 @@ public sealed class GetHoursOfOperationResult /// public readonly string? HoursOfOperationArn; /// + /// One or more hours of operation overrides assigned to an hour of operation. + /// + public readonly ImmutableArray HoursOfOperationOverrides; + /// /// The identifier of the Amazon Connect instance. /// public readonly string? InstanceArn; @@ -94,6 +98,8 @@ private GetHoursOfOperationResult( string? hoursOfOperationArn, + ImmutableArray hoursOfOperationOverrides, + string? instanceArn, string? name, @@ -105,6 +111,7 @@ private GetHoursOfOperationResult( Config = config; Description = description; HoursOfOperationArn = hoursOfOperationArn; + HoursOfOperationOverrides = hoursOfOperationOverrides; InstanceArn = instanceArn; Name = name; Tags = tags; diff --git a/sdk/dotnet/Connect/HoursOfOperation.cs b/sdk/dotnet/Connect/HoursOfOperation.cs index 09d08fba89..7de09c5697 100644 --- a/sdk/dotnet/Connect/HoursOfOperation.cs +++ b/sdk/dotnet/Connect/HoursOfOperation.cs @@ -81,6 +81,12 @@ public partial class HoursOfOperation : global::Pulumi.CustomResource [Output("hoursOfOperationArn")] public Output HoursOfOperationArn { get; private set; } = null!; + /// + /// One or more hours of operation overrides assigned to an hour of operation. + /// + [Output("hoursOfOperationOverrides")] + public Output> HoursOfOperationOverrides { get; private set; } = null!; + /// /// The identifier of the Amazon Connect instance. /// @@ -168,6 +174,18 @@ public InputList Config [Input("description")] public Input? Description { get; set; } + [Input("hoursOfOperationOverrides")] + private InputList? _hoursOfOperationOverrides; + + /// + /// One or more hours of operation overrides assigned to an hour of operation. + /// + public InputList HoursOfOperationOverrides + { + get => _hoursOfOperationOverrides ?? (_hoursOfOperationOverrides = new InputList()); + set => _hoursOfOperationOverrides = value; + } + /// /// The identifier of the Amazon Connect instance. /// diff --git a/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideArgs.cs b/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideArgs.cs new file mode 100644 index 0000000000..5306b3fb5e --- /dev/null +++ b/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideArgs.cs @@ -0,0 +1,46 @@ +// *** 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.Connect.Inputs +{ + + /// + /// Overrides attached to the hours of operation. + /// + public sealed class HoursOfOperationOverrideArgs : global::Pulumi.ResourceArgs + { + [Input("effectiveFrom", required: true)] + public Input EffectiveFrom { get; set; } = null!; + + [Input("effectiveTill", required: true)] + public Input EffectiveTill { get; set; } = null!; + + [Input("hoursOfOperationOverrideId")] + public Input? HoursOfOperationOverrideId { get; set; } + + [Input("overrideConfig", required: true)] + private InputList? _overrideConfig; + public InputList OverrideConfig + { + get => _overrideConfig ?? (_overrideConfig = new InputList()); + set => _overrideConfig = value; + } + + [Input("overrideDescription")] + public Input? OverrideDescription { get; set; } + + [Input("overrideName", required: true)] + public Input OverrideName { get; set; } = null!; + + public HoursOfOperationOverrideArgs() + { + } + public static new HoursOfOperationOverrideArgs Empty => new HoursOfOperationOverrideArgs(); + } +} diff --git a/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideConfigArgs.cs b/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideConfigArgs.cs new file mode 100644 index 0000000000..ab8d6dda46 --- /dev/null +++ b/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideConfigArgs.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.Connect.Inputs +{ + + /// + /// Contains information about the hours of operation override. + /// + public sealed class HoursOfOperationOverrideConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The day that the hours of operation override applies to. + /// + [Input("day", required: true)] + public Input Day { get; set; } = null!; + + /// + /// The new end time that your contact center closes for the overriden days. + /// + [Input("endTime", required: true)] + public Input EndTime { get; set; } = null!; + + /// + /// The new start time that your contact center opens for the overriden days. + /// + [Input("startTime", required: true)] + public Input StartTime { get; set; } = null!; + + public HoursOfOperationOverrideConfigArgs() + { + } + public static new HoursOfOperationOverrideConfigArgs Empty => new HoursOfOperationOverrideConfigArgs(); + } +} diff --git a/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideTimeSliceArgs.cs b/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideTimeSliceArgs.cs new file mode 100644 index 0000000000..ddf3f58ce8 --- /dev/null +++ b/sdk/dotnet/Connect/Inputs/HoursOfOperationOverrideTimeSliceArgs.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.Connect.Inputs +{ + + /// + /// The start time or end time for an an hours of operation override. + /// + public sealed class HoursOfOperationOverrideTimeSliceArgs : global::Pulumi.ResourceArgs + { + /// + /// The hours. + /// + [Input("hours", required: true)] + public Input Hours { get; set; } = null!; + + /// + /// The minutes. + /// + [Input("minutes", required: true)] + public Input Minutes { get; set; } = null!; + + public HoursOfOperationOverrideTimeSliceArgs() + { + } + public static new HoursOfOperationOverrideTimeSliceArgs Empty => new HoursOfOperationOverrideTimeSliceArgs(); + } +} diff --git a/sdk/dotnet/Connect/Outputs/HoursOfOperationOverride.cs b/sdk/dotnet/Connect/Outputs/HoursOfOperationOverride.cs new file mode 100644 index 0000000000..95eecd26fa --- /dev/null +++ b/sdk/dotnet/Connect/Outputs/HoursOfOperationOverride.cs @@ -0,0 +1,48 @@ +// *** 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.Connect.Outputs +{ + + /// + /// Overrides attached to the hours of operation. + /// + [OutputType] + public sealed class HoursOfOperationOverride + { + public readonly string EffectiveFrom; + public readonly string EffectiveTill; + public readonly string? HoursOfOperationOverrideId; + public readonly ImmutableArray OverrideConfig; + public readonly string? OverrideDescription; + public readonly string OverrideName; + + [OutputConstructor] + private HoursOfOperationOverride( + string effectiveFrom, + + string effectiveTill, + + string? hoursOfOperationOverrideId, + + ImmutableArray overrideConfig, + + string? overrideDescription, + + string overrideName) + { + EffectiveFrom = effectiveFrom; + EffectiveTill = effectiveTill; + HoursOfOperationOverrideId = hoursOfOperationOverrideId; + OverrideConfig = overrideConfig; + OverrideDescription = overrideDescription; + OverrideName = overrideName; + } + } +} diff --git a/sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideConfig.cs b/sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideConfig.cs new file mode 100644 index 0000000000..8cda94daca --- /dev/null +++ b/sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideConfig.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.Connect.Outputs +{ + + /// + /// Contains information about the hours of operation override. + /// + [OutputType] + public sealed class HoursOfOperationOverrideConfig + { + /// + /// The day that the hours of operation override applies to. + /// + public readonly Pulumi.AwsNative.Connect.HoursOfOperationOverrideConfigDay Day; + /// + /// The new end time that your contact center closes for the overriden days. + /// + public readonly Outputs.HoursOfOperationOverrideTimeSlice EndTime; + /// + /// The new start time that your contact center opens for the overriden days. + /// + public readonly Outputs.HoursOfOperationOverrideTimeSlice StartTime; + + [OutputConstructor] + private HoursOfOperationOverrideConfig( + Pulumi.AwsNative.Connect.HoursOfOperationOverrideConfigDay day, + + Outputs.HoursOfOperationOverrideTimeSlice endTime, + + Outputs.HoursOfOperationOverrideTimeSlice startTime) + { + Day = day; + EndTime = endTime; + StartTime = startTime; + } + } +} diff --git a/sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideTimeSlice.cs b/sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideTimeSlice.cs new file mode 100644 index 0000000000..cd7560d24f --- /dev/null +++ b/sdk/dotnet/Connect/Outputs/HoursOfOperationOverrideTimeSlice.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.Connect.Outputs +{ + + /// + /// The start time or end time for an an hours of operation override. + /// + [OutputType] + public sealed class HoursOfOperationOverrideTimeSlice + { + /// + /// The hours. + /// + public readonly int Hours; + /// + /// The minutes. + /// + public readonly int Minutes; + + [OutputConstructor] + private HoursOfOperationOverrideTimeSlice( + int hours, + + int minutes) + { + Hours = hours; + Minutes = minutes; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Enums.cs b/sdk/dotnet/CustomerProfiles/Enums.cs index 9b5dc9b1e9..3cbff581a4 100644 --- a/sdk/dotnet/CustomerProfiles/Enums.cs +++ b/sdk/dotnet/CustomerProfiles/Enums.cs @@ -752,4 +752,178 @@ private ObjectTypeKeyStandardIdentifiersItem(string value) public override string ToString() => _value; } + + /// + /// The type of segment dimension to use. + /// + [EnumType] + public readonly struct SegmentDefinitionAttributeDimensionType : IEquatable + { + private readonly string _value; + + private SegmentDefinitionAttributeDimensionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SegmentDefinitionAttributeDimensionType Inclusive { get; } = new SegmentDefinitionAttributeDimensionType("INCLUSIVE"); + public static SegmentDefinitionAttributeDimensionType Exclusive { get; } = new SegmentDefinitionAttributeDimensionType("EXCLUSIVE"); + public static SegmentDefinitionAttributeDimensionType Contains { get; } = new SegmentDefinitionAttributeDimensionType("CONTAINS"); + public static SegmentDefinitionAttributeDimensionType BeginsWith { get; } = new SegmentDefinitionAttributeDimensionType("BEGINS_WITH"); + public static SegmentDefinitionAttributeDimensionType EndsWith { get; } = new SegmentDefinitionAttributeDimensionType("ENDS_WITH"); + public static SegmentDefinitionAttributeDimensionType Before { get; } = new SegmentDefinitionAttributeDimensionType("BEFORE"); + public static SegmentDefinitionAttributeDimensionType After { get; } = new SegmentDefinitionAttributeDimensionType("AFTER"); + public static SegmentDefinitionAttributeDimensionType Between { get; } = new SegmentDefinitionAttributeDimensionType("BETWEEN"); + public static SegmentDefinitionAttributeDimensionType NotBetween { get; } = new SegmentDefinitionAttributeDimensionType("NOT_BETWEEN"); + public static SegmentDefinitionAttributeDimensionType On { get; } = new SegmentDefinitionAttributeDimensionType("ON"); + public static SegmentDefinitionAttributeDimensionType GreaterThan { get; } = new SegmentDefinitionAttributeDimensionType("GREATER_THAN"); + public static SegmentDefinitionAttributeDimensionType LessThan { get; } = new SegmentDefinitionAttributeDimensionType("LESS_THAN"); + public static SegmentDefinitionAttributeDimensionType GreaterThanOrEqual { get; } = new SegmentDefinitionAttributeDimensionType("GREATER_THAN_OR_EQUAL"); + public static SegmentDefinitionAttributeDimensionType LessThanOrEqual { get; } = new SegmentDefinitionAttributeDimensionType("LESS_THAN_OR_EQUAL"); + public static SegmentDefinitionAttributeDimensionType Equal { get; } = new SegmentDefinitionAttributeDimensionType("EQUAL"); + + public static bool operator ==(SegmentDefinitionAttributeDimensionType left, SegmentDefinitionAttributeDimensionType right) => left.Equals(right); + public static bool operator !=(SegmentDefinitionAttributeDimensionType left, SegmentDefinitionAttributeDimensionType right) => !left.Equals(right); + + public static explicit operator string(SegmentDefinitionAttributeDimensionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SegmentDefinitionAttributeDimensionType other && Equals(other); + public bool Equals(SegmentDefinitionAttributeDimensionType 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 segment dimension to use for a date dimension. + /// + [EnumType] + public readonly struct SegmentDefinitionDateDimensionType : IEquatable + { + private readonly string _value; + + private SegmentDefinitionDateDimensionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SegmentDefinitionDateDimensionType Before { get; } = new SegmentDefinitionDateDimensionType("BEFORE"); + public static SegmentDefinitionDateDimensionType After { get; } = new SegmentDefinitionDateDimensionType("AFTER"); + public static SegmentDefinitionDateDimensionType Between { get; } = new SegmentDefinitionDateDimensionType("BETWEEN"); + public static SegmentDefinitionDateDimensionType NotBetween { get; } = new SegmentDefinitionDateDimensionType("NOT_BETWEEN"); + public static SegmentDefinitionDateDimensionType On { get; } = new SegmentDefinitionDateDimensionType("ON"); + + public static bool operator ==(SegmentDefinitionDateDimensionType left, SegmentDefinitionDateDimensionType right) => left.Equals(right); + public static bool operator !=(SegmentDefinitionDateDimensionType left, SegmentDefinitionDateDimensionType right) => !left.Equals(right); + + public static explicit operator string(SegmentDefinitionDateDimensionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SegmentDefinitionDateDimensionType other && Equals(other); + public bool Equals(SegmentDefinitionDateDimensionType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies the operator on how to handle multiple groups within the same segment. + /// + [EnumType] + public readonly struct SegmentDefinitionIncludeOptions : IEquatable + { + private readonly string _value; + + private SegmentDefinitionIncludeOptions(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SegmentDefinitionIncludeOptions All { get; } = new SegmentDefinitionIncludeOptions("ALL"); + public static SegmentDefinitionIncludeOptions Any { get; } = new SegmentDefinitionIncludeOptions("ANY"); + public static SegmentDefinitionIncludeOptions None { get; } = new SegmentDefinitionIncludeOptions("NONE"); + + public static bool operator ==(SegmentDefinitionIncludeOptions left, SegmentDefinitionIncludeOptions right) => left.Equals(right); + public static bool operator !=(SegmentDefinitionIncludeOptions left, SegmentDefinitionIncludeOptions right) => !left.Equals(right); + + public static explicit operator string(SegmentDefinitionIncludeOptions value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SegmentDefinitionIncludeOptions other && Equals(other); + public bool Equals(SegmentDefinitionIncludeOptions other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The unit to be applied to the range. + /// + [EnumType] + public readonly struct SegmentDefinitionRangeOverrideUnit : IEquatable + { + private readonly string _value; + + private SegmentDefinitionRangeOverrideUnit(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SegmentDefinitionRangeOverrideUnit Days { get; } = new SegmentDefinitionRangeOverrideUnit("DAYS"); + + public static bool operator ==(SegmentDefinitionRangeOverrideUnit left, SegmentDefinitionRangeOverrideUnit right) => left.Equals(right); + public static bool operator !=(SegmentDefinitionRangeOverrideUnit left, SegmentDefinitionRangeOverrideUnit right) => !left.Equals(right); + + public static explicit operator string(SegmentDefinitionRangeOverrideUnit value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SegmentDefinitionRangeOverrideUnit other && Equals(other); + public bool Equals(SegmentDefinitionRangeOverrideUnit 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 segment dimension to use for a string dimension. + /// + [EnumType] + public readonly struct SegmentDefinitionStringDimensionType : IEquatable + { + private readonly string _value; + + private SegmentDefinitionStringDimensionType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static SegmentDefinitionStringDimensionType Inclusive { get; } = new SegmentDefinitionStringDimensionType("INCLUSIVE"); + public static SegmentDefinitionStringDimensionType Exclusive { get; } = new SegmentDefinitionStringDimensionType("EXCLUSIVE"); + public static SegmentDefinitionStringDimensionType Contains { get; } = new SegmentDefinitionStringDimensionType("CONTAINS"); + public static SegmentDefinitionStringDimensionType BeginsWith { get; } = new SegmentDefinitionStringDimensionType("BEGINS_WITH"); + public static SegmentDefinitionStringDimensionType EndsWith { get; } = new SegmentDefinitionStringDimensionType("ENDS_WITH"); + + public static bool operator ==(SegmentDefinitionStringDimensionType left, SegmentDefinitionStringDimensionType right) => left.Equals(right); + public static bool operator !=(SegmentDefinitionStringDimensionType left, SegmentDefinitionStringDimensionType right) => !left.Equals(right); + + public static explicit operator string(SegmentDefinitionStringDimensionType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is SegmentDefinitionStringDimensionType other && Equals(other); + public bool Equals(SegmentDefinitionStringDimensionType 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/CustomerProfiles/GetIntegration.cs b/sdk/dotnet/CustomerProfiles/GetIntegration.cs index 3049eabb69..49cabfac45 100644 --- a/sdk/dotnet/CustomerProfiles/GetIntegration.cs +++ b/sdk/dotnet/CustomerProfiles/GetIntegration.cs @@ -74,6 +74,10 @@ public sealed class GetIntegrationResult /// public readonly string? CreatedAt; /// + /// A list of unique names for active event triggers associated with the integration. + /// + public readonly ImmutableArray EventTriggerNames; + /// /// The time of this integration got last updated at /// public readonly string? LastUpdatedAt; @@ -94,6 +98,8 @@ public sealed class GetIntegrationResult private GetIntegrationResult( string? createdAt, + ImmutableArray eventTriggerNames, + string? lastUpdatedAt, string? objectTypeName, @@ -103,6 +109,7 @@ private GetIntegrationResult( ImmutableArray tags) { CreatedAt = createdAt; + EventTriggerNames = eventTriggerNames; LastUpdatedAt = lastUpdatedAt; ObjectTypeName = objectTypeName; ObjectTypeNames = objectTypeNames; diff --git a/sdk/dotnet/CustomerProfiles/GetSegmentDefinition.cs b/sdk/dotnet/CustomerProfiles/GetSegmentDefinition.cs new file mode 100644 index 0000000000..585f2b74e7 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/GetSegmentDefinition.cs @@ -0,0 +1,105 @@ +// *** 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.CustomerProfiles +{ + public static class GetSegmentDefinition + { + /// + /// A segment definition resource of Amazon Connect Customer Profiles + /// + public static Task InvokeAsync(GetSegmentDefinitionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:customerprofiles:getSegmentDefinition", args ?? new GetSegmentDefinitionArgs(), options.WithDefaults()); + + /// + /// A segment definition resource of Amazon Connect Customer Profiles + /// + public static Output Invoke(GetSegmentDefinitionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:customerprofiles:getSegmentDefinition", args ?? new GetSegmentDefinitionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSegmentDefinitionArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique name of the domain. + /// + [Input("domainName", required: true)] + public string DomainName { get; set; } = null!; + + /// + /// The unique name of the segment definition. + /// + [Input("segmentDefinitionName", required: true)] + public string SegmentDefinitionName { get; set; } = null!; + + public GetSegmentDefinitionArgs() + { + } + public static new GetSegmentDefinitionArgs Empty => new GetSegmentDefinitionArgs(); + } + + public sealed class GetSegmentDefinitionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique name of the domain. + /// + [Input("domainName", required: true)] + public Input DomainName { get; set; } = null!; + + /// + /// The unique name of the segment definition. + /// + [Input("segmentDefinitionName", required: true)] + public Input SegmentDefinitionName { get; set; } = null!; + + public GetSegmentDefinitionInvokeArgs() + { + } + public static new GetSegmentDefinitionInvokeArgs Empty => new GetSegmentDefinitionInvokeArgs(); + } + + + [OutputType] + public sealed class GetSegmentDefinitionResult + { + /// + /// The time of this segment definition got created. + /// + public readonly string? CreatedAt; + /// + /// The description of the segment definition. + /// + public readonly string? Description; + /// + /// The Amazon Resource Name (ARN) of the segment definition. + /// + public readonly string? SegmentDefinitionArn; + /// + /// The tags used to organize, track, or control access for this resource. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetSegmentDefinitionResult( + string? createdAt, + + string? description, + + string? segmentDefinitionArn, + + ImmutableArray tags) + { + CreatedAt = createdAt; + Description = description; + SegmentDefinitionArn = segmentDefinitionArn; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAddressDimensionArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAddressDimensionArgs.cs new file mode 100644 index 0000000000..8fb6648fbc --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAddressDimensionArgs.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.CustomerProfiles.Inputs +{ + + /// + /// The address based criteria for the segment. + /// + public sealed class SegmentDefinitionAddressDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("city")] + public Input? City { get; set; } + + [Input("country")] + public Input? Country { get; set; } + + [Input("county")] + public Input? County { get; set; } + + [Input("postalCode")] + public Input? PostalCode { get; set; } + + [Input("province")] + public Input? Province { get; set; } + + [Input("state")] + public Input? State { get; set; } + + public SegmentDefinitionAddressDimensionArgs() + { + } + public static new SegmentDefinitionAddressDimensionArgs Empty => new SegmentDefinitionAddressDimensionArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAttributeDimensionArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAttributeDimensionArgs.cs new file mode 100644 index 0000000000..f90536965d --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionAttributeDimensionArgs.cs @@ -0,0 +1,34 @@ +// *** 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.CustomerProfiles.Inputs +{ + + /// + /// Specifies attribute based criteria for a segment. + /// + public sealed class SegmentDefinitionAttributeDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("dimensionType", required: true)] + public Input DimensionType { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SegmentDefinitionAttributeDimensionArgs() + { + } + public static new SegmentDefinitionAttributeDimensionArgs Empty => new SegmentDefinitionAttributeDimensionArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionCalculatedAttributeDimensionArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionCalculatedAttributeDimensionArgs.cs new file mode 100644 index 0000000000..098a6c5f06 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionCalculatedAttributeDimensionArgs.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.CustomerProfiles.Inputs +{ + + /// + /// Specifies calculated attribute based criteria for a segment. + /// + public sealed class SegmentDefinitionCalculatedAttributeDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("conditionOverrides")] + public Input? ConditionOverrides { get; set; } + + [Input("dimensionType", required: true)] + public Input DimensionType { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SegmentDefinitionCalculatedAttributeDimensionArgs() + { + } + public static new SegmentDefinitionCalculatedAttributeDimensionArgs Empty => new SegmentDefinitionCalculatedAttributeDimensionArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionConditionOverridesArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionConditionOverridesArgs.cs new file mode 100644 index 0000000000..94f2a00956 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionConditionOverridesArgs.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.CustomerProfiles.Inputs +{ + + /// + /// Overrides the condition block within the original calculated attribute definition. + /// + public sealed class SegmentDefinitionConditionOverridesArgs : global::Pulumi.ResourceArgs + { + [Input("range")] + public Input? Range { get; set; } + + public SegmentDefinitionConditionOverridesArgs() + { + } + public static new SegmentDefinitionConditionOverridesArgs Empty => new SegmentDefinitionConditionOverridesArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDateDimensionArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDateDimensionArgs.cs new file mode 100644 index 0000000000..1144bfd4d6 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDateDimensionArgs.cs @@ -0,0 +1,34 @@ +// *** 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.CustomerProfiles.Inputs +{ + + /// + /// Specifies date based criteria for a segment. + /// + public sealed class SegmentDefinitionDateDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("dimensionType", required: true)] + public Input DimensionType { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SegmentDefinitionDateDimensionArgs() + { + } + public static new SegmentDefinitionDateDimensionArgs Empty => new SegmentDefinitionDateDimensionArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension0PropertiesArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension0PropertiesArgs.cs new file mode 100644 index 0000000000..f034c71327 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension0PropertiesArgs.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.CustomerProfiles.Inputs +{ + + /// + /// The criteria that define the dimensions for the segment. + /// + public sealed class SegmentDefinitionDimension0PropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("profileAttributes", required: true)] + public Input ProfileAttributes { get; set; } = null!; + + public SegmentDefinitionDimension0PropertiesArgs() + { + } + public static new SegmentDefinitionDimension0PropertiesArgs Empty => new SegmentDefinitionDimension0PropertiesArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension1PropertiesArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension1PropertiesArgs.cs new file mode 100644 index 0000000000..c1c2a142a0 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionDimension1PropertiesArgs.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.CustomerProfiles.Inputs +{ + + /// + /// The criteria that define the dimensions for the segment. + /// + public sealed class SegmentDefinitionDimension1PropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("calculatedAttributes")] + private InputMap? _calculatedAttributes; + public InputMap CalculatedAttributes + { + get => _calculatedAttributes ?? (_calculatedAttributes = new InputMap()); + set => _calculatedAttributes = value; + } + + public SegmentDefinitionDimension1PropertiesArgs() + { + } + public static new SegmentDefinitionDimension1PropertiesArgs Empty => new SegmentDefinitionDimension1PropertiesArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionExtraLengthValueProfileDimensionArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionExtraLengthValueProfileDimensionArgs.cs new file mode 100644 index 0000000000..16aeca0c4f --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionExtraLengthValueProfileDimensionArgs.cs @@ -0,0 +1,34 @@ +// *** 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.CustomerProfiles.Inputs +{ + + /// + /// Specifies criteria for a segment using extended-length string values. + /// + public sealed class SegmentDefinitionExtraLengthValueProfileDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("dimensionType", required: true)] + public Input DimensionType { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SegmentDefinitionExtraLengthValueProfileDimensionArgs() + { + } + public static new SegmentDefinitionExtraLengthValueProfileDimensionArgs Empty => new SegmentDefinitionExtraLengthValueProfileDimensionArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionGroupArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionGroupArgs.cs new file mode 100644 index 0000000000..7cf36d97bd --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionGroupArgs.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.CustomerProfiles.Inputs +{ + + /// + /// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + /// + public sealed class SegmentDefinitionGroupArgs : global::Pulumi.ResourceArgs + { + [Input("dimensions")] + private InputList>? _dimensions; + public InputList> Dimensions + { + get => _dimensions ?? (_dimensions = new InputList>()); + set => _dimensions = value; + } + + [Input("sourceSegments")] + private InputList? _sourceSegments; + public InputList SourceSegments + { + get => _sourceSegments ?? (_sourceSegments = new InputList()); + set => _sourceSegments = value; + } + + [Input("sourceType")] + public Input? SourceType { get; set; } + + [Input("type")] + public Input? Type { get; set; } + + public SegmentDefinitionGroupArgs() + { + } + public static new SegmentDefinitionGroupArgs Empty => new SegmentDefinitionGroupArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileAttributesArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileAttributesArgs.cs new file mode 100644 index 0000000000..dc3902e8bb --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileAttributesArgs.cs @@ -0,0 +1,91 @@ +// *** 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.CustomerProfiles.Inputs +{ + + /// + /// Specifies the dimension settings within profile attributes for a segment. + /// + public sealed class SegmentDefinitionProfileAttributesArgs : global::Pulumi.ResourceArgs + { + [Input("accountNumber")] + public Input? AccountNumber { get; set; } + + [Input("additionalInformation")] + public Input? AdditionalInformation { get; set; } + + [Input("address")] + public Input? Address { get; set; } + + [Input("attributes")] + private InputMap? _attributes; + public InputMap Attributes + { + get => _attributes ?? (_attributes = new InputMap()); + set => _attributes = value; + } + + [Input("billingAddress")] + public Input? BillingAddress { get; set; } + + [Input("birthDate")] + public Input? BirthDate { get; set; } + + [Input("businessEmailAddress")] + public Input? BusinessEmailAddress { get; set; } + + [Input("businessName")] + public Input? BusinessName { get; set; } + + [Input("businessPhoneNumber")] + public Input? BusinessPhoneNumber { get; set; } + + [Input("emailAddress")] + public Input? EmailAddress { get; set; } + + [Input("firstName")] + public Input? FirstName { get; set; } + + [Input("genderString")] + public Input? GenderString { get; set; } + + [Input("homePhoneNumber")] + public Input? HomePhoneNumber { get; set; } + + [Input("lastName")] + public Input? LastName { get; set; } + + [Input("mailingAddress")] + public Input? MailingAddress { get; set; } + + [Input("middleName")] + public Input? MiddleName { get; set; } + + [Input("mobilePhoneNumber")] + public Input? MobilePhoneNumber { get; set; } + + [Input("partyTypeString")] + public Input? PartyTypeString { get; set; } + + [Input("personalEmailAddress")] + public Input? PersonalEmailAddress { get; set; } + + [Input("phoneNumber")] + public Input? PhoneNumber { get; set; } + + [Input("shippingAddress")] + public Input? ShippingAddress { get; set; } + + public SegmentDefinitionProfileAttributesArgs() + { + } + public static new SegmentDefinitionProfileAttributesArgs Empty => new SegmentDefinitionProfileAttributesArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileDimensionArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileDimensionArgs.cs new file mode 100644 index 0000000000..bcd1658212 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionProfileDimensionArgs.cs @@ -0,0 +1,34 @@ +// *** 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.CustomerProfiles.Inputs +{ + + /// + /// Specifies profile based criteria for a segment. + /// + public sealed class SegmentDefinitionProfileDimensionArgs : global::Pulumi.ResourceArgs + { + [Input("dimensionType", required: true)] + public Input DimensionType { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public SegmentDefinitionProfileDimensionArgs() + { + } + public static new SegmentDefinitionProfileDimensionArgs Empty => new SegmentDefinitionProfileDimensionArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionRangeOverrideArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionRangeOverrideArgs.cs new file mode 100644 index 0000000000..e5230ad845 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionRangeOverrideArgs.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.CustomerProfiles.Inputs +{ + + /// + /// Defines the range to be applied to the calculated attribute definition. + /// + public sealed class SegmentDefinitionRangeOverrideArgs : global::Pulumi.ResourceArgs + { + /// + /// The ending point for this overridden range. + /// + [Input("end")] + public Input? End { get; set; } + + /// + /// The starting point for this overridden range. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + /// + /// The unit to be applied to the range. + /// + [Input("unit", required: true)] + public Input Unit { get; set; } = null!; + + public SegmentDefinitionRangeOverrideArgs() + { + } + public static new SegmentDefinitionRangeOverrideArgs Empty => new SegmentDefinitionRangeOverrideArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSegmentGroupArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSegmentGroupArgs.cs new file mode 100644 index 0000000000..865a4035bd --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSegmentGroupArgs.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.CustomerProfiles.Inputs +{ + + public sealed class SegmentDefinitionSegmentGroupArgs : global::Pulumi.ResourceArgs + { + [Input("groups")] + private InputList? _groups; + public InputList Groups + { + get => _groups ?? (_groups = new InputList()); + set => _groups = value; + } + + [Input("include")] + public Input? Include { get; set; } + + public SegmentDefinitionSegmentGroupArgs() + { + } + public static new SegmentDefinitionSegmentGroupArgs Empty => new SegmentDefinitionSegmentGroupArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSourceSegmentArgs.cs b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSourceSegmentArgs.cs new file mode 100644 index 0000000000..35e3a0e993 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Inputs/SegmentDefinitionSourceSegmentArgs.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.CustomerProfiles.Inputs +{ + + /// + /// The base segment to build the segment on. + /// + public sealed class SegmentDefinitionSourceSegmentArgs : global::Pulumi.ResourceArgs + { + [Input("segmentDefinitionName")] + public Input? SegmentDefinitionName { get; set; } + + public SegmentDefinitionSourceSegmentArgs() + { + } + public static new SegmentDefinitionSourceSegmentArgs Empty => new SegmentDefinitionSourceSegmentArgs(); + } +} diff --git a/sdk/dotnet/CustomerProfiles/Integration.cs b/sdk/dotnet/CustomerProfiles/Integration.cs index 50fc3e86fe..20a5f28b16 100644 --- a/sdk/dotnet/CustomerProfiles/Integration.cs +++ b/sdk/dotnet/CustomerProfiles/Integration.cs @@ -27,6 +27,12 @@ public partial class Integration : global::Pulumi.CustomResource [Output("domainName")] public Output DomainName { get; private set; } = null!; + /// + /// A list of unique names for active event triggers associated with the integration. + /// + [Output("eventTriggerNames")] + public Output> EventTriggerNames { get; private set; } = null!; + /// /// The configuration that controls how Customer Profiles retrieves data from the source. /// @@ -119,6 +125,18 @@ public sealed class IntegrationArgs : global::Pulumi.ResourceArgs [Input("domainName", required: true)] public Input DomainName { get; set; } = null!; + [Input("eventTriggerNames")] + private InputList? _eventTriggerNames; + + /// + /// A list of unique names for active event triggers associated with the integration. + /// + public InputList EventTriggerNames + { + get => _eventTriggerNames ?? (_eventTriggerNames = new InputList()); + set => _eventTriggerNames = value; + } + /// /// The configuration that controls how Customer Profiles retrieves data from the source. /// diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAddressDimension.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAddressDimension.cs new file mode 100644 index 0000000000..496ca6b424 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAddressDimension.cs @@ -0,0 +1,48 @@ +// *** 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.CustomerProfiles.Outputs +{ + + /// + /// The address based criteria for the segment. + /// + [OutputType] + public sealed class SegmentDefinitionAddressDimension + { + public readonly Outputs.SegmentDefinitionProfileDimension? City; + public readonly Outputs.SegmentDefinitionProfileDimension? Country; + public readonly Outputs.SegmentDefinitionProfileDimension? County; + public readonly Outputs.SegmentDefinitionProfileDimension? PostalCode; + public readonly Outputs.SegmentDefinitionProfileDimension? Province; + public readonly Outputs.SegmentDefinitionProfileDimension? State; + + [OutputConstructor] + private SegmentDefinitionAddressDimension( + Outputs.SegmentDefinitionProfileDimension? city, + + Outputs.SegmentDefinitionProfileDimension? country, + + Outputs.SegmentDefinitionProfileDimension? county, + + Outputs.SegmentDefinitionProfileDimension? postalCode, + + Outputs.SegmentDefinitionProfileDimension? province, + + Outputs.SegmentDefinitionProfileDimension? state) + { + City = city; + Country = country; + County = county; + PostalCode = postalCode; + Province = province; + State = state; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAttributeDimension.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAttributeDimension.cs new file mode 100644 index 0000000000..bf27214e24 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionAttributeDimension.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.CustomerProfiles.Outputs +{ + + /// + /// Specifies attribute based criteria for a segment. + /// + [OutputType] + public sealed class SegmentDefinitionAttributeDimension + { + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionAttributeDimensionType DimensionType; + public readonly ImmutableArray Values; + + [OutputConstructor] + private SegmentDefinitionAttributeDimension( + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionAttributeDimensionType dimensionType, + + ImmutableArray values) + { + DimensionType = dimensionType; + Values = values; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionCalculatedAttributeDimension.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionCalculatedAttributeDimension.cs new file mode 100644 index 0000000000..70410ae80a --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionCalculatedAttributeDimension.cs @@ -0,0 +1,36 @@ +// *** 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.CustomerProfiles.Outputs +{ + + /// + /// Specifies calculated attribute based criteria for a segment. + /// + [OutputType] + public sealed class SegmentDefinitionCalculatedAttributeDimension + { + public readonly Outputs.SegmentDefinitionConditionOverrides? ConditionOverrides; + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionAttributeDimensionType DimensionType; + public readonly ImmutableArray Values; + + [OutputConstructor] + private SegmentDefinitionCalculatedAttributeDimension( + Outputs.SegmentDefinitionConditionOverrides? conditionOverrides, + + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionAttributeDimensionType dimensionType, + + ImmutableArray values) + { + ConditionOverrides = conditionOverrides; + DimensionType = dimensionType; + Values = values; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionConditionOverrides.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionConditionOverrides.cs new file mode 100644 index 0000000000..d31e28566e --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionConditionOverrides.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.CustomerProfiles.Outputs +{ + + /// + /// Overrides the condition block within the original calculated attribute definition. + /// + [OutputType] + public sealed class SegmentDefinitionConditionOverrides + { + public readonly Outputs.SegmentDefinitionRangeOverride? Range; + + [OutputConstructor] + private SegmentDefinitionConditionOverrides(Outputs.SegmentDefinitionRangeOverride? range) + { + Range = range; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDateDimension.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDateDimension.cs new file mode 100644 index 0000000000..6eb03db52a --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDateDimension.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.CustomerProfiles.Outputs +{ + + /// + /// Specifies date based criteria for a segment. + /// + [OutputType] + public sealed class SegmentDefinitionDateDimension + { + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionDateDimensionType DimensionType; + public readonly ImmutableArray Values; + + [OutputConstructor] + private SegmentDefinitionDateDimension( + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionDateDimensionType dimensionType, + + ImmutableArray values) + { + DimensionType = dimensionType; + Values = values; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension0Properties.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension0Properties.cs new file mode 100644 index 0000000000..6d66298737 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension0Properties.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.CustomerProfiles.Outputs +{ + + /// + /// The criteria that define the dimensions for the segment. + /// + [OutputType] + public sealed class SegmentDefinitionDimension0Properties + { + public readonly Outputs.SegmentDefinitionProfileAttributes ProfileAttributes; + + [OutputConstructor] + private SegmentDefinitionDimension0Properties(Outputs.SegmentDefinitionProfileAttributes profileAttributes) + { + ProfileAttributes = profileAttributes; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension1Properties.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension1Properties.cs new file mode 100644 index 0000000000..9957c74434 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionDimension1Properties.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.CustomerProfiles.Outputs +{ + + /// + /// The criteria that define the dimensions for the segment. + /// + [OutputType] + public sealed class SegmentDefinitionDimension1Properties + { + public readonly ImmutableDictionary? CalculatedAttributes; + + [OutputConstructor] + private SegmentDefinitionDimension1Properties(ImmutableDictionary? calculatedAttributes) + { + CalculatedAttributes = calculatedAttributes; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionExtraLengthValueProfileDimension.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionExtraLengthValueProfileDimension.cs new file mode 100644 index 0000000000..71c9d078e4 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionExtraLengthValueProfileDimension.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.CustomerProfiles.Outputs +{ + + /// + /// Specifies criteria for a segment using extended-length string values. + /// + [OutputType] + public sealed class SegmentDefinitionExtraLengthValueProfileDimension + { + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionStringDimensionType DimensionType; + public readonly ImmutableArray Values; + + [OutputConstructor] + private SegmentDefinitionExtraLengthValueProfileDimension( + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionStringDimensionType dimensionType, + + ImmutableArray values) + { + DimensionType = dimensionType; + Values = values; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionGroup.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionGroup.cs new file mode 100644 index 0000000000..20d76b2886 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionGroup.cs @@ -0,0 +1,40 @@ +// *** 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.CustomerProfiles.Outputs +{ + + /// + /// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + /// + [OutputType] + public sealed class SegmentDefinitionGroup + { + public readonly ImmutableArray> Dimensions; + public readonly ImmutableArray SourceSegments; + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionIncludeOptions? SourceType; + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionIncludeOptions? Type; + + [OutputConstructor] + private SegmentDefinitionGroup( + ImmutableArray> dimensions, + + ImmutableArray sourceSegments, + + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionIncludeOptions? sourceType, + + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionIncludeOptions? type) + { + Dimensions = dimensions; + SourceSegments = sourceSegments; + SourceType = sourceType; + Type = type; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileAttributes.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileAttributes.cs new file mode 100644 index 0000000000..dc2d61cdc6 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileAttributes.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.CustomerProfiles.Outputs +{ + + /// + /// Specifies the dimension settings within profile attributes for a segment. + /// + [OutputType] + public sealed class SegmentDefinitionProfileAttributes + { + public readonly Outputs.SegmentDefinitionProfileDimension? AccountNumber; + public readonly Outputs.SegmentDefinitionExtraLengthValueProfileDimension? AdditionalInformation; + public readonly Outputs.SegmentDefinitionAddressDimension? Address; + public readonly ImmutableDictionary? Attributes; + public readonly Outputs.SegmentDefinitionAddressDimension? BillingAddress; + public readonly Outputs.SegmentDefinitionDateDimension? BirthDate; + public readonly Outputs.SegmentDefinitionProfileDimension? BusinessEmailAddress; + public readonly Outputs.SegmentDefinitionProfileDimension? BusinessName; + public readonly Outputs.SegmentDefinitionProfileDimension? BusinessPhoneNumber; + public readonly Outputs.SegmentDefinitionProfileDimension? EmailAddress; + public readonly Outputs.SegmentDefinitionProfileDimension? FirstName; + public readonly Outputs.SegmentDefinitionProfileDimension? GenderString; + public readonly Outputs.SegmentDefinitionProfileDimension? HomePhoneNumber; + public readonly Outputs.SegmentDefinitionProfileDimension? LastName; + public readonly Outputs.SegmentDefinitionAddressDimension? MailingAddress; + public readonly Outputs.SegmentDefinitionProfileDimension? MiddleName; + public readonly Outputs.SegmentDefinitionProfileDimension? MobilePhoneNumber; + public readonly Outputs.SegmentDefinitionProfileDimension? PartyTypeString; + public readonly Outputs.SegmentDefinitionProfileDimension? PersonalEmailAddress; + public readonly Outputs.SegmentDefinitionProfileDimension? PhoneNumber; + public readonly Outputs.SegmentDefinitionAddressDimension? ShippingAddress; + + [OutputConstructor] + private SegmentDefinitionProfileAttributes( + Outputs.SegmentDefinitionProfileDimension? accountNumber, + + Outputs.SegmentDefinitionExtraLengthValueProfileDimension? additionalInformation, + + Outputs.SegmentDefinitionAddressDimension? address, + + ImmutableDictionary? attributes, + + Outputs.SegmentDefinitionAddressDimension? billingAddress, + + Outputs.SegmentDefinitionDateDimension? birthDate, + + Outputs.SegmentDefinitionProfileDimension? businessEmailAddress, + + Outputs.SegmentDefinitionProfileDimension? businessName, + + Outputs.SegmentDefinitionProfileDimension? businessPhoneNumber, + + Outputs.SegmentDefinitionProfileDimension? emailAddress, + + Outputs.SegmentDefinitionProfileDimension? firstName, + + Outputs.SegmentDefinitionProfileDimension? genderString, + + Outputs.SegmentDefinitionProfileDimension? homePhoneNumber, + + Outputs.SegmentDefinitionProfileDimension? lastName, + + Outputs.SegmentDefinitionAddressDimension? mailingAddress, + + Outputs.SegmentDefinitionProfileDimension? middleName, + + Outputs.SegmentDefinitionProfileDimension? mobilePhoneNumber, + + Outputs.SegmentDefinitionProfileDimension? partyTypeString, + + Outputs.SegmentDefinitionProfileDimension? personalEmailAddress, + + Outputs.SegmentDefinitionProfileDimension? phoneNumber, + + Outputs.SegmentDefinitionAddressDimension? shippingAddress) + { + AccountNumber = accountNumber; + AdditionalInformation = additionalInformation; + Address = address; + Attributes = attributes; + BillingAddress = billingAddress; + BirthDate = birthDate; + BusinessEmailAddress = businessEmailAddress; + BusinessName = businessName; + BusinessPhoneNumber = businessPhoneNumber; + EmailAddress = emailAddress; + FirstName = firstName; + GenderString = genderString; + HomePhoneNumber = homePhoneNumber; + LastName = lastName; + MailingAddress = mailingAddress; + MiddleName = middleName; + MobilePhoneNumber = mobilePhoneNumber; + PartyTypeString = partyTypeString; + PersonalEmailAddress = personalEmailAddress; + PhoneNumber = phoneNumber; + ShippingAddress = shippingAddress; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileDimension.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileDimension.cs new file mode 100644 index 0000000000..ffe7ba40f6 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionProfileDimension.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.CustomerProfiles.Outputs +{ + + /// + /// Specifies profile based criteria for a segment. + /// + [OutputType] + public sealed class SegmentDefinitionProfileDimension + { + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionStringDimensionType DimensionType; + public readonly ImmutableArray Values; + + [OutputConstructor] + private SegmentDefinitionProfileDimension( + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionStringDimensionType dimensionType, + + ImmutableArray values) + { + DimensionType = dimensionType; + Values = values; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionRangeOverride.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionRangeOverride.cs new file mode 100644 index 0000000000..a63dfb85bf --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionRangeOverride.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.CustomerProfiles.Outputs +{ + + /// + /// Defines the range to be applied to the calculated attribute definition. + /// + [OutputType] + public sealed class SegmentDefinitionRangeOverride + { + /// + /// The ending point for this overridden range. + /// + public readonly int? End; + /// + /// The starting point for this overridden range. + /// + public readonly int Start; + /// + /// The unit to be applied to the range. + /// + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionRangeOverrideUnit Unit; + + [OutputConstructor] + private SegmentDefinitionRangeOverride( + int? end, + + int start, + + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionRangeOverrideUnit unit) + { + End = end; + Start = start; + Unit = unit; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSegmentGroup.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSegmentGroup.cs new file mode 100644 index 0000000000..324a4bae22 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSegmentGroup.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.CustomerProfiles.Outputs +{ + + [OutputType] + public sealed class SegmentDefinitionSegmentGroup + { + public readonly ImmutableArray Groups; + public readonly Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionIncludeOptions? Include; + + [OutputConstructor] + private SegmentDefinitionSegmentGroup( + ImmutableArray groups, + + Pulumi.AwsNative.CustomerProfiles.SegmentDefinitionIncludeOptions? include) + { + Groups = groups; + Include = include; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSourceSegment.cs b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSourceSegment.cs new file mode 100644 index 0000000000..9cad2a2ca9 --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/Outputs/SegmentDefinitionSourceSegment.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.CustomerProfiles.Outputs +{ + + /// + /// The base segment to build the segment on. + /// + [OutputType] + public sealed class SegmentDefinitionSourceSegment + { + public readonly string? SegmentDefinitionName; + + [OutputConstructor] + private SegmentDefinitionSourceSegment(string? segmentDefinitionName) + { + SegmentDefinitionName = segmentDefinitionName; + } + } +} diff --git a/sdk/dotnet/CustomerProfiles/SegmentDefinition.cs b/sdk/dotnet/CustomerProfiles/SegmentDefinition.cs new file mode 100644 index 0000000000..a4dd326cbc --- /dev/null +++ b/sdk/dotnet/CustomerProfiles/SegmentDefinition.cs @@ -0,0 +1,165 @@ +// *** 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.CustomerProfiles +{ + /// + /// A segment definition resource of Amazon Connect Customer Profiles + /// + [AwsNativeResourceType("aws-native:customerprofiles:SegmentDefinition")] + public partial class SegmentDefinition : global::Pulumi.CustomResource + { + /// + /// The time of this segment definition got created. + /// + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// The description of the segment definition. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The display name of the segment definition. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The unique name of the domain. + /// + [Output("domainName")] + public Output DomainName { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the segment definition. + /// + [Output("segmentDefinitionArn")] + public Output SegmentDefinitionArn { get; private set; } = null!; + + /// + /// The unique name of the segment definition. + /// + [Output("segmentDefinitionName")] + public Output SegmentDefinitionName { get; private set; } = null!; + + /// + /// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + /// + [Output("segmentGroups")] + public Output SegmentGroups { get; private set; } = null!; + + /// + /// The tags used to organize, track, or control access for this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a SegmentDefinition 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 SegmentDefinition(string name, SegmentDefinitionArgs args, CustomResourceOptions? options = null) + : base("aws-native:customerprofiles:SegmentDefinition", name, args ?? new SegmentDefinitionArgs(), MakeResourceOptions(options, "")) + { + } + + private SegmentDefinition(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:customerprofiles:SegmentDefinition", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "displayName", + "domainName", + "segmentDefinitionName", + "segmentGroups", + }, + }; + 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 SegmentDefinition 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 SegmentDefinition Get(string name, Input id, CustomResourceOptions? options = null) + { + return new SegmentDefinition(name, id, options); + } + } + + public sealed class SegmentDefinitionArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the segment definition. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name of the segment definition. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// The unique name of the domain. + /// + [Input("domainName", required: true)] + public Input DomainName { get; set; } = null!; + + /// + /// The unique name of the segment definition. + /// + [Input("segmentDefinitionName")] + public Input? SegmentDefinitionName { get; set; } + + /// + /// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + /// + [Input("segmentGroups", required: true)] + public Input SegmentGroups { get; set; } = null!; + + [Input("tags")] + private InputList? _tags; + + /// + /// The tags used to organize, track, or control access for this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public SegmentDefinitionArgs() + { + } + public static new SegmentDefinitionArgs Empty => new SegmentDefinitionArgs(); + } +} diff --git a/sdk/dotnet/DynamoDb/Inputs/TableGlobalSecondaryIndexArgs.cs b/sdk/dotnet/DynamoDb/Inputs/TableGlobalSecondaryIndexArgs.cs index c1621c0dff..33eb4435bf 100644 --- a/sdk/dotnet/DynamoDb/Inputs/TableGlobalSecondaryIndexArgs.cs +++ b/sdk/dotnet/DynamoDb/Inputs/TableGlobalSecondaryIndexArgs.cs @@ -64,7 +64,7 @@ public InputList KeySchema public Input? ProvisionedThroughput { get; set; } /// - /// Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + /// Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. /// [Input("warmThroughput")] public Input? WarmThroughput { get; set; } diff --git a/sdk/dotnet/DynamoDb/Inputs/TableWarmThroughputArgs.cs b/sdk/dotnet/DynamoDb/Inputs/TableWarmThroughputArgs.cs index 4aa2c56ff8..a72a608177 100644 --- a/sdk/dotnet/DynamoDb/Inputs/TableWarmThroughputArgs.cs +++ b/sdk/dotnet/DynamoDb/Inputs/TableWarmThroughputArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.DynamoDb.Inputs { + /// + /// Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. + /// public sealed class TableWarmThroughputArgs : global::Pulumi.ResourceArgs { /// diff --git a/sdk/dotnet/DynamoDb/Outputs/TableGlobalSecondaryIndex.cs b/sdk/dotnet/DynamoDb/Outputs/TableGlobalSecondaryIndex.cs index bca5d61b41..ed4200f147 100644 --- a/sdk/dotnet/DynamoDb/Outputs/TableGlobalSecondaryIndex.cs +++ b/sdk/dotnet/DynamoDb/Outputs/TableGlobalSecondaryIndex.cs @@ -47,7 +47,7 @@ public sealed class TableGlobalSecondaryIndex /// public readonly Outputs.TableProvisionedThroughput? ProvisionedThroughput; /// - /// Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + /// Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. /// public readonly Outputs.TableWarmThroughput? WarmThroughput; diff --git a/sdk/dotnet/DynamoDb/Outputs/TableWarmThroughput.cs b/sdk/dotnet/DynamoDb/Outputs/TableWarmThroughput.cs index b6877c1536..c13943e8e9 100644 --- a/sdk/dotnet/DynamoDb/Outputs/TableWarmThroughput.cs +++ b/sdk/dotnet/DynamoDb/Outputs/TableWarmThroughput.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.DynamoDb.Outputs { + /// + /// Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. + /// [OutputType] public sealed class TableWarmThroughput { diff --git a/sdk/dotnet/Ec2/Enums.cs b/sdk/dotnet/Ec2/Enums.cs index 7d30094ef0..4d1b2eb14f 100644 --- a/sdk/dotnet/Ec2/Enums.cs +++ b/sdk/dotnet/Ec2/Enums.cs @@ -2099,6 +2099,68 @@ private SpotFleetTagSpecificationResourceType(string value) public override string ToString() => _value; } + /// + /// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + /// + [EnumType] + public readonly struct VpcBlockPublicAccessExclusionInternetGatewayExclusionMode : IEquatable + { + private readonly string _value; + + private VpcBlockPublicAccessExclusionInternetGatewayExclusionMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static VpcBlockPublicAccessExclusionInternetGatewayExclusionMode AllowBidirectional { get; } = new VpcBlockPublicAccessExclusionInternetGatewayExclusionMode("allow-bidirectional"); + public static VpcBlockPublicAccessExclusionInternetGatewayExclusionMode AllowEgress { get; } = new VpcBlockPublicAccessExclusionInternetGatewayExclusionMode("allow-egress"); + + public static bool operator ==(VpcBlockPublicAccessExclusionInternetGatewayExclusionMode left, VpcBlockPublicAccessExclusionInternetGatewayExclusionMode right) => left.Equals(right); + public static bool operator !=(VpcBlockPublicAccessExclusionInternetGatewayExclusionMode left, VpcBlockPublicAccessExclusionInternetGatewayExclusionMode right) => !left.Equals(right); + + public static explicit operator string(VpcBlockPublicAccessExclusionInternetGatewayExclusionMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is VpcBlockPublicAccessExclusionInternetGatewayExclusionMode other && Equals(other); + public bool Equals(VpcBlockPublicAccessExclusionInternetGatewayExclusionMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + /// + [EnumType] + public readonly struct VpcBlockPublicAccessOptionsInternetGatewayBlockMode : IEquatable + { + private readonly string _value; + + private VpcBlockPublicAccessOptionsInternetGatewayBlockMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static VpcBlockPublicAccessOptionsInternetGatewayBlockMode BlockBidirectional { get; } = new VpcBlockPublicAccessOptionsInternetGatewayBlockMode("block-bidirectional"); + public static VpcBlockPublicAccessOptionsInternetGatewayBlockMode BlockIngress { get; } = new VpcBlockPublicAccessOptionsInternetGatewayBlockMode("block-ingress"); + + public static bool operator ==(VpcBlockPublicAccessOptionsInternetGatewayBlockMode left, VpcBlockPublicAccessOptionsInternetGatewayBlockMode right) => left.Equals(right); + public static bool operator !=(VpcBlockPublicAccessOptionsInternetGatewayBlockMode left, VpcBlockPublicAccessOptionsInternetGatewayBlockMode right) => !left.Equals(right); + + public static explicit operator string(VpcBlockPublicAccessOptionsInternetGatewayBlockMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is VpcBlockPublicAccessOptionsInternetGatewayBlockMode other && Equals(other); + public bool Equals(VpcBlockPublicAccessOptionsInternetGatewayBlockMode 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 endpoint. /// Default: Gateway diff --git a/sdk/dotnet/Ec2/GetVpcBlockPublicAccessExclusion.cs b/sdk/dotnet/Ec2/GetVpcBlockPublicAccessExclusion.cs new file mode 100644 index 0000000000..d3cef7d957 --- /dev/null +++ b/sdk/dotnet/Ec2/GetVpcBlockPublicAccessExclusion.cs @@ -0,0 +1,86 @@ +// *** 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.Ec2 +{ + public static class GetVpcBlockPublicAccessExclusion + { + /// + /// Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + /// + public static Task InvokeAsync(GetVpcBlockPublicAccessExclusionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:ec2:getVpcBlockPublicAccessExclusion", args ?? new GetVpcBlockPublicAccessExclusionArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + /// + public static Output Invoke(GetVpcBlockPublicAccessExclusionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:ec2:getVpcBlockPublicAccessExclusion", args ?? new GetVpcBlockPublicAccessExclusionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcBlockPublicAccessExclusionArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the exclusion + /// + [Input("exclusionId", required: true)] + public string ExclusionId { get; set; } = null!; + + public GetVpcBlockPublicAccessExclusionArgs() + { + } + public static new GetVpcBlockPublicAccessExclusionArgs Empty => new GetVpcBlockPublicAccessExclusionArgs(); + } + + public sealed class GetVpcBlockPublicAccessExclusionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The ID of the exclusion + /// + [Input("exclusionId", required: true)] + public Input ExclusionId { get; set; } = null!; + + public GetVpcBlockPublicAccessExclusionInvokeArgs() + { + } + public static new GetVpcBlockPublicAccessExclusionInvokeArgs Empty => new GetVpcBlockPublicAccessExclusionInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcBlockPublicAccessExclusionResult + { + /// + /// The ID of the exclusion + /// + public readonly string? ExclusionId; + /// + /// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + /// + public readonly Pulumi.AwsNative.Ec2.VpcBlockPublicAccessExclusionInternetGatewayExclusionMode? InternetGatewayExclusionMode; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetVpcBlockPublicAccessExclusionResult( + string? exclusionId, + + Pulumi.AwsNative.Ec2.VpcBlockPublicAccessExclusionInternetGatewayExclusionMode? internetGatewayExclusionMode, + + ImmutableArray tags) + { + ExclusionId = exclusionId; + InternetGatewayExclusionMode = internetGatewayExclusionMode; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Ec2/GetVpcBlockPublicAccessOptions.cs b/sdk/dotnet/Ec2/GetVpcBlockPublicAccessOptions.cs new file mode 100644 index 0000000000..ca63359320 --- /dev/null +++ b/sdk/dotnet/Ec2/GetVpcBlockPublicAccessOptions.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.Ec2 +{ + public static class GetVpcBlockPublicAccessOptions + { + /// + /// Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + /// + public static Task InvokeAsync(GetVpcBlockPublicAccessOptionsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:ec2:getVpcBlockPublicAccessOptions", args ?? new GetVpcBlockPublicAccessOptionsArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + /// + public static Output Invoke(GetVpcBlockPublicAccessOptionsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:ec2:getVpcBlockPublicAccessOptions", args ?? new GetVpcBlockPublicAccessOptionsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcBlockPublicAccessOptionsArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier for the specified AWS account. + /// + [Input("accountId", required: true)] + public string AccountId { get; set; } = null!; + + public GetVpcBlockPublicAccessOptionsArgs() + { + } + public static new GetVpcBlockPublicAccessOptionsArgs Empty => new GetVpcBlockPublicAccessOptionsArgs(); + } + + public sealed class GetVpcBlockPublicAccessOptionsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The identifier for the specified AWS account. + /// + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + public GetVpcBlockPublicAccessOptionsInvokeArgs() + { + } + public static new GetVpcBlockPublicAccessOptionsInvokeArgs Empty => new GetVpcBlockPublicAccessOptionsInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcBlockPublicAccessOptionsResult + { + /// + /// The identifier for the specified AWS account. + /// + public readonly string? AccountId; + /// + /// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + /// + public readonly Pulumi.AwsNative.Ec2.VpcBlockPublicAccessOptionsInternetGatewayBlockMode? InternetGatewayBlockMode; + + [OutputConstructor] + private GetVpcBlockPublicAccessOptionsResult( + string? accountId, + + Pulumi.AwsNative.Ec2.VpcBlockPublicAccessOptionsInternetGatewayBlockMode? internetGatewayBlockMode) + { + AccountId = accountId; + InternetGatewayBlockMode = internetGatewayBlockMode; + } + } +} diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.cs new file mode 100644 index 0000000000..5c6f7ab382 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateBaselinePerformanceFactorsArgs.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.Ec2.Inputs +{ + + public sealed class LaunchTemplateBaselinePerformanceFactorsArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + public LaunchTemplateBaselinePerformanceFactorsArgs() + { + } + public static new LaunchTemplateBaselinePerformanceFactorsArgs Empty => new LaunchTemplateBaselinePerformanceFactorsArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateCpuArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateCpuArgs.cs new file mode 100644 index 0000000000..33663bc93e --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateCpuArgs.cs @@ -0,0 +1,28 @@ +// *** 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.Ec2.Inputs +{ + + public sealed class LaunchTemplateCpuArgs : global::Pulumi.ResourceArgs + { + [Input("references")] + private InputList? _references; + public InputList References + { + get => _references ?? (_references = new InputList()); + set => _references = value; + } + + public LaunchTemplateCpuArgs() + { + } + public static new LaunchTemplateCpuArgs Empty => new LaunchTemplateCpuArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs index 4e6da67dd4..b0efc209db 100644 --- a/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateInstanceRequirementsArgs.cs @@ -135,6 +135,9 @@ public InputList AllowedInstanceTypes [Input("baselineEbsBandwidthMbps")] public Input? BaselineEbsBandwidthMbps { get; set; } + [Input("baselinePerformanceFactors")] + public Input? BaselinePerformanceFactors { get; set; } + /// /// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). /// + To include burstable performance instance types, specify ``included``. diff --git a/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs b/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.cs new file mode 100644 index 0000000000..0f34b579a6 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/LaunchTemplateReferenceArgs.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.Ec2.Inputs +{ + + public sealed class LaunchTemplateReferenceArgs : global::Pulumi.ResourceArgs + { + /// + /// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + /// + [Input("instanceFamily")] + public Input? InstanceFamily { get; set; } + + public LaunchTemplateReferenceArgs() + { + } + public static new LaunchTemplateReferenceArgs Empty => new LaunchTemplateReferenceArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.cs new file mode 100644 index 0000000000..bd9e891d3b --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateBaselinePerformanceFactors.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.Ec2.Outputs +{ + + [OutputType] + public sealed class LaunchTemplateBaselinePerformanceFactors + { + public readonly Outputs.LaunchTemplateCpu? Cpu; + + [OutputConstructor] + private LaunchTemplateBaselinePerformanceFactors(Outputs.LaunchTemplateCpu? cpu) + { + Cpu = cpu; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateCpu.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateCpu.cs new file mode 100644 index 0000000000..29c34fec3a --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateCpu.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.Ec2.Outputs +{ + + [OutputType] + public sealed class LaunchTemplateCpu + { + public readonly ImmutableArray References; + + [OutputConstructor] + private LaunchTemplateCpu(ImmutableArray references) + { + References = references; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs index 08ddd6db2f..816a0e124b 100644 --- a/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateInstanceRequirements.cs @@ -96,6 +96,7 @@ public sealed class LaunchTemplateInstanceRequirements /// Default: No minimum or maximum limits /// public readonly Outputs.LaunchTemplateBaselineEbsBandwidthMbps? BaselineEbsBandwidthMbps; + public readonly Outputs.LaunchTemplateBaselinePerformanceFactors? BaselinePerformanceFactors; /// /// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). /// + To include burstable performance instance types, specify ``included``. @@ -225,6 +226,8 @@ private LaunchTemplateInstanceRequirements( Outputs.LaunchTemplateBaselineEbsBandwidthMbps? baselineEbsBandwidthMbps, + Outputs.LaunchTemplateBaselinePerformanceFactors? baselinePerformanceFactors, + string? burstablePerformance, ImmutableArray cpuManufacturers, @@ -265,6 +268,7 @@ private LaunchTemplateInstanceRequirements( AllowedInstanceTypes = allowedInstanceTypes; BareMetal = bareMetal; BaselineEbsBandwidthMbps = baselineEbsBandwidthMbps; + BaselinePerformanceFactors = baselinePerformanceFactors; BurstablePerformance = burstablePerformance; CpuManufacturers = cpuManufacturers; ExcludedInstanceTypes = excludedInstanceTypes; diff --git a/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs b/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.cs new file mode 100644 index 0000000000..057becbcb8 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/LaunchTemplateReference.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.Ec2.Outputs +{ + + [OutputType] + public sealed class LaunchTemplateReference + { + /// + /// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + /// + public readonly string? InstanceFamily; + + [OutputConstructor] + private LaunchTemplateReference(string? instanceFamily) + { + InstanceFamily = instanceFamily; + } + } +} diff --git a/sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs b/sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs new file mode 100644 index 0000000000..d689b2ab22 --- /dev/null +++ b/sdk/dotnet/Ec2/VpcBlockPublicAccessExclusion.cs @@ -0,0 +1,133 @@ +// *** 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.Ec2 +{ + /// + /// Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + /// + [AwsNativeResourceType("aws-native:ec2:VpcBlockPublicAccessExclusion")] + public partial class VpcBlockPublicAccessExclusion : global::Pulumi.CustomResource + { + /// + /// The ID of the exclusion + /// + [Output("exclusionId")] + public Output ExclusionId { get; private set; } = null!; + + /// + /// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + /// + [Output("internetGatewayExclusionMode")] + public Output InternetGatewayExclusionMode { get; private set; } = null!; + + /// + /// The ID of the subnet. Required only if you don't specify VpcId + /// + [Output("subnetId")] + public Output SubnetId { get; private set; } = null!; + + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// The ID of the vpc. Required only if you don't specify SubnetId. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a VpcBlockPublicAccessExclusion 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 VpcBlockPublicAccessExclusion(string name, VpcBlockPublicAccessExclusionArgs args, CustomResourceOptions? options = null) + : base("aws-native:ec2:VpcBlockPublicAccessExclusion", name, args ?? new VpcBlockPublicAccessExclusionArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcBlockPublicAccessExclusion(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:ec2:VpcBlockPublicAccessExclusion", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "subnetId", + "vpcId", + }, + }; + 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 VpcBlockPublicAccessExclusion 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 VpcBlockPublicAccessExclusion Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VpcBlockPublicAccessExclusion(name, id, options); + } + } + + public sealed class VpcBlockPublicAccessExclusionArgs : global::Pulumi.ResourceArgs + { + /// + /// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + /// + [Input("internetGatewayExclusionMode", required: true)] + public Input InternetGatewayExclusionMode { get; set; } = null!; + + /// + /// The ID of the subnet. Required only if you don't specify VpcId + /// + [Input("subnetId")] + public Input? SubnetId { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + /// + /// The ID of the vpc. Required only if you don't specify SubnetId. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcBlockPublicAccessExclusionArgs() + { + } + public static new VpcBlockPublicAccessExclusionArgs Empty => new VpcBlockPublicAccessExclusionArgs(); + } +} diff --git a/sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs b/sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs new file mode 100644 index 0000000000..b92b5d275c --- /dev/null +++ b/sdk/dotnet/Ec2/VpcBlockPublicAccessOptions.cs @@ -0,0 +1,86 @@ +// *** 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.Ec2 +{ + /// + /// Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + /// + [AwsNativeResourceType("aws-native:ec2:VpcBlockPublicAccessOptions")] + public partial class VpcBlockPublicAccessOptions : global::Pulumi.CustomResource + { + /// + /// The identifier for the specified AWS account. + /// + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + + /// + /// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + /// + [Output("internetGatewayBlockMode")] + public Output InternetGatewayBlockMode { get; private set; } = null!; + + + /// + /// Create a VpcBlockPublicAccessOptions 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 VpcBlockPublicAccessOptions(string name, VpcBlockPublicAccessOptionsArgs args, CustomResourceOptions? options = null) + : base("aws-native:ec2:VpcBlockPublicAccessOptions", name, args ?? new VpcBlockPublicAccessOptionsArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcBlockPublicAccessOptions(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:ec2:VpcBlockPublicAccessOptions", 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 VpcBlockPublicAccessOptions 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 VpcBlockPublicAccessOptions Get(string name, Input id, CustomResourceOptions? options = null) + { + return new VpcBlockPublicAccessOptions(name, id, options); + } + } + + public sealed class VpcBlockPublicAccessOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + /// + [Input("internetGatewayBlockMode", required: true)] + public Input InternetGatewayBlockMode { get; set; } = null!; + + public VpcBlockPublicAccessOptionsArgs() + { + } + public static new VpcBlockPublicAccessOptionsArgs Empty => new VpcBlockPublicAccessOptionsArgs(); + } +} diff --git a/sdk/dotnet/Ecs/Enums.cs b/sdk/dotnet/Ecs/Enums.cs index b1182a7af4..8ffefcee33 100644 --- a/sdk/dotnet/Ecs/Enums.cs +++ b/sdk/dotnet/Ecs/Enums.cs @@ -488,6 +488,9 @@ private TaskDefinitionAuthorizationConfigIam(string value) public override string ToString() => _value; } + /// + /// Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + /// [EnumType] public readonly struct TaskDefinitionContainerDefinitionVersionConsistency : IEquatable { diff --git a/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs b/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs index 0de4dc2c51..7e706273d5 100644 --- a/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/TaskDefinitionContainerDefinitionArgs.cs @@ -444,6 +444,9 @@ public InputList Ulimits [Input("user")] public Input? User { get; set; } + /// + /// Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + /// [Input("versionConsistency")] public Input? VersionConsistency { get; set; } diff --git a/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs b/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs index ae90fe22ae..f1495dadaa 100644 --- a/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs +++ b/sdk/dotnet/Ecs/Outputs/TaskDefinitionContainerDefinition.cs @@ -259,6 +259,9 @@ public sealed class TaskDefinitionContainerDefinition /// This parameter is not supported for Windows containers. /// public readonly string? User; + /// + /// Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + /// public readonly Pulumi.AwsNative.Ecs.TaskDefinitionContainerDefinitionVersionConsistency? VersionConsistency; /// /// Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run. diff --git a/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs b/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs index 071eb104ba..d2dbd870ea 100644 --- a/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs +++ b/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs @@ -42,6 +42,15 @@ public sealed class FileSystemReplicationDestinationArgs : global::Pulumi.Resour [Input("region")] public Input? Region { get; set; } + [Input("roleArn")] + public Input? RoleArn { get; set; } + + [Input("status")] + public Input? Status { get; set; } + + [Input("statusMessage")] + public Input? StatusMessage { get; set; } + public FileSystemReplicationDestinationArgs() { } diff --git a/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs b/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs index 8281e43464..e43a769ab0 100644 --- a/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs +++ b/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs @@ -35,6 +35,9 @@ public sealed class FileSystemReplicationDestination /// For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. /// public readonly string? Region; + public readonly string? RoleArn; + public readonly string? Status; + public readonly string? StatusMessage; [OutputConstructor] private FileSystemReplicationDestination( @@ -44,12 +47,21 @@ private FileSystemReplicationDestination( string? kmsKeyId, - string? region) + string? region, + + string? roleArn, + + string? status, + + string? statusMessage) { AvailabilityZoneName = availabilityZoneName; FileSystemId = fileSystemId; KmsKeyId = kmsKeyId; Region = region; + RoleArn = roleArn; + Status = status; + StatusMessage = statusMessage; } } } diff --git a/sdk/dotnet/IoT/Enums.cs b/sdk/dotnet/IoT/Enums.cs index 4041cb59a8..ef3c351b04 100644 --- a/sdk/dotnet/IoT/Enums.cs +++ b/sdk/dotnet/IoT/Enums.cs @@ -1087,6 +1087,34 @@ private SoftwarePackageVersionPackageVersionStatus(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct ThingTypePropagatingAttributeConnectionAttribute : IEquatable + { + private readonly string _value; + + private ThingTypePropagatingAttributeConnectionAttribute(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ThingTypePropagatingAttributeConnectionAttribute IotClientId { get; } = new ThingTypePropagatingAttributeConnectionAttribute("iot:ClientId"); + public static ThingTypePropagatingAttributeConnectionAttribute IotThingThingName { get; } = new ThingTypePropagatingAttributeConnectionAttribute("iot:Thing.ThingName"); + + public static bool operator ==(ThingTypePropagatingAttributeConnectionAttribute left, ThingTypePropagatingAttributeConnectionAttribute right) => left.Equals(right); + public static bool operator !=(ThingTypePropagatingAttributeConnectionAttribute left, ThingTypePropagatingAttributeConnectionAttribute right) => !left.Equals(right); + + public static explicit operator string(ThingTypePropagatingAttributeConnectionAttribute value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ThingTypePropagatingAttributeConnectionAttribute other && Equals(other); + public bool Equals(ThingTypePropagatingAttributeConnectionAttribute 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 TopicRuleCannedAccessControlList : IEquatable { diff --git a/sdk/dotnet/IoT/GetThingType.cs b/sdk/dotnet/IoT/GetThingType.cs index 4a5bc22897..380234c7b3 100644 --- a/sdk/dotnet/IoT/GetThingType.cs +++ b/sdk/dotnet/IoT/GetThingType.cs @@ -75,6 +75,10 @@ public sealed class GetThingTypeResult /// An array of key-value pairs to apply to this resource. /// public readonly ImmutableArray Tags; + /// + /// The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . + /// + public readonly Outputs.ThingTypePropertiesProperties? ThingTypeProperties; [OutputConstructor] private GetThingTypeResult( @@ -84,12 +88,15 @@ private GetThingTypeResult( string? id, - ImmutableArray tags) + ImmutableArray tags, + + Outputs.ThingTypePropertiesProperties? thingTypeProperties) { Arn = arn; DeprecateThingType = deprecateThingType; Id = id; Tags = tags; + ThingTypeProperties = thingTypeProperties; } } } diff --git a/sdk/dotnet/IoT/Inputs/ThingTypePropagatingAttributeArgs.cs b/sdk/dotnet/IoT/Inputs/ThingTypePropagatingAttributeArgs.cs new file mode 100644 index 0000000000..b641012c20 --- /dev/null +++ b/sdk/dotnet/IoT/Inputs/ThingTypePropagatingAttributeArgs.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.IoT.Inputs +{ + + public sealed class ThingTypePropagatingAttributeArgs : global::Pulumi.ResourceArgs + { + [Input("connectionAttribute")] + public Input? ConnectionAttribute { get; set; } + + [Input("thingAttribute")] + public Input? ThingAttribute { get; set; } + + [Input("userPropertyKey", required: true)] + public Input UserPropertyKey { get; set; } = null!; + + public ThingTypePropagatingAttributeArgs() + { + } + public static new ThingTypePropagatingAttributeArgs Empty => new ThingTypePropagatingAttributeArgs(); + } +} diff --git a/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesArgs.cs b/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesArgs.cs index f134a55284..271f156e90 100644 --- a/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesArgs.cs +++ b/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesArgs.cs @@ -15,6 +15,9 @@ namespace Pulumi.AwsNative.IoT.Inputs /// public sealed class ThingTypePropertiesPropertiesArgs : global::Pulumi.ResourceArgs { + [Input("mqtt5Configuration")] + public Input? Mqtt5Configuration { get; set; } + [Input("searchableAttributes")] private InputList? _searchableAttributes; diff --git a/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs.cs b/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs.cs new file mode 100644 index 0000000000..9a613d314a --- /dev/null +++ b/sdk/dotnet/IoT/Inputs/ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs.cs @@ -0,0 +1,28 @@ +// *** 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.IoT.Inputs +{ + + public sealed class ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("propagatingAttributes")] + private InputList? _propagatingAttributes; + public InputList PropagatingAttributes + { + get => _propagatingAttributes ?? (_propagatingAttributes = new InputList()); + set => _propagatingAttributes = value; + } + + public ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs() + { + } + public static new ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs Empty => new ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/IoT/Outputs/ThingTypePropagatingAttribute.cs b/sdk/dotnet/IoT/Outputs/ThingTypePropagatingAttribute.cs new file mode 100644 index 0000000000..a6714ed273 --- /dev/null +++ b/sdk/dotnet/IoT/Outputs/ThingTypePropagatingAttribute.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.IoT.Outputs +{ + + [OutputType] + public sealed class ThingTypePropagatingAttribute + { + public readonly Pulumi.AwsNative.IoT.ThingTypePropagatingAttributeConnectionAttribute? ConnectionAttribute; + public readonly string? ThingAttribute; + public readonly string UserPropertyKey; + + [OutputConstructor] + private ThingTypePropagatingAttribute( + Pulumi.AwsNative.IoT.ThingTypePropagatingAttributeConnectionAttribute? connectionAttribute, + + string? thingAttribute, + + string userPropertyKey) + { + ConnectionAttribute = connectionAttribute; + ThingAttribute = thingAttribute; + UserPropertyKey = userPropertyKey; + } + } +} diff --git a/sdk/dotnet/IoT/Outputs/ThingTypePropertiesProperties.cs b/sdk/dotnet/IoT/Outputs/ThingTypePropertiesProperties.cs index ac3c905f06..aeb45f511c 100644 --- a/sdk/dotnet/IoT/Outputs/ThingTypePropertiesProperties.cs +++ b/sdk/dotnet/IoT/Outputs/ThingTypePropertiesProperties.cs @@ -16,6 +16,7 @@ namespace Pulumi.AwsNative.IoT.Outputs [OutputType] public sealed class ThingTypePropertiesProperties { + public readonly Outputs.ThingTypePropertiesPropertiesMqtt5ConfigurationProperties? Mqtt5Configuration; /// /// A list of searchable thing attribute names. /// @@ -27,10 +28,13 @@ public sealed class ThingTypePropertiesProperties [OutputConstructor] private ThingTypePropertiesProperties( + Outputs.ThingTypePropertiesPropertiesMqtt5ConfigurationProperties? mqtt5Configuration, + ImmutableArray searchableAttributes, string? thingTypeDescription) { + Mqtt5Configuration = mqtt5Configuration; SearchableAttributes = searchableAttributes; ThingTypeDescription = thingTypeDescription; } diff --git a/sdk/dotnet/IoT/Outputs/ThingTypePropertiesPropertiesMqtt5ConfigurationProperties.cs b/sdk/dotnet/IoT/Outputs/ThingTypePropertiesPropertiesMqtt5ConfigurationProperties.cs new file mode 100644 index 0000000000..93e0e8bd1e --- /dev/null +++ b/sdk/dotnet/IoT/Outputs/ThingTypePropertiesPropertiesMqtt5ConfigurationProperties.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.IoT.Outputs +{ + + [OutputType] + public sealed class ThingTypePropertiesPropertiesMqtt5ConfigurationProperties + { + public readonly ImmutableArray PropagatingAttributes; + + [OutputConstructor] + private ThingTypePropertiesPropertiesMqtt5ConfigurationProperties(ImmutableArray propagatingAttributes) + { + PropagatingAttributes = propagatingAttributes; + } + } +} diff --git a/sdk/dotnet/IoT/ThingType.cs b/sdk/dotnet/IoT/ThingType.cs index 15e31f9757..6d3b0982de 100644 --- a/sdk/dotnet/IoT/ThingType.cs +++ b/sdk/dotnet/IoT/ThingType.cs @@ -79,7 +79,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? ReplaceOnChanges = { "thingTypeName", - "thingTypeProperties", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); diff --git a/sdk/dotnet/IoTSiteWise/Enums.cs b/sdk/dotnet/IoTSiteWise/Enums.cs index 64218ff53e..9897147549 100644 --- a/sdk/dotnet/IoTSiteWise/Enums.cs +++ b/sdk/dotnet/IoTSiteWise/Enums.cs @@ -125,4 +125,35 @@ private AssetPropertyNotificationState(string value) public override string ToString() => _value; } + + /// + /// The type of portal + /// + [EnumType] + public readonly struct PortalType : IEquatable + { + private readonly string _value; + + private PortalType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static PortalType SitewisePortalV1 { get; } = new PortalType("SITEWISE_PORTAL_V1"); + public static PortalType SitewisePortalV2 { get; } = new PortalType("SITEWISE_PORTAL_V2"); + + public static bool operator ==(PortalType left, PortalType right) => left.Equals(right); + public static bool operator !=(PortalType left, PortalType right) => !left.Equals(right); + + public static explicit operator string(PortalType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PortalType other && Equals(other); + public bool Equals(PortalType 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/IoTSiteWise/GetPortal.cs b/sdk/dotnet/IoTSiteWise/GetPortal.cs index 58786c55ab..39d0ae22e3 100644 --- a/sdk/dotnet/IoTSiteWise/GetPortal.cs +++ b/sdk/dotnet/IoTSiteWise/GetPortal.cs @@ -93,6 +93,7 @@ public sealed class GetPortalResult /// The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal. /// public readonly string? PortalStartUrl; + public readonly ImmutableDictionary? PortalTypeConfiguration; /// /// The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. /// @@ -122,6 +123,8 @@ private GetPortalResult( string? portalStartUrl, + ImmutableDictionary? portalTypeConfiguration, + string? roleArn, ImmutableArray tags) @@ -135,6 +138,7 @@ private GetPortalResult( PortalId = portalId; PortalName = portalName; PortalStartUrl = portalStartUrl; + PortalTypeConfiguration = portalTypeConfiguration; RoleArn = roleArn; Tags = tags; } diff --git a/sdk/dotnet/IoTSiteWise/Inputs/PortalTypeEntryArgs.cs b/sdk/dotnet/IoTSiteWise/Inputs/PortalTypeEntryArgs.cs new file mode 100644 index 0000000000..f5631772a9 --- /dev/null +++ b/sdk/dotnet/IoTSiteWise/Inputs/PortalTypeEntryArgs.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.IoTSiteWise.Inputs +{ + + /// + /// Container associated a certain PortalType. + /// + public sealed class PortalTypeEntryArgs : global::Pulumi.ResourceArgs + { + [Input("portalTools", required: true)] + private InputList? _portalTools; + public InputList PortalTools + { + get => _portalTools ?? (_portalTools = new InputList()); + set => _portalTools = value; + } + + public PortalTypeEntryArgs() + { + } + public static new PortalTypeEntryArgs Empty => new PortalTypeEntryArgs(); + } +} diff --git a/sdk/dotnet/IoTSiteWise/Outputs/PortalTypeEntry.cs b/sdk/dotnet/IoTSiteWise/Outputs/PortalTypeEntry.cs new file mode 100644 index 0000000000..8a7dfae4e2 --- /dev/null +++ b/sdk/dotnet/IoTSiteWise/Outputs/PortalTypeEntry.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.IoTSiteWise.Outputs +{ + + /// + /// Container associated a certain PortalType. + /// + [OutputType] + public sealed class PortalTypeEntry + { + public readonly ImmutableArray PortalTools; + + [OutputConstructor] + private PortalTypeEntry(ImmutableArray portalTools) + { + PortalTools = portalTools; + } + } +} diff --git a/sdk/dotnet/IoTSiteWise/Portal.cs b/sdk/dotnet/IoTSiteWise/Portal.cs index b4b82c101b..1f14df3761 100644 --- a/sdk/dotnet/IoTSiteWise/Portal.cs +++ b/sdk/dotnet/IoTSiteWise/Portal.cs @@ -75,6 +75,15 @@ public partial class Portal : global::Pulumi.CustomResource [Output("portalStartUrl")] public Output PortalStartUrl { get; private set; } = null!; + /// + /// The type of portal + /// + [Output("portalType")] + public Output PortalType { get; private set; } = null!; + + [Output("portalTypeConfiguration")] + public Output?> PortalTypeConfiguration { get; private set; } = null!; + /// /// The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. /// @@ -113,6 +122,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? ReplaceOnChanges = { "portalAuthMode", + "portalType", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -172,6 +182,20 @@ public sealed class PortalArgs : global::Pulumi.ResourceArgs [Input("portalName")] public Input? PortalName { get; set; } + /// + /// The type of portal + /// + [Input("portalType")] + public Input? PortalType { get; set; } + + [Input("portalTypeConfiguration")] + private InputMap? _portalTypeConfiguration; + public InputMap PortalTypeConfiguration + { + get => _portalTypeConfiguration ?? (_portalTypeConfiguration = new InputMap()); + set => _portalTypeConfiguration = value; + } + /// /// The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. /// diff --git a/sdk/dotnet/Lambda/Enums.cs b/sdk/dotnet/Lambda/Enums.cs index c49d71f035..921505d28d 100644 --- a/sdk/dotnet/Lambda/Enums.cs +++ b/sdk/dotnet/Lambda/Enums.cs @@ -96,6 +96,33 @@ private EventSourceMappingFunctionResponseTypesItem(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct EventSourceMappingMetricsConfigMetricsItem : IEquatable + { + private readonly string _value; + + private EventSourceMappingMetricsConfigMetricsItem(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static EventSourceMappingMetricsConfigMetricsItem EventCount { get; } = new EventSourceMappingMetricsConfigMetricsItem("EventCount"); + + public static bool operator ==(EventSourceMappingMetricsConfigMetricsItem left, EventSourceMappingMetricsConfigMetricsItem right) => left.Equals(right); + public static bool operator !=(EventSourceMappingMetricsConfigMetricsItem left, EventSourceMappingMetricsConfigMetricsItem right) => !left.Equals(right); + + public static explicit operator string(EventSourceMappingMetricsConfigMetricsItem value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is EventSourceMappingMetricsConfigMetricsItem other && Equals(other); + public bool Equals(EventSourceMappingMetricsConfigMetricsItem 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 authentication protocol, VPC components, or virtual host for your event source. For example: ``"Type":"SASL_SCRAM_512_AUTH"``. /// + ``BASIC_AUTH`` – (Amazon MQ) The ASMlong secret that stores your broker credentials. diff --git a/sdk/dotnet/Lambda/EventSourceMapping.cs b/sdk/dotnet/Lambda/EventSourceMapping.cs index c37d88959b..d693415da2 100644 --- a/sdk/dotnet/Lambda/EventSourceMapping.cs +++ b/sdk/dotnet/Lambda/EventSourceMapping.cs @@ -145,12 +145,18 @@ public partial class EventSourceMapping : global::Pulumi.CustomResource [Output("maximumRetryAttempts")] public Output MaximumRetryAttempts { get; private set; } = null!; + [Output("metricsConfig")] + public Output MetricsConfig { get; private set; } = null!; + /// /// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. /// [Output("parallelizationFactor")] public Output ParallelizationFactor { get; private set; } = null!; + [Output("provisionedPollerConfig")] + public Output ProvisionedPollerConfig { get; private set; } = null!; + /// /// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. /// @@ -385,12 +391,18 @@ public InputList? MaximumRetryAttempts { get; set; } + [Input("metricsConfig")] + public Input? MetricsConfig { get; set; } + /// /// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. /// [Input("parallelizationFactor")] public Input? ParallelizationFactor { get; set; } + [Input("provisionedPollerConfig")] + public Input? ProvisionedPollerConfig { get; set; } + [Input("queues")] private InputList? _queues; diff --git a/sdk/dotnet/Lambda/GetEventSourceMapping.cs b/sdk/dotnet/Lambda/GetEventSourceMapping.cs index 9f5d063b2a..c14edfc83c 100644 --- a/sdk/dotnet/Lambda/GetEventSourceMapping.cs +++ b/sdk/dotnet/Lambda/GetEventSourceMapping.cs @@ -149,10 +149,12 @@ public sealed class GetEventSourceMappingResult /// (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. /// public readonly int? MaximumRetryAttempts; + public readonly Outputs.EventSourceMappingMetricsConfig? MetricsConfig; /// /// (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. /// public readonly int? ParallelizationFactor; + public readonly Outputs.EventSourceMappingProvisionedPollerConfig? ProvisionedPollerConfig; /// /// (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. /// @@ -209,8 +211,12 @@ private GetEventSourceMappingResult( int? maximumRetryAttempts, + Outputs.EventSourceMappingMetricsConfig? metricsConfig, + int? parallelizationFactor, + Outputs.EventSourceMappingProvisionedPollerConfig? provisionedPollerConfig, + ImmutableArray queues, Outputs.EventSourceMappingScalingConfig? scalingConfig, @@ -237,7 +243,9 @@ private GetEventSourceMappingResult( MaximumBatchingWindowInSeconds = maximumBatchingWindowInSeconds; MaximumRecordAgeInSeconds = maximumRecordAgeInSeconds; MaximumRetryAttempts = maximumRetryAttempts; + MetricsConfig = metricsConfig; ParallelizationFactor = parallelizationFactor; + ProvisionedPollerConfig = provisionedPollerConfig; Queues = queues; ScalingConfig = scalingConfig; SourceAccessConfigurations = sourceAccessConfigurations; diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.cs new file mode 100644 index 0000000000..eb83f946de --- /dev/null +++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingMetricsConfigArgs.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.Lambda.Inputs +{ + + public sealed class EventSourceMappingMetricsConfigArgs : global::Pulumi.ResourceArgs + { + [Input("metrics")] + private InputList? _metrics; + + /// + /// Metric groups to enable. + /// + public InputList Metrics + { + get => _metrics ?? (_metrics = new InputList()); + set => _metrics = value; + } + + public EventSourceMappingMetricsConfigArgs() + { + } + public static new EventSourceMappingMetricsConfigArgs Empty => new EventSourceMappingMetricsConfigArgs(); + } +} diff --git a/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.cs new file mode 100644 index 0000000000..0521650607 --- /dev/null +++ b/sdk/dotnet/Lambda/Inputs/EventSourceMappingProvisionedPollerConfigArgs.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.Lambda.Inputs +{ + + public sealed class EventSourceMappingProvisionedPollerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of event pollers this event source can scale up to. + /// + [Input("maximumPollers")] + public Input? MaximumPollers { get; set; } + + /// + /// The minimum number of event pollers this event source can scale down to. + /// + [Input("minimumPollers")] + public Input? MinimumPollers { get; set; } + + public EventSourceMappingProvisionedPollerConfigArgs() + { + } + public static new EventSourceMappingProvisionedPollerConfigArgs Empty => new EventSourceMappingProvisionedPollerConfigArgs(); + } +} diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.cs new file mode 100644 index 0000000000..a61c496de7 --- /dev/null +++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingMetricsConfig.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.Lambda.Outputs +{ + + [OutputType] + public sealed class EventSourceMappingMetricsConfig + { + /// + /// Metric groups to enable. + /// + public readonly ImmutableArray Metrics; + + [OutputConstructor] + private EventSourceMappingMetricsConfig(ImmutableArray metrics) + { + Metrics = metrics; + } + } +} diff --git a/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs b/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.cs new file mode 100644 index 0000000000..eb0dfdfdcd --- /dev/null +++ b/sdk/dotnet/Lambda/Outputs/EventSourceMappingProvisionedPollerConfig.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.Lambda.Outputs +{ + + [OutputType] + public sealed class EventSourceMappingProvisionedPollerConfig + { + /// + /// The maximum number of event pollers this event source can scale up to. + /// + public readonly int? MaximumPollers; + /// + /// The minimum number of event pollers this event source can scale down to. + /// + public readonly int? MinimumPollers; + + [OutputConstructor] + private EventSourceMappingProvisionedPollerConfig( + int? maximumPollers, + + int? minimumPollers) + { + MaximumPollers = maximumPollers; + MinimumPollers = minimumPollers; + } + } +} diff --git a/sdk/dotnet/M2/Deployment.cs b/sdk/dotnet/M2/Deployment.cs new file mode 100644 index 0000000000..b500675502 --- /dev/null +++ b/sdk/dotnet/M2/Deployment.cs @@ -0,0 +1,121 @@ +// *** 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.M2 +{ + /// + /// Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + /// + [AwsNativeResourceType("aws-native:m2:Deployment")] + public partial class Deployment : global::Pulumi.CustomResource + { + /// + /// The application ID. + /// + [Output("applicationId")] + public Output ApplicationId { get; private set; } = null!; + + /// + /// The version number of the application to deploy + /// + [Output("applicationVersion")] + public Output ApplicationVersion { get; private set; } = null!; + + /// + /// The deployment ID. + /// + [Output("deploymentId")] + public Output DeploymentId { get; private set; } = null!; + + /// + /// The environment ID. + /// + [Output("environmentId")] + public Output EnvironmentId { get; private set; } = null!; + + /// + /// The status of the deployment. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a Deployment 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 Deployment(string name, DeploymentArgs args, CustomResourceOptions? options = null) + : base("aws-native:m2:Deployment", name, args ?? new DeploymentArgs(), MakeResourceOptions(options, "")) + { + } + + private Deployment(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:m2:Deployment", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "applicationId", + "environmentId", + }, + }; + 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 Deployment 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 Deployment Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Deployment(name, id, options); + } + } + + public sealed class DeploymentArgs : global::Pulumi.ResourceArgs + { + /// + /// The application ID. + /// + [Input("applicationId", required: true)] + public Input ApplicationId { get; set; } = null!; + + /// + /// The version number of the application to deploy + /// + [Input("applicationVersion", required: true)] + public Input ApplicationVersion { get; set; } = null!; + + /// + /// The environment ID. + /// + [Input("environmentId", required: true)] + public Input EnvironmentId { get; set; } = null!; + + public DeploymentArgs() + { + } + public static new DeploymentArgs Empty => new DeploymentArgs(); + } +} diff --git a/sdk/dotnet/M2/GetDeployment.cs b/sdk/dotnet/M2/GetDeployment.cs new file mode 100644 index 0000000000..6aed49a6bf --- /dev/null +++ b/sdk/dotnet/M2/GetDeployment.cs @@ -0,0 +1,86 @@ +// *** 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.M2 +{ + public static class GetDeployment + { + /// + /// Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + /// + public static Task InvokeAsync(GetDeploymentArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:m2:getDeployment", args ?? new GetDeploymentArgs(), options.WithDefaults()); + + /// + /// Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + /// + public static Output Invoke(GetDeploymentInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:m2:getDeployment", args ?? new GetDeploymentInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDeploymentArgs : global::Pulumi.InvokeArgs + { + /// + /// The application ID. + /// + [Input("applicationId", required: true)] + public string ApplicationId { get; set; } = null!; + + public GetDeploymentArgs() + { + } + public static new GetDeploymentArgs Empty => new GetDeploymentArgs(); + } + + public sealed class GetDeploymentInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The application ID. + /// + [Input("applicationId", required: true)] + public Input ApplicationId { get; set; } = null!; + + public GetDeploymentInvokeArgs() + { + } + public static new GetDeploymentInvokeArgs Empty => new GetDeploymentInvokeArgs(); + } + + + [OutputType] + public sealed class GetDeploymentResult + { + /// + /// The version number of the application to deploy + /// + public readonly int? ApplicationVersion; + /// + /// The deployment ID. + /// + public readonly string? DeploymentId; + /// + /// The status of the deployment. + /// + public readonly string? Status; + + [OutputConstructor] + private GetDeploymentResult( + int? applicationVersion, + + string? deploymentId, + + string? status) + { + ApplicationVersion = applicationVersion; + DeploymentId = deploymentId; + Status = status; + } + } +} diff --git a/sdk/dotnet/Mwaa/Environment.cs b/sdk/dotnet/Mwaa/Environment.cs index 6ec4dc147b..e266a013c5 100644 --- a/sdk/dotnet/Mwaa/Environment.cs +++ b/sdk/dotnet/Mwaa/Environment.cs @@ -98,7 +98,7 @@ public partial class Environment : global::Pulumi.CustomResource /// /// The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . /// - /// Valid values: Accepts between `2` and `5` . Defaults to `2` . + /// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . /// [Output("maxWebservers")] public Output MaxWebservers { get; private set; } = null!; @@ -112,7 +112,7 @@ public partial class Environment : global::Pulumi.CustomResource /// /// The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . /// - /// Valid values: Accepts between `2` and `5` . Defaults to `2` . + /// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . /// [Output("minWebservers")] public Output MinWebservers { get; private set; } = null!; @@ -345,7 +345,7 @@ public sealed class EnvironmentArgs : global::Pulumi.ResourceArgs /// /// The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . /// - /// Valid values: Accepts between `2` and `5` . Defaults to `2` . + /// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . /// [Input("maxWebservers")] public Input? MaxWebservers { get; set; } @@ -359,7 +359,7 @@ public sealed class EnvironmentArgs : global::Pulumi.ResourceArgs /// /// The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . /// - /// Valid values: Accepts between `2` and `5` . Defaults to `2` . + /// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . /// [Input("minWebservers")] public Input? MinWebservers { get; set; } diff --git a/sdk/dotnet/Mwaa/GetEnvironment.cs b/sdk/dotnet/Mwaa/GetEnvironment.cs index 3094953a91..9d174c2c08 100644 --- a/sdk/dotnet/Mwaa/GetEnvironment.cs +++ b/sdk/dotnet/Mwaa/GetEnvironment.cs @@ -110,7 +110,7 @@ public sealed class GetEnvironmentResult /// /// The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . /// - /// Valid values: Accepts between `2` and `5` . Defaults to `2` . + /// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . /// public readonly int? MaxWebservers; /// @@ -120,7 +120,7 @@ public sealed class GetEnvironmentResult /// /// The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . /// - /// Valid values: Accepts between `2` and `5` . Defaults to `2` . + /// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . /// public readonly int? MinWebservers; /// diff --git a/sdk/dotnet/OpenSearchServerless/Enums.cs b/sdk/dotnet/OpenSearchServerless/Enums.cs index 106cb55218..959b1215f1 100644 --- a/sdk/dotnet/OpenSearchServerless/Enums.cs +++ b/sdk/dotnet/OpenSearchServerless/Enums.cs @@ -144,6 +144,7 @@ private SecurityConfigType(string value) } public static SecurityConfigType Saml { get; } = new SecurityConfigType("saml"); + public static SecurityConfigType Iamidentitycenter { get; } = new SecurityConfigType("iamidentitycenter"); public static bool operator ==(SecurityConfigType left, SecurityConfigType right) => left.Equals(right); public static bool operator !=(SecurityConfigType left, SecurityConfigType right) => !left.Equals(right); diff --git a/sdk/dotnet/OpenSearchServerless/GetSecurityConfig.cs b/sdk/dotnet/OpenSearchServerless/GetSecurityConfig.cs index ae45e3f35b..ceb03cb6fd 100644 --- a/sdk/dotnet/OpenSearchServerless/GetSecurityConfig.cs +++ b/sdk/dotnet/OpenSearchServerless/GetSecurityConfig.cs @@ -61,6 +61,7 @@ public sealed class GetSecurityConfigResult /// Security config description /// public readonly string? Description; + public readonly Outputs.SecurityConfigIamIdentityCenterConfigOptions? IamIdentityCenterOptions; /// /// The identifier of the security config /// @@ -74,11 +75,14 @@ public sealed class GetSecurityConfigResult private GetSecurityConfigResult( string? description, + Outputs.SecurityConfigIamIdentityCenterConfigOptions? iamIdentityCenterOptions, + string? id, Outputs.SecurityConfigSamlConfigOptions? samlOptions) { Description = description; + IamIdentityCenterOptions = iamIdentityCenterOptions; Id = id; SamlOptions = samlOptions; } diff --git a/sdk/dotnet/OpenSearchServerless/Inputs/SecurityConfigIamIdentityCenterConfigOptionsArgs.cs b/sdk/dotnet/OpenSearchServerless/Inputs/SecurityConfigIamIdentityCenterConfigOptionsArgs.cs new file mode 100644 index 0000000000..f66cf7a106 --- /dev/null +++ b/sdk/dotnet/OpenSearchServerless/Inputs/SecurityConfigIamIdentityCenterConfigOptionsArgs.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.OpenSearchServerless.Inputs +{ + + /// + /// Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + /// + public sealed class SecurityConfigIamIdentityCenterConfigOptionsArgs : global::Pulumi.ResourceArgs + { + [Input("applicationArn")] + public Input? ApplicationArn { get; set; } + + /// + /// The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + /// + [Input("applicationDescription")] + public Input? ApplicationDescription { get; set; } + + /// + /// The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + /// + [Input("applicationName")] + public Input? ApplicationName { get; set; } + + [Input("groupAttribute")] + public Input? GroupAttribute { get; set; } + + [Input("instanceArn", required: true)] + public Input InstanceArn { get; set; } = null!; + + [Input("userAttribute")] + public Input? UserAttribute { get; set; } + + public SecurityConfigIamIdentityCenterConfigOptionsArgs() + { + } + public static new SecurityConfigIamIdentityCenterConfigOptionsArgs Empty => new SecurityConfigIamIdentityCenterConfigOptionsArgs(); + } +} diff --git a/sdk/dotnet/OpenSearchServerless/Outputs/SecurityConfigIamIdentityCenterConfigOptions.cs b/sdk/dotnet/OpenSearchServerless/Outputs/SecurityConfigIamIdentityCenterConfigOptions.cs new file mode 100644 index 0000000000..faa0866087 --- /dev/null +++ b/sdk/dotnet/OpenSearchServerless/Outputs/SecurityConfigIamIdentityCenterConfigOptions.cs @@ -0,0 +1,54 @@ +// *** 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.OpenSearchServerless.Outputs +{ + + /// + /// Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + /// + [OutputType] + public sealed class SecurityConfigIamIdentityCenterConfigOptions + { + public readonly string? ApplicationArn; + /// + /// The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + /// + public readonly string? ApplicationDescription; + /// + /// The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + /// + public readonly string? ApplicationName; + public readonly string? GroupAttribute; + public readonly string InstanceArn; + public readonly string? UserAttribute; + + [OutputConstructor] + private SecurityConfigIamIdentityCenterConfigOptions( + string? applicationArn, + + string? applicationDescription, + + string? applicationName, + + string? groupAttribute, + + string instanceArn, + + string? userAttribute) + { + ApplicationArn = applicationArn; + ApplicationDescription = applicationDescription; + ApplicationName = applicationName; + GroupAttribute = groupAttribute; + InstanceArn = instanceArn; + UserAttribute = userAttribute; + } + } +} diff --git a/sdk/dotnet/OpenSearchServerless/SecurityConfig.cs b/sdk/dotnet/OpenSearchServerless/SecurityConfig.cs index 193e438255..d44847dbee 100644 --- a/sdk/dotnet/OpenSearchServerless/SecurityConfig.cs +++ b/sdk/dotnet/OpenSearchServerless/SecurityConfig.cs @@ -83,6 +83,9 @@ public partial class SecurityConfig : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + [Output("iamIdentityCenterOptions")] + public Output IamIdentityCenterOptions { get; private set; } = null!; + /// /// The friendly name of the security config /// @@ -126,6 +129,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, ReplaceOnChanges = { + "iamIdentityCenterOptions.instanceArn", "name", "type", }, @@ -157,6 +161,9 @@ public sealed class SecurityConfigArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("iamIdentityCenterOptions")] + public Input? IamIdentityCenterOptions { get; set; } + /// /// The friendly name of the security config /// diff --git a/sdk/dotnet/Rbin/GetRule.cs b/sdk/dotnet/Rbin/GetRule.cs index 2b663a5be1..b2e464e9e6 100644 --- a/sdk/dotnet/Rbin/GetRule.cs +++ b/sdk/dotnet/Rbin/GetRule.cs @@ -66,6 +66,10 @@ public sealed class GetRuleResult /// public readonly string? Description; /// + /// Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + /// + public readonly ImmutableArray ExcludeResourceTags; + /// /// The unique ID of the retention rule. /// public readonly string? Identifier; @@ -96,6 +100,8 @@ private GetRuleResult( string? description, + ImmutableArray excludeResourceTags, + string? identifier, string? lockState, @@ -110,6 +116,7 @@ private GetRuleResult( { Arn = arn; Description = description; + ExcludeResourceTags = excludeResourceTags; Identifier = identifier; LockState = lockState; ResourceTags = resourceTags; diff --git a/sdk/dotnet/Rbin/Rule.cs b/sdk/dotnet/Rbin/Rule.cs index 71502e3461..ac6cf60aa6 100644 --- a/sdk/dotnet/Rbin/Rule.cs +++ b/sdk/dotnet/Rbin/Rule.cs @@ -27,6 +27,12 @@ public partial class Rule : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + /// + [Output("excludeResourceTags")] + public Output> ExcludeResourceTags { get; private set; } = null!; + /// /// The unique ID of the retention rule. /// @@ -130,6 +136,18 @@ public sealed class RuleArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("excludeResourceTags")] + private InputList? _excludeResourceTags; + + /// + /// Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + /// + public InputList ExcludeResourceTags + { + get => _excludeResourceTags ?? (_excludeResourceTags = new InputList()); + set => _excludeResourceTags = value; + } + /// /// Information about the retention rule lock configuration. /// diff --git a/sdk/dotnet/Rds/GetGlobalCluster.cs b/sdk/dotnet/Rds/GetGlobalCluster.cs index b1c56c67a2..ccfa403f43 100644 --- a/sdk/dotnet/Rds/GetGlobalCluster.cs +++ b/sdk/dotnet/Rds/GetGlobalCluster.cs @@ -69,6 +69,7 @@ public sealed class GetGlobalClusterResult /// The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster. /// public readonly string? EngineVersion; + public readonly Outputs.GlobalClusterGlobalEndpoint? GlobalEndpoint; /// /// An array of key-value pairs to apply to this resource. /// @@ -82,11 +83,14 @@ private GetGlobalClusterResult( string? engineVersion, + Outputs.GlobalClusterGlobalEndpoint? globalEndpoint, + ImmutableArray tags) { DeletionProtection = deletionProtection; EngineLifecycleSupport = engineLifecycleSupport; EngineVersion = engineVersion; + GlobalEndpoint = globalEndpoint; Tags = tags; } } diff --git a/sdk/dotnet/Rds/GlobalCluster.cs b/sdk/dotnet/Rds/GlobalCluster.cs index 0c19470762..5b6e0de314 100644 --- a/sdk/dotnet/Rds/GlobalCluster.cs +++ b/sdk/dotnet/Rds/GlobalCluster.cs @@ -46,6 +46,9 @@ public partial class GlobalCluster : global::Pulumi.CustomResource [Output("globalClusterIdentifier")] public Output GlobalClusterIdentifier { get; private set; } = null!; + [Output("globalEndpoint")] + public Output GlobalEndpoint { get; private set; } = null!; + /// /// The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. /// @@ -148,6 +151,9 @@ public sealed class GlobalClusterArgs : global::Pulumi.ResourceArgs [Input("globalClusterIdentifier")] public Input? GlobalClusterIdentifier { get; set; } + [Input("globalEndpoint")] + public Input? GlobalEndpoint { get; set; } + /// /// The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. /// diff --git a/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalEndpointArgs.cs b/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalEndpointArgs.cs new file mode 100644 index 0000000000..ca02d593e5 --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/GlobalClusterGlobalEndpointArgs.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.Rds.Inputs +{ + + public sealed class GlobalClusterGlobalEndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + /// + [Input("address")] + public Input? Address { get; set; } + + public GlobalClusterGlobalEndpointArgs() + { + } + public static new GlobalClusterGlobalEndpointArgs Empty => new GlobalClusterGlobalEndpointArgs(); + } +} diff --git a/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalEndpoint.cs b/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalEndpoint.cs new file mode 100644 index 0000000000..e2d34ac334 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/GlobalClusterGlobalEndpoint.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.Rds.Outputs +{ + + [OutputType] + public sealed class GlobalClusterGlobalEndpoint + { + /// + /// The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + /// + public readonly string? Address; + + [OutputConstructor] + private GlobalClusterGlobalEndpoint(string? address) + { + Address = address; + } + } +} diff --git a/sdk/dotnet/Route53RecoveryControl/GetSafetyRule.cs b/sdk/dotnet/Route53RecoveryControl/GetSafetyRule.cs index 80b302e91a..38d2bba3eb 100644 --- a/sdk/dotnet/Route53RecoveryControl/GetSafetyRule.cs +++ b/sdk/dotnet/Route53RecoveryControl/GetSafetyRule.cs @@ -87,6 +87,10 @@ public sealed class GetSafetyRuleResult /// The deployment status of the routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION. /// public readonly Pulumi.AwsNative.Route53RecoveryControl.SafetyRuleStatus? Status; + /// + /// A collection of tags associated with a resource + /// + public readonly ImmutableArray Tags; [OutputConstructor] private GetSafetyRuleResult( @@ -102,7 +106,9 @@ private GetSafetyRuleResult( string? safetyRuleArn, - Pulumi.AwsNative.Route53RecoveryControl.SafetyRuleStatus? status) + Pulumi.AwsNative.Route53RecoveryControl.SafetyRuleStatus? status, + + ImmutableArray tags) { AssertionRule = assertionRule; ControlPanelArn = controlPanelArn; @@ -111,6 +117,7 @@ private GetSafetyRuleResult( RuleConfig = ruleConfig; SafetyRuleArn = safetyRuleArn; Status = status; + Tags = tags; } } } diff --git a/sdk/dotnet/Route53Resolver/Enums.cs b/sdk/dotnet/Route53Resolver/Enums.cs index 157c41acee..b4fcb03af1 100644 --- a/sdk/dotnet/Route53Resolver/Enums.cs +++ b/sdk/dotnet/Route53Resolver/Enums.cs @@ -200,6 +200,69 @@ private FirewallRuleGroupFirewallRuleBlockResponse(string value) public override string ToString() => _value; } + /// + /// FirewallDomainRedirectionAction + /// + [EnumType] + public readonly struct FirewallRuleGroupFirewallRuleConfidenceThreshold : IEquatable + { + private readonly string _value; + + private FirewallRuleGroupFirewallRuleConfidenceThreshold(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static FirewallRuleGroupFirewallRuleConfidenceThreshold Low { get; } = new FirewallRuleGroupFirewallRuleConfidenceThreshold("LOW"); + public static FirewallRuleGroupFirewallRuleConfidenceThreshold Medium { get; } = new FirewallRuleGroupFirewallRuleConfidenceThreshold("MEDIUM"); + public static FirewallRuleGroupFirewallRuleConfidenceThreshold High { get; } = new FirewallRuleGroupFirewallRuleConfidenceThreshold("HIGH"); + + public static bool operator ==(FirewallRuleGroupFirewallRuleConfidenceThreshold left, FirewallRuleGroupFirewallRuleConfidenceThreshold right) => left.Equals(right); + public static bool operator !=(FirewallRuleGroupFirewallRuleConfidenceThreshold left, FirewallRuleGroupFirewallRuleConfidenceThreshold right) => !left.Equals(right); + + public static explicit operator string(FirewallRuleGroupFirewallRuleConfidenceThreshold value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is FirewallRuleGroupFirewallRuleConfidenceThreshold other && Equals(other); + public bool Equals(FirewallRuleGroupFirewallRuleConfidenceThreshold other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// FirewallDomainRedirectionAction + /// + [EnumType] + public readonly struct FirewallRuleGroupFirewallRuleDnsThreatProtection : IEquatable + { + private readonly string _value; + + private FirewallRuleGroupFirewallRuleDnsThreatProtection(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static FirewallRuleGroupFirewallRuleDnsThreatProtection Dga { get; } = new FirewallRuleGroupFirewallRuleDnsThreatProtection("DGA"); + public static FirewallRuleGroupFirewallRuleDnsThreatProtection DnsTunneling { get; } = new FirewallRuleGroupFirewallRuleDnsThreatProtection("DNS_TUNNELING"); + + public static bool operator ==(FirewallRuleGroupFirewallRuleDnsThreatProtection left, FirewallRuleGroupFirewallRuleDnsThreatProtection right) => left.Equals(right); + public static bool operator !=(FirewallRuleGroupFirewallRuleDnsThreatProtection left, FirewallRuleGroupFirewallRuleDnsThreatProtection right) => !left.Equals(right); + + public static explicit operator string(FirewallRuleGroupFirewallRuleDnsThreatProtection value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is FirewallRuleGroupFirewallRuleDnsThreatProtection other && Equals(other); + public bool Equals(FirewallRuleGroupFirewallRuleDnsThreatProtection other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// FirewallDomainRedirectionAction /// diff --git a/sdk/dotnet/Route53Resolver/Inputs/FirewallRuleGroupFirewallRuleArgs.cs b/sdk/dotnet/Route53Resolver/Inputs/FirewallRuleGroupFirewallRuleArgs.cs index a799ca1b6b..549d0c650a 100644 --- a/sdk/dotnet/Route53Resolver/Inputs/FirewallRuleGroupFirewallRuleArgs.cs +++ b/sdk/dotnet/Route53Resolver/Inputs/FirewallRuleGroupFirewallRuleArgs.cs @@ -45,11 +45,23 @@ public sealed class FirewallRuleGroupFirewallRuleArgs : global::Pulumi.ResourceA [Input("blockResponse")] public Input? BlockResponse { get; set; } + /// + /// FirewallDomainRedirectionAction + /// + [Input("confidenceThreshold")] + public Input? ConfidenceThreshold { get; set; } + + /// + /// FirewallDomainRedirectionAction + /// + [Input("dnsThreatProtection")] + public Input? DnsThreatProtection { get; set; } + /// /// ResourceId /// - [Input("firewallDomainListId", required: true)] - public Input FirewallDomainListId { get; set; } = null!; + [Input("firewallDomainListId")] + public Input? FirewallDomainListId { get; set; } /// /// FirewallDomainRedirectionAction @@ -57,6 +69,12 @@ public sealed class FirewallRuleGroupFirewallRuleArgs : global::Pulumi.ResourceA [Input("firewallDomainRedirectionAction")] public Input? FirewallDomainRedirectionAction { get; set; } + /// + /// ResourceId + /// + [Input("firewallThreatProtectionId")] + public Input? FirewallThreatProtectionId { get; set; } + /// /// Rule Priority /// diff --git a/sdk/dotnet/Route53Resolver/Outputs/FirewallRuleGroupFirewallRule.cs b/sdk/dotnet/Route53Resolver/Outputs/FirewallRuleGroupFirewallRule.cs index e6fe034f12..4366d3d875 100644 --- a/sdk/dotnet/Route53Resolver/Outputs/FirewallRuleGroupFirewallRule.cs +++ b/sdk/dotnet/Route53Resolver/Outputs/FirewallRuleGroupFirewallRule.cs @@ -37,14 +37,26 @@ public sealed class FirewallRuleGroupFirewallRule /// public readonly Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleBlockResponse? BlockResponse; /// + /// FirewallDomainRedirectionAction + /// + public readonly Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleConfidenceThreshold? ConfidenceThreshold; + /// + /// FirewallDomainRedirectionAction + /// + public readonly Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleDnsThreatProtection? DnsThreatProtection; + /// /// ResourceId /// - public readonly string FirewallDomainListId; + public readonly string? FirewallDomainListId; /// /// FirewallDomainRedirectionAction /// public readonly Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction? FirewallDomainRedirectionAction; /// + /// ResourceId + /// + public readonly string? FirewallThreatProtectionId; + /// /// Rule Priority /// public readonly int Priority; @@ -65,10 +77,16 @@ private FirewallRuleGroupFirewallRule( Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleBlockResponse? blockResponse, - string firewallDomainListId, + Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleConfidenceThreshold? confidenceThreshold, + + Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleDnsThreatProtection? dnsThreatProtection, + + string? firewallDomainListId, Pulumi.AwsNative.Route53Resolver.FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction? firewallDomainRedirectionAction, + string? firewallThreatProtectionId, + int priority, string? qtype) @@ -78,8 +96,11 @@ private FirewallRuleGroupFirewallRule( BlockOverrideDomain = blockOverrideDomain; BlockOverrideTtl = blockOverrideTtl; BlockResponse = blockResponse; + ConfidenceThreshold = confidenceThreshold; + DnsThreatProtection = dnsThreatProtection; FirewallDomainListId = firewallDomainListId; FirewallDomainRedirectionAction = firewallDomainRedirectionAction; + FirewallThreatProtectionId = firewallThreatProtectionId; Priority = priority; Qtype = qtype; } diff --git a/sdk/dotnet/S3Express/DirectoryBucket.cs b/sdk/dotnet/S3Express/DirectoryBucket.cs index d87fac81de..334afa7971 100644 --- a/sdk/dotnet/S3Express/DirectoryBucket.cs +++ b/sdk/dotnet/S3Express/DirectoryBucket.cs @@ -45,6 +45,12 @@ public partial class DirectoryBucket : global::Pulumi.CustomResource [Output("dataRedundancy")] public Output DataRedundancy { get; private set; } = null!; + /// + /// Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + /// + [Output("lifecycleConfiguration")] + public Output LifecycleConfiguration { get; private set; } = null!; + /// /// Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. /// @@ -120,6 +126,12 @@ public sealed class DirectoryBucketArgs : global::Pulumi.ResourceArgs [Input("dataRedundancy", required: true)] public Input DataRedundancy { get; set; } = null!; + /// + /// Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + /// + [Input("lifecycleConfiguration")] + public Input? LifecycleConfiguration { get; set; } + /// /// Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. /// diff --git a/sdk/dotnet/S3Express/Enums.cs b/sdk/dotnet/S3Express/Enums.cs index 42132f3b46..ac11416487 100644 --- a/sdk/dotnet/S3Express/Enums.cs +++ b/sdk/dotnet/S3Express/Enums.cs @@ -37,6 +37,34 @@ private DirectoryBucketDataRedundancy(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct DirectoryBucketRuleStatus : IEquatable + { + private readonly string _value; + + private DirectoryBucketRuleStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DirectoryBucketRuleStatus Enabled { get; } = new DirectoryBucketRuleStatus("Enabled"); + public static DirectoryBucketRuleStatus Disabled { get; } = new DirectoryBucketRuleStatus("Disabled"); + + public static bool operator ==(DirectoryBucketRuleStatus left, DirectoryBucketRuleStatus right) => left.Equals(right); + public static bool operator !=(DirectoryBucketRuleStatus left, DirectoryBucketRuleStatus right) => !left.Equals(right); + + public static explicit operator string(DirectoryBucketRuleStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DirectoryBucketRuleStatus other && Equals(other); + public bool Equals(DirectoryBucketRuleStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Server-side encryption algorithm to use for the default encryption. /// diff --git a/sdk/dotnet/S3Express/GetDirectoryBucket.cs b/sdk/dotnet/S3Express/GetDirectoryBucket.cs index fef29b7326..8b5e64ae6c 100644 --- a/sdk/dotnet/S3Express/GetDirectoryBucket.cs +++ b/sdk/dotnet/S3Express/GetDirectoryBucket.cs @@ -69,6 +69,10 @@ public sealed class GetDirectoryBucketResult /// Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* . /// public readonly Outputs.DirectoryBucketBucketEncryption? BucketEncryption; + /// + /// Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + /// + public readonly Outputs.DirectoryBucketLifecycleConfiguration? LifecycleConfiguration; [OutputConstructor] private GetDirectoryBucketResult( @@ -76,11 +80,14 @@ private GetDirectoryBucketResult( string? availabilityZoneName, - Outputs.DirectoryBucketBucketEncryption? bucketEncryption) + Outputs.DirectoryBucketBucketEncryption? bucketEncryption, + + Outputs.DirectoryBucketLifecycleConfiguration? lifecycleConfiguration) { Arn = arn; AvailabilityZoneName = availabilityZoneName; BucketEncryption = bucketEncryption; + LifecycleConfiguration = lifecycleConfiguration; } } } diff --git a/sdk/dotnet/S3Express/Inputs/DirectoryBucketAbortIncompleteMultipartUploadArgs.cs b/sdk/dotnet/S3Express/Inputs/DirectoryBucketAbortIncompleteMultipartUploadArgs.cs new file mode 100644 index 0000000000..976ccef7f7 --- /dev/null +++ b/sdk/dotnet/S3Express/Inputs/DirectoryBucketAbortIncompleteMultipartUploadArgs.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.S3Express.Inputs +{ + + /// + /// Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + /// + public sealed class DirectoryBucketAbortIncompleteMultipartUploadArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + /// + [Input("daysAfterInitiation", required: true)] + public Input DaysAfterInitiation { get; set; } = null!; + + public DirectoryBucketAbortIncompleteMultipartUploadArgs() + { + } + public static new DirectoryBucketAbortIncompleteMultipartUploadArgs Empty => new DirectoryBucketAbortIncompleteMultipartUploadArgs(); + } +} diff --git a/sdk/dotnet/S3Express/Inputs/DirectoryBucketLifecycleConfigurationArgs.cs b/sdk/dotnet/S3Express/Inputs/DirectoryBucketLifecycleConfigurationArgs.cs new file mode 100644 index 0000000000..e4cda86a57 --- /dev/null +++ b/sdk/dotnet/S3Express/Inputs/DirectoryBucketLifecycleConfigurationArgs.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.S3Express.Inputs +{ + + public sealed class DirectoryBucketLifecycleConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("rules", required: true)] + private InputList? _rules; + + /// + /// A lifecycle rule for individual objects in an Amazon S3 Express bucket. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public DirectoryBucketLifecycleConfigurationArgs() + { + } + public static new DirectoryBucketLifecycleConfigurationArgs Empty => new DirectoryBucketLifecycleConfigurationArgs(); + } +} diff --git a/sdk/dotnet/S3Express/Inputs/DirectoryBucketRuleArgs.cs b/sdk/dotnet/S3Express/Inputs/DirectoryBucketRuleArgs.cs new file mode 100644 index 0000000000..ca5868cbcb --- /dev/null +++ b/sdk/dotnet/S3Express/Inputs/DirectoryBucketRuleArgs.cs @@ -0,0 +1,44 @@ +// *** 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.S3Express.Inputs +{ + + /// + /// You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + /// + public sealed class DirectoryBucketRuleArgs : global::Pulumi.ResourceArgs + { + [Input("abortIncompleteMultipartUpload")] + public Input? AbortIncompleteMultipartUpload { get; set; } + + [Input("expirationInDays")] + public Input? ExpirationInDays { get; set; } + + [Input("id")] + public Input? Id { get; set; } + + [Input("objectSizeGreaterThan")] + public Input? ObjectSizeGreaterThan { get; set; } + + [Input("objectSizeLessThan")] + public Input? ObjectSizeLessThan { get; set; } + + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("status", required: true)] + public Input Status { get; set; } = null!; + + public DirectoryBucketRuleArgs() + { + } + public static new DirectoryBucketRuleArgs Empty => new DirectoryBucketRuleArgs(); + } +} diff --git a/sdk/dotnet/S3Express/Outputs/DirectoryBucketAbortIncompleteMultipartUpload.cs b/sdk/dotnet/S3Express/Outputs/DirectoryBucketAbortIncompleteMultipartUpload.cs new file mode 100644 index 0000000000..c95931c062 --- /dev/null +++ b/sdk/dotnet/S3Express/Outputs/DirectoryBucketAbortIncompleteMultipartUpload.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.S3Express.Outputs +{ + + /// + /// Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + /// + [OutputType] + public sealed class DirectoryBucketAbortIncompleteMultipartUpload + { + /// + /// Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + /// + public readonly int DaysAfterInitiation; + + [OutputConstructor] + private DirectoryBucketAbortIncompleteMultipartUpload(int daysAfterInitiation) + { + DaysAfterInitiation = daysAfterInitiation; + } + } +} diff --git a/sdk/dotnet/S3Express/Outputs/DirectoryBucketLifecycleConfiguration.cs b/sdk/dotnet/S3Express/Outputs/DirectoryBucketLifecycleConfiguration.cs new file mode 100644 index 0000000000..0d33d773f9 --- /dev/null +++ b/sdk/dotnet/S3Express/Outputs/DirectoryBucketLifecycleConfiguration.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.S3Express.Outputs +{ + + [OutputType] + public sealed class DirectoryBucketLifecycleConfiguration + { + /// + /// A lifecycle rule for individual objects in an Amazon S3 Express bucket. + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private DirectoryBucketLifecycleConfiguration(ImmutableArray rules) + { + Rules = rules; + } + } +} diff --git a/sdk/dotnet/S3Express/Outputs/DirectoryBucketRule.cs b/sdk/dotnet/S3Express/Outputs/DirectoryBucketRule.cs new file mode 100644 index 0000000000..a32eeb842a --- /dev/null +++ b/sdk/dotnet/S3Express/Outputs/DirectoryBucketRule.cs @@ -0,0 +1,52 @@ +// *** 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.S3Express.Outputs +{ + + /// + /// You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + /// + [OutputType] + public sealed class DirectoryBucketRule + { + public readonly Outputs.DirectoryBucketAbortIncompleteMultipartUpload? AbortIncompleteMultipartUpload; + public readonly int? ExpirationInDays; + public readonly string? Id; + public readonly string? ObjectSizeGreaterThan; + public readonly string? ObjectSizeLessThan; + public readonly string? Prefix; + public readonly Pulumi.AwsNative.S3Express.DirectoryBucketRuleStatus Status; + + [OutputConstructor] + private DirectoryBucketRule( + Outputs.DirectoryBucketAbortIncompleteMultipartUpload? abortIncompleteMultipartUpload, + + int? expirationInDays, + + string? id, + + string? objectSizeGreaterThan, + + string? objectSizeLessThan, + + string? prefix, + + Pulumi.AwsNative.S3Express.DirectoryBucketRuleStatus status) + { + AbortIncompleteMultipartUpload = abortIncompleteMultipartUpload; + ExpirationInDays = expirationInDays; + Id = id; + ObjectSizeGreaterThan = objectSizeGreaterThan; + ObjectSizeLessThan = objectSizeLessThan; + Prefix = prefix; + Status = status; + } + } +} diff --git a/sdk/dotnet/SageMaker/Enums.cs b/sdk/dotnet/SageMaker/Enums.cs index afb5924805..a6d5e3483c 100644 --- a/sdk/dotnet/SageMaker/Enums.cs +++ b/sdk/dotnet/SageMaker/Enums.cs @@ -598,6 +598,11 @@ private DomainMlTools(string value) 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 DomainMlTools HyperPodClusters { get; } = new DomainMlTools("HyperPodClusters"); + public static DomainMlTools Comet { get; } = new DomainMlTools("Comet"); + public static DomainMlTools DeepchecksLlmEvaluation { get; } = new DomainMlTools("DeepchecksLLMEvaluation"); + public static DomainMlTools Fiddler { get; } = new DomainMlTools("Fiddler"); + public static DomainMlTools LakeraGuard { get; } = new DomainMlTools("LakeraGuard"); public static bool operator ==(DomainMlTools left, DomainMlTools right) => left.Equals(right); public static bool operator !=(DomainMlTools left, DomainMlTools right) => !left.Equals(right); @@ -3164,6 +3169,11 @@ private UserProfileMlTools(string value) 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 UserProfileMlTools HyperPodClusters { get; } = new UserProfileMlTools("HyperPodClusters"); + public static UserProfileMlTools Comet { get; } = new UserProfileMlTools("Comet"); + public static UserProfileMlTools DeepchecksLlmEvaluation { get; } = new UserProfileMlTools("DeepchecksLLMEvaluation"); + public static UserProfileMlTools Fiddler { get; } = new UserProfileMlTools("Fiddler"); + public static UserProfileMlTools LakeraGuard { get; } = new UserProfileMlTools("LakeraGuard"); 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/Inputs/ClusterInstanceGroupArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs index c578ced779..52b471efcb 100644 --- a/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs @@ -21,6 +21,9 @@ public sealed class ClusterInstanceGroupArgs : global::Pulumi.ResourceArgs [Input("currentCount")] public Input? CurrentCount { get; set; } + [Input("customMetadata")] + public Input? CustomMetadata { get; set; } + [Input("executionRole", required: true)] public Input ExecutionRole { get; set; } = null!; diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs index fb1d651ec4..d1424be121 100644 --- a/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs +++ b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs @@ -20,6 +20,7 @@ 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 object? CustomMetadata; public readonly string ExecutionRole; /// /// The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. @@ -40,6 +41,8 @@ public sealed class ClusterInstanceGroup private ClusterInstanceGroup( int? currentCount, + object? customMetadata, + string executionRole, int instanceCount, @@ -59,6 +62,7 @@ private ClusterInstanceGroup( int? threadsPerCore) { CurrentCount = currentCount; + CustomMetadata = customMetadata; ExecutionRole = executionRole; InstanceCount = instanceCount; InstanceGroupName = instanceGroupName; diff --git a/sdk/dotnet/Synthetics/Canary.cs b/sdk/dotnet/Synthetics/Canary.cs index f6a7809138..32908c6c66 100644 --- a/sdk/dotnet/Synthetics/Canary.cs +++ b/sdk/dotnet/Synthetics/Canary.cs @@ -180,6 +180,12 @@ public partial class Canary : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + /// + [Output("provisionedResourceCleanup")] + public Output ProvisionedResourceCleanup { get; private set; } = null!; + /// /// List of resources which canary tags should be replicated to. /// @@ -331,6 +337,12 @@ public sealed class CanaryArgs : global::Pulumi.ResourceArgs [Input("name")] public Input? Name { get; set; } + /// + /// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + /// + [Input("provisionedResourceCleanup")] + public Input? ProvisionedResourceCleanup { get; set; } + [Input("resourcesToReplicateTags")] private InputList? _resourcesToReplicateTags; diff --git a/sdk/dotnet/Synthetics/Enums.cs b/sdk/dotnet/Synthetics/Enums.cs index 406ce13e7b..250beee389 100644 --- a/sdk/dotnet/Synthetics/Enums.cs +++ b/sdk/dotnet/Synthetics/Enums.cs @@ -7,6 +7,37 @@ namespace Pulumi.AwsNative.Synthetics { + /// + /// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + /// + [EnumType] + public readonly struct CanaryProvisionedResourceCleanup : IEquatable + { + private readonly string _value; + + private CanaryProvisionedResourceCleanup(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CanaryProvisionedResourceCleanup Automatic { get; } = new CanaryProvisionedResourceCleanup("AUTOMATIC"); + public static CanaryProvisionedResourceCleanup Off { get; } = new CanaryProvisionedResourceCleanup("OFF"); + + public static bool operator ==(CanaryProvisionedResourceCleanup left, CanaryProvisionedResourceCleanup right) => left.Equals(right); + public static bool operator !=(CanaryProvisionedResourceCleanup left, CanaryProvisionedResourceCleanup right) => !left.Equals(right); + + public static explicit operator string(CanaryProvisionedResourceCleanup value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CanaryProvisionedResourceCleanup other && Equals(other); + public bool Equals(CanaryProvisionedResourceCleanup other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Specifies which resources canary tags should be replicated to. /// diff --git a/sdk/dotnet/Synthetics/GetCanary.cs b/sdk/dotnet/Synthetics/GetCanary.cs index df75060409..a0641998e3 100644 --- a/sdk/dotnet/Synthetics/GetCanary.cs +++ b/sdk/dotnet/Synthetics/GetCanary.cs @@ -82,6 +82,10 @@ public sealed class GetCanaryResult /// public readonly string? Id; /// + /// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + /// + public readonly Pulumi.AwsNative.Synthetics.CanaryProvisionedResourceCleanup? ProvisionedResourceCleanup; + /// /// Provide canary run configuration /// public readonly Outputs.CanaryRunConfig? RunConfig; @@ -124,6 +128,8 @@ private GetCanaryResult( string? id, + Pulumi.AwsNative.Synthetics.CanaryProvisionedResourceCleanup? provisionedResourceCleanup, + Outputs.CanaryRunConfig? runConfig, string? runtimeVersion, @@ -144,6 +150,7 @@ private GetCanaryResult( ExecutionRoleArn = executionRoleArn; FailureRetentionPeriod = failureRetentionPeriod; Id = id; + ProvisionedResourceCleanup = provisionedResourceCleanup; RunConfig = runConfig; RuntimeVersion = runtimeVersion; Schedule = schedule; diff --git a/sdk/dotnet/WorkSpacesWeb/DataProtectionSettings.cs b/sdk/dotnet/WorkSpacesWeb/DataProtectionSettings.cs new file mode 100644 index 0000000000..9fbf3f3ad4 --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/DataProtectionSettings.cs @@ -0,0 +1,128 @@ +// *** 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.WorkSpacesWeb +{ + /// + /// Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + /// + [AwsNativeResourceType("aws-native:workspacesweb:DataProtectionSettings")] + public partial class DataProtectionSettings : global::Pulumi.CustomResource + { + [Output("additionalEncryptionContext")] + public Output?> AdditionalEncryptionContext { get; private set; } = null!; + + [Output("associatedPortalArns")] + public Output> AssociatedPortalArns { get; private set; } = null!; + + [Output("creationDate")] + public Output CreationDate { get; private set; } = null!; + + [Output("customerManagedKey")] + public Output CustomerManagedKey { get; private set; } = null!; + + [Output("dataProtectionSettingsArn")] + public Output DataProtectionSettingsArn { get; private set; } = null!; + + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + [Output("inlineRedactionConfiguration")] + public Output InlineRedactionConfiguration { get; private set; } = null!; + + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a DataProtectionSettings 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 DataProtectionSettings(string name, DataProtectionSettingsArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:workspacesweb:DataProtectionSettings", name, args ?? new DataProtectionSettingsArgs(), MakeResourceOptions(options, "")) + { + } + + private DataProtectionSettings(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:workspacesweb:DataProtectionSettings", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "additionalEncryptionContext.*", + "customerManagedKey", + }, + }; + 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 DataProtectionSettings 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 DataProtectionSettings Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DataProtectionSettings(name, id, options); + } + } + + public sealed class DataProtectionSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("additionalEncryptionContext")] + private InputMap? _additionalEncryptionContext; + public InputMap AdditionalEncryptionContext + { + get => _additionalEncryptionContext ?? (_additionalEncryptionContext = new InputMap()); + set => _additionalEncryptionContext = value; + } + + [Input("customerManagedKey")] + public Input? CustomerManagedKey { get; set; } + + [Input("description")] + public Input? Description { get; set; } + + [Input("displayName")] + public Input? DisplayName { get; set; } + + [Input("inlineRedactionConfiguration")] + public Input? InlineRedactionConfiguration { get; set; } + + [Input("tags")] + private InputList? _tags; + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public DataProtectionSettingsArgs() + { + } + public static new DataProtectionSettingsArgs Empty => new DataProtectionSettingsArgs(); + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Enums.cs b/sdk/dotnet/WorkSpacesWeb/Enums.cs index 8153cf1b91..cb9c42720a 100644 --- a/sdk/dotnet/WorkSpacesWeb/Enums.cs +++ b/sdk/dotnet/WorkSpacesWeb/Enums.cs @@ -7,6 +7,33 @@ namespace Pulumi.AwsNative.WorkSpacesWeb { + [EnumType] + public readonly struct DataProtectionSettingsRedactionPlaceHolderType : IEquatable + { + private readonly string _value; + + private DataProtectionSettingsRedactionPlaceHolderType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DataProtectionSettingsRedactionPlaceHolderType CustomText { get; } = new DataProtectionSettingsRedactionPlaceHolderType("CustomText"); + + public static bool operator ==(DataProtectionSettingsRedactionPlaceHolderType left, DataProtectionSettingsRedactionPlaceHolderType right) => left.Equals(right); + public static bool operator !=(DataProtectionSettingsRedactionPlaceHolderType left, DataProtectionSettingsRedactionPlaceHolderType right) => !left.Equals(right); + + public static explicit operator string(DataProtectionSettingsRedactionPlaceHolderType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataProtectionSettingsRedactionPlaceHolderType other && Equals(other); + public bool Equals(DataProtectionSettingsRedactionPlaceHolderType 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 IdentityProviderType : IEquatable { diff --git a/sdk/dotnet/WorkSpacesWeb/GetDataProtectionSettings.cs b/sdk/dotnet/WorkSpacesWeb/GetDataProtectionSettings.cs new file mode 100644 index 0000000000..2b6d30d121 --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/GetDataProtectionSettings.cs @@ -0,0 +1,87 @@ +// *** 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.WorkSpacesWeb +{ + public static class GetDataProtectionSettings + { + /// + /// Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + /// + public static Task InvokeAsync(GetDataProtectionSettingsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:workspacesweb:getDataProtectionSettings", args ?? new GetDataProtectionSettingsArgs(), options.WithDefaults()); + + /// + /// Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + /// + public static Output Invoke(GetDataProtectionSettingsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:workspacesweb:getDataProtectionSettings", args ?? new GetDataProtectionSettingsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDataProtectionSettingsArgs : global::Pulumi.InvokeArgs + { + [Input("dataProtectionSettingsArn", required: true)] + public string DataProtectionSettingsArn { get; set; } = null!; + + public GetDataProtectionSettingsArgs() + { + } + public static new GetDataProtectionSettingsArgs Empty => new GetDataProtectionSettingsArgs(); + } + + public sealed class GetDataProtectionSettingsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("dataProtectionSettingsArn", required: true)] + public Input DataProtectionSettingsArn { get; set; } = null!; + + public GetDataProtectionSettingsInvokeArgs() + { + } + public static new GetDataProtectionSettingsInvokeArgs Empty => new GetDataProtectionSettingsInvokeArgs(); + } + + + [OutputType] + public sealed class GetDataProtectionSettingsResult + { + public readonly ImmutableArray AssociatedPortalArns; + public readonly string? CreationDate; + public readonly string? DataProtectionSettingsArn; + public readonly string? Description; + public readonly string? DisplayName; + public readonly Outputs.DataProtectionSettingsInlineRedactionConfiguration? InlineRedactionConfiguration; + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetDataProtectionSettingsResult( + ImmutableArray associatedPortalArns, + + string? creationDate, + + string? dataProtectionSettingsArn, + + string? description, + + string? displayName, + + Outputs.DataProtectionSettingsInlineRedactionConfiguration? inlineRedactionConfiguration, + + ImmutableArray tags) + { + AssociatedPortalArns = associatedPortalArns; + CreationDate = creationDate; + DataProtectionSettingsArn = dataProtectionSettingsArn; + Description = description; + DisplayName = displayName; + InlineRedactionConfiguration = inlineRedactionConfiguration; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/GetPortal.cs b/sdk/dotnet/WorkSpacesWeb/GetPortal.cs index 54d58c8be5..5c4d52deb4 100644 --- a/sdk/dotnet/WorkSpacesWeb/GetPortal.cs +++ b/sdk/dotnet/WorkSpacesWeb/GetPortal.cs @@ -85,6 +85,7 @@ public sealed class GetPortalResult /// The creation date of the web portal. /// public readonly string? CreationDate; + public readonly string? DataProtectionSettingsArn; /// /// The name of the web portal. /// @@ -156,6 +157,8 @@ private GetPortalResult( string? creationDate, + string? dataProtectionSettingsArn, + string? displayName, Pulumi.AwsNative.WorkSpacesWeb.PortalInstanceType? instanceType, @@ -190,6 +193,7 @@ private GetPortalResult( BrowserSettingsArn = browserSettingsArn; BrowserType = browserType; CreationDate = creationDate; + DataProtectionSettingsArn = dataProtectionSettingsArn; DisplayName = displayName; InstanceType = instanceType; IpAccessSettingsArn = ipAccessSettingsArn; diff --git a/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsCustomPatternArgs.cs b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsCustomPatternArgs.cs new file mode 100644 index 0000000000..15c0fb336b --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsCustomPatternArgs.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.WorkSpacesWeb.Inputs +{ + + public sealed class DataProtectionSettingsCustomPatternArgs : global::Pulumi.ResourceArgs + { + [Input("keywordRegex")] + public Input? KeywordRegex { get; set; } + + [Input("patternDescription")] + public Input? PatternDescription { get; set; } + + [Input("patternName", required: true)] + public Input PatternName { get; set; } = null!; + + [Input("patternRegex", required: true)] + public Input PatternRegex { get; set; } = null!; + + public DataProtectionSettingsCustomPatternArgs() + { + } + public static new DataProtectionSettingsCustomPatternArgs Empty => new DataProtectionSettingsCustomPatternArgs(); + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionConfigurationArgs.cs b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionConfigurationArgs.cs new file mode 100644 index 0000000000..488a302f80 --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionConfigurationArgs.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.WorkSpacesWeb.Inputs +{ + + public sealed class DataProtectionSettingsInlineRedactionConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("globalConfidenceLevel")] + public Input? GlobalConfidenceLevel { get; set; } + + [Input("globalEnforcedUrls")] + private InputList? _globalEnforcedUrls; + public InputList GlobalEnforcedUrls + { + get => _globalEnforcedUrls ?? (_globalEnforcedUrls = new InputList()); + set => _globalEnforcedUrls = value; + } + + [Input("globalExemptUrls")] + private InputList? _globalExemptUrls; + public InputList GlobalExemptUrls + { + get => _globalExemptUrls ?? (_globalExemptUrls = new InputList()); + set => _globalExemptUrls = value; + } + + [Input("inlineRedactionPatterns", required: true)] + private InputList? _inlineRedactionPatterns; + public InputList InlineRedactionPatterns + { + get => _inlineRedactionPatterns ?? (_inlineRedactionPatterns = new InputList()); + set => _inlineRedactionPatterns = value; + } + + public DataProtectionSettingsInlineRedactionConfigurationArgs() + { + } + public static new DataProtectionSettingsInlineRedactionConfigurationArgs Empty => new DataProtectionSettingsInlineRedactionConfigurationArgs(); + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionPatternArgs.cs b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionPatternArgs.cs new file mode 100644 index 0000000000..694182845d --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsInlineRedactionPatternArgs.cs @@ -0,0 +1,48 @@ +// *** 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.WorkSpacesWeb.Inputs +{ + + public sealed class DataProtectionSettingsInlineRedactionPatternArgs : global::Pulumi.ResourceArgs + { + [Input("builtInPatternId")] + public Input? BuiltInPatternId { get; set; } + + [Input("confidenceLevel")] + public Input? ConfidenceLevel { get; set; } + + [Input("customPattern")] + public Input? CustomPattern { get; set; } + + [Input("enforcedUrls")] + private InputList? _enforcedUrls; + public InputList EnforcedUrls + { + get => _enforcedUrls ?? (_enforcedUrls = new InputList()); + set => _enforcedUrls = value; + } + + [Input("exemptUrls")] + private InputList? _exemptUrls; + public InputList ExemptUrls + { + get => _exemptUrls ?? (_exemptUrls = new InputList()); + set => _exemptUrls = value; + } + + [Input("redactionPlaceHolder", required: true)] + public Input RedactionPlaceHolder { get; set; } = null!; + + public DataProtectionSettingsInlineRedactionPatternArgs() + { + } + public static new DataProtectionSettingsInlineRedactionPatternArgs Empty => new DataProtectionSettingsInlineRedactionPatternArgs(); + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsRedactionPlaceHolderArgs.cs b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsRedactionPlaceHolderArgs.cs new file mode 100644 index 0000000000..6b7b365198 --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Inputs/DataProtectionSettingsRedactionPlaceHolderArgs.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.WorkSpacesWeb.Inputs +{ + + public sealed class DataProtectionSettingsRedactionPlaceHolderArgs : global::Pulumi.ResourceArgs + { + [Input("redactionPlaceHolderText")] + public Input? RedactionPlaceHolderText { get; set; } + + [Input("redactionPlaceHolderType", required: true)] + public Input RedactionPlaceHolderType { get; set; } = null!; + + public DataProtectionSettingsRedactionPlaceHolderArgs() + { + } + public static new DataProtectionSettingsRedactionPlaceHolderArgs Empty => new DataProtectionSettingsRedactionPlaceHolderArgs(); + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsCustomPattern.cs b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsCustomPattern.cs new file mode 100644 index 0000000000..95cc63958b --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsCustomPattern.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.WorkSpacesWeb.Outputs +{ + + [OutputType] + public sealed class DataProtectionSettingsCustomPattern + { + public readonly string? KeywordRegex; + public readonly string? PatternDescription; + public readonly string PatternName; + public readonly string PatternRegex; + + [OutputConstructor] + private DataProtectionSettingsCustomPattern( + string? keywordRegex, + + string? patternDescription, + + string patternName, + + string patternRegex) + { + KeywordRegex = keywordRegex; + PatternDescription = patternDescription; + PatternName = patternName; + PatternRegex = patternRegex; + } + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionConfiguration.cs b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionConfiguration.cs new file mode 100644 index 0000000000..8bbe582cce --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionConfiguration.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.WorkSpacesWeb.Outputs +{ + + [OutputType] + public sealed class DataProtectionSettingsInlineRedactionConfiguration + { + public readonly double? GlobalConfidenceLevel; + public readonly ImmutableArray GlobalEnforcedUrls; + public readonly ImmutableArray GlobalExemptUrls; + public readonly ImmutableArray InlineRedactionPatterns; + + [OutputConstructor] + private DataProtectionSettingsInlineRedactionConfiguration( + double? globalConfidenceLevel, + + ImmutableArray globalEnforcedUrls, + + ImmutableArray globalExemptUrls, + + ImmutableArray inlineRedactionPatterns) + { + GlobalConfidenceLevel = globalConfidenceLevel; + GlobalEnforcedUrls = globalEnforcedUrls; + GlobalExemptUrls = globalExemptUrls; + InlineRedactionPatterns = inlineRedactionPatterns; + } + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionPattern.cs b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionPattern.cs new file mode 100644 index 0000000000..c72547120d --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsInlineRedactionPattern.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.WorkSpacesWeb.Outputs +{ + + [OutputType] + public sealed class DataProtectionSettingsInlineRedactionPattern + { + public readonly string? BuiltInPatternId; + public readonly double? ConfidenceLevel; + public readonly Outputs.DataProtectionSettingsCustomPattern? CustomPattern; + public readonly ImmutableArray EnforcedUrls; + public readonly ImmutableArray ExemptUrls; + public readonly Outputs.DataProtectionSettingsRedactionPlaceHolder RedactionPlaceHolder; + + [OutputConstructor] + private DataProtectionSettingsInlineRedactionPattern( + string? builtInPatternId, + + double? confidenceLevel, + + Outputs.DataProtectionSettingsCustomPattern? customPattern, + + ImmutableArray enforcedUrls, + + ImmutableArray exemptUrls, + + Outputs.DataProtectionSettingsRedactionPlaceHolder redactionPlaceHolder) + { + BuiltInPatternId = builtInPatternId; + ConfidenceLevel = confidenceLevel; + CustomPattern = customPattern; + EnforcedUrls = enforcedUrls; + ExemptUrls = exemptUrls; + RedactionPlaceHolder = redactionPlaceHolder; + } + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsRedactionPlaceHolder.cs b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsRedactionPlaceHolder.cs new file mode 100644 index 0000000000..ecede273d8 --- /dev/null +++ b/sdk/dotnet/WorkSpacesWeb/Outputs/DataProtectionSettingsRedactionPlaceHolder.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.WorkSpacesWeb.Outputs +{ + + [OutputType] + public sealed class DataProtectionSettingsRedactionPlaceHolder + { + public readonly string? RedactionPlaceHolderText; + public readonly Pulumi.AwsNative.WorkSpacesWeb.DataProtectionSettingsRedactionPlaceHolderType RedactionPlaceHolderType; + + [OutputConstructor] + private DataProtectionSettingsRedactionPlaceHolder( + string? redactionPlaceHolderText, + + Pulumi.AwsNative.WorkSpacesWeb.DataProtectionSettingsRedactionPlaceHolderType redactionPlaceHolderType) + { + RedactionPlaceHolderText = redactionPlaceHolderText; + RedactionPlaceHolderType = redactionPlaceHolderType; + } + } +} diff --git a/sdk/dotnet/WorkSpacesWeb/Portal.cs b/sdk/dotnet/WorkSpacesWeb/Portal.cs index 7ff9c3d0db..0bed2d162a 100644 --- a/sdk/dotnet/WorkSpacesWeb/Portal.cs +++ b/sdk/dotnet/WorkSpacesWeb/Portal.cs @@ -65,6 +65,9 @@ public partial class Portal : global::Pulumi.CustomResource [Output("customerManagedKey")] public Output CustomerManagedKey { get; private set; } = null!; + [Output("dataProtectionSettingsArn")] + public Output DataProtectionSettingsArn { get; private set; } = null!; + /// /// The name of the web portal. /// @@ -249,6 +252,9 @@ public InputMap AdditionalEncryptionContext [Input("customerManagedKey")] public Input? CustomerManagedKey { get; set; } + [Input("dataProtectionSettingsArn")] + public Input? DataProtectionSettingsArn { get; set; } + /// /// The name of the web portal. /// diff --git a/sdk/go/aws/apigateway/basePathMappingV2.go b/sdk/go/aws/apigateway/basePathMappingV2.go new file mode 100644 index 0000000000..826f518643 --- /dev/null +++ b/sdk/go/aws/apigateway/basePathMappingV2.go @@ -0,0 +1,169 @@ +// 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 apigateway + +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::ApiGateway::BasePathMappingV2 +type BasePathMappingV2 struct { + pulumi.CustomResourceState + + // The base path name that callers of the API must provide in the URL after the domain name. + BasePath pulumi.StringPtrOutput `pulumi:"basePath"` + // Amazon Resource Name (ARN) of the resource. + BasePathMappingArn pulumi.StringOutput `pulumi:"basePathMappingArn"` + // The Arn of an AWS::ApiGateway::DomainNameV2 resource. + DomainNameArn pulumi.StringOutput `pulumi:"domainNameArn"` + // The ID of the API. + RestApiId pulumi.StringOutput `pulumi:"restApiId"` + // The name of the API's stage. + Stage pulumi.StringPtrOutput `pulumi:"stage"` +} + +// NewBasePathMappingV2 registers a new resource with the given unique name, arguments, and options. +func NewBasePathMappingV2(ctx *pulumi.Context, + name string, args *BasePathMappingV2Args, opts ...pulumi.ResourceOption) (*BasePathMappingV2, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DomainNameArn == nil { + return nil, errors.New("invalid value for required argument 'DomainNameArn'") + } + if args.RestApiId == nil { + return nil, errors.New("invalid value for required argument 'RestApiId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "basePath", + "domainNameArn", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource BasePathMappingV2 + err := ctx.RegisterResource("aws-native:apigateway:BasePathMappingV2", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetBasePathMappingV2 gets an existing BasePathMappingV2 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 GetBasePathMappingV2(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *BasePathMappingV2State, opts ...pulumi.ResourceOption) (*BasePathMappingV2, error) { + var resource BasePathMappingV2 + err := ctx.ReadResource("aws-native:apigateway:BasePathMappingV2", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering BasePathMappingV2 resources. +type basePathMappingV2State struct { +} + +type BasePathMappingV2State struct { +} + +func (BasePathMappingV2State) ElementType() reflect.Type { + return reflect.TypeOf((*basePathMappingV2State)(nil)).Elem() +} + +type basePathMappingV2Args struct { + // The base path name that callers of the API must provide in the URL after the domain name. + BasePath *string `pulumi:"basePath"` + // The Arn of an AWS::ApiGateway::DomainNameV2 resource. + DomainNameArn string `pulumi:"domainNameArn"` + // The ID of the API. + RestApiId string `pulumi:"restApiId"` + // The name of the API's stage. + Stage *string `pulumi:"stage"` +} + +// The set of arguments for constructing a BasePathMappingV2 resource. +type BasePathMappingV2Args struct { + // The base path name that callers of the API must provide in the URL after the domain name. + BasePath pulumi.StringPtrInput + // The Arn of an AWS::ApiGateway::DomainNameV2 resource. + DomainNameArn pulumi.StringInput + // The ID of the API. + RestApiId pulumi.StringInput + // The name of the API's stage. + Stage pulumi.StringPtrInput +} + +func (BasePathMappingV2Args) ElementType() reflect.Type { + return reflect.TypeOf((*basePathMappingV2Args)(nil)).Elem() +} + +type BasePathMappingV2Input interface { + pulumi.Input + + ToBasePathMappingV2Output() BasePathMappingV2Output + ToBasePathMappingV2OutputWithContext(ctx context.Context) BasePathMappingV2Output +} + +func (*BasePathMappingV2) ElementType() reflect.Type { + return reflect.TypeOf((**BasePathMappingV2)(nil)).Elem() +} + +func (i *BasePathMappingV2) ToBasePathMappingV2Output() BasePathMappingV2Output { + return i.ToBasePathMappingV2OutputWithContext(context.Background()) +} + +func (i *BasePathMappingV2) ToBasePathMappingV2OutputWithContext(ctx context.Context) BasePathMappingV2Output { + return pulumi.ToOutputWithContext(ctx, i).(BasePathMappingV2Output) +} + +type BasePathMappingV2Output struct{ *pulumi.OutputState } + +func (BasePathMappingV2Output) ElementType() reflect.Type { + return reflect.TypeOf((**BasePathMappingV2)(nil)).Elem() +} + +func (o BasePathMappingV2Output) ToBasePathMappingV2Output() BasePathMappingV2Output { + return o +} + +func (o BasePathMappingV2Output) ToBasePathMappingV2OutputWithContext(ctx context.Context) BasePathMappingV2Output { + return o +} + +// The base path name that callers of the API must provide in the URL after the domain name. +func (o BasePathMappingV2Output) BasePath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BasePathMappingV2) pulumi.StringPtrOutput { return v.BasePath }).(pulumi.StringPtrOutput) +} + +// Amazon Resource Name (ARN) of the resource. +func (o BasePathMappingV2Output) BasePathMappingArn() pulumi.StringOutput { + return o.ApplyT(func(v *BasePathMappingV2) pulumi.StringOutput { return v.BasePathMappingArn }).(pulumi.StringOutput) +} + +// The Arn of an AWS::ApiGateway::DomainNameV2 resource. +func (o BasePathMappingV2Output) DomainNameArn() pulumi.StringOutput { + return o.ApplyT(func(v *BasePathMappingV2) pulumi.StringOutput { return v.DomainNameArn }).(pulumi.StringOutput) +} + +// The ID of the API. +func (o BasePathMappingV2Output) RestApiId() pulumi.StringOutput { + return o.ApplyT(func(v *BasePathMappingV2) pulumi.StringOutput { return v.RestApiId }).(pulumi.StringOutput) +} + +// The name of the API's stage. +func (o BasePathMappingV2Output) Stage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BasePathMappingV2) pulumi.StringPtrOutput { return v.Stage }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*BasePathMappingV2Input)(nil)).Elem(), &BasePathMappingV2{}) + pulumi.RegisterOutputType(BasePathMappingV2Output{}) +} diff --git a/sdk/go/aws/apigateway/domainNameAccessAssociation.go b/sdk/go/aws/apigateway/domainNameAccessAssociation.go new file mode 100644 index 0000000000..2bcf4f8b75 --- /dev/null +++ b/sdk/go/aws/apigateway/domainNameAccessAssociation.go @@ -0,0 +1,177 @@ +// 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 apigateway + +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::ApiGateway::DomainNameAccessAssociation. +type DomainNameAccessAssociation struct { + pulumi.CustomResourceState + + // The source of the domain name access association resource. + AccessAssociationSource pulumi.StringOutput `pulumi:"accessAssociationSource"` + // The source type of the domain name access association resource. + AccessAssociationSourceType DomainNameAccessAssociationAccessAssociationSourceTypeOutput `pulumi:"accessAssociationSourceType"` + // The amazon resource name (ARN) of the domain name access association resource. + DomainNameAccessAssociationArn pulumi.StringOutput `pulumi:"domainNameAccessAssociationArn"` + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn pulumi.StringOutput `pulumi:"domainNameArn"` + // An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + Tags aws.CreateOnlyTagArrayOutput `pulumi:"tags"` +} + +// NewDomainNameAccessAssociation registers a new resource with the given unique name, arguments, and options. +func NewDomainNameAccessAssociation(ctx *pulumi.Context, + name string, args *DomainNameAccessAssociationArgs, opts ...pulumi.ResourceOption) (*DomainNameAccessAssociation, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccessAssociationSource == nil { + return nil, errors.New("invalid value for required argument 'AccessAssociationSource'") + } + if args.AccessAssociationSourceType == nil { + return nil, errors.New("invalid value for required argument 'AccessAssociationSourceType'") + } + if args.DomainNameArn == nil { + return nil, errors.New("invalid value for required argument 'DomainNameArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "accessAssociationSource", + "accessAssociationSourceType", + "domainNameArn", + "tags[*]", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DomainNameAccessAssociation + err := ctx.RegisterResource("aws-native:apigateway:DomainNameAccessAssociation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDomainNameAccessAssociation gets an existing DomainNameAccessAssociation 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 GetDomainNameAccessAssociation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DomainNameAccessAssociationState, opts ...pulumi.ResourceOption) (*DomainNameAccessAssociation, error) { + var resource DomainNameAccessAssociation + err := ctx.ReadResource("aws-native:apigateway:DomainNameAccessAssociation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DomainNameAccessAssociation resources. +type domainNameAccessAssociationState struct { +} + +type DomainNameAccessAssociationState struct { +} + +func (DomainNameAccessAssociationState) ElementType() reflect.Type { + return reflect.TypeOf((*domainNameAccessAssociationState)(nil)).Elem() +} + +type domainNameAccessAssociationArgs struct { + // The source of the domain name access association resource. + AccessAssociationSource string `pulumi:"accessAssociationSource"` + // The source type of the domain name access association resource. + AccessAssociationSourceType DomainNameAccessAssociationAccessAssociationSourceType `pulumi:"accessAssociationSourceType"` + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn string `pulumi:"domainNameArn"` + // An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + Tags []aws.CreateOnlyTag `pulumi:"tags"` +} + +// The set of arguments for constructing a DomainNameAccessAssociation resource. +type DomainNameAccessAssociationArgs struct { + // The source of the domain name access association resource. + AccessAssociationSource pulumi.StringInput + // The source type of the domain name access association resource. + AccessAssociationSourceType DomainNameAccessAssociationAccessAssociationSourceTypeInput + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn pulumi.StringInput + // An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + Tags aws.CreateOnlyTagArrayInput +} + +func (DomainNameAccessAssociationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*domainNameAccessAssociationArgs)(nil)).Elem() +} + +type DomainNameAccessAssociationInput interface { + pulumi.Input + + ToDomainNameAccessAssociationOutput() DomainNameAccessAssociationOutput + ToDomainNameAccessAssociationOutputWithContext(ctx context.Context) DomainNameAccessAssociationOutput +} + +func (*DomainNameAccessAssociation) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameAccessAssociation)(nil)).Elem() +} + +func (i *DomainNameAccessAssociation) ToDomainNameAccessAssociationOutput() DomainNameAccessAssociationOutput { + return i.ToDomainNameAccessAssociationOutputWithContext(context.Background()) +} + +func (i *DomainNameAccessAssociation) ToDomainNameAccessAssociationOutputWithContext(ctx context.Context) DomainNameAccessAssociationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainNameAccessAssociationOutput) +} + +type DomainNameAccessAssociationOutput struct{ *pulumi.OutputState } + +func (DomainNameAccessAssociationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameAccessAssociation)(nil)).Elem() +} + +func (o DomainNameAccessAssociationOutput) ToDomainNameAccessAssociationOutput() DomainNameAccessAssociationOutput { + return o +} + +func (o DomainNameAccessAssociationOutput) ToDomainNameAccessAssociationOutputWithContext(ctx context.Context) DomainNameAccessAssociationOutput { + return o +} + +// The source of the domain name access association resource. +func (o DomainNameAccessAssociationOutput) AccessAssociationSource() pulumi.StringOutput { + return o.ApplyT(func(v *DomainNameAccessAssociation) pulumi.StringOutput { return v.AccessAssociationSource }).(pulumi.StringOutput) +} + +// The source type of the domain name access association resource. +func (o DomainNameAccessAssociationOutput) AccessAssociationSourceType() DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return o.ApplyT(func(v *DomainNameAccessAssociation) DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return v.AccessAssociationSourceType + }).(DomainNameAccessAssociationAccessAssociationSourceTypeOutput) +} + +// The amazon resource name (ARN) of the domain name access association resource. +func (o DomainNameAccessAssociationOutput) DomainNameAccessAssociationArn() pulumi.StringOutput { + return o.ApplyT(func(v *DomainNameAccessAssociation) pulumi.StringOutput { return v.DomainNameAccessAssociationArn }).(pulumi.StringOutput) +} + +// The amazon resource name (ARN) of the domain name resource. +func (o DomainNameAccessAssociationOutput) DomainNameArn() pulumi.StringOutput { + return o.ApplyT(func(v *DomainNameAccessAssociation) pulumi.StringOutput { return v.DomainNameArn }).(pulumi.StringOutput) +} + +// An array of arbitrary tags (key-value pairs) to associate with the domainname access association. +func (o DomainNameAccessAssociationOutput) Tags() aws.CreateOnlyTagArrayOutput { + return o.ApplyT(func(v *DomainNameAccessAssociation) aws.CreateOnlyTagArrayOutput { return v.Tags }).(aws.CreateOnlyTagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DomainNameAccessAssociationInput)(nil)).Elem(), &DomainNameAccessAssociation{}) + pulumi.RegisterOutputType(DomainNameAccessAssociationOutput{}) +} diff --git a/sdk/go/aws/apigateway/domainNameV2.go b/sdk/go/aws/apigateway/domainNameV2.go new file mode 100644 index 0000000000..0291fbf991 --- /dev/null +++ b/sdk/go/aws/apigateway/domainNameV2.go @@ -0,0 +1,182 @@ +// 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 apigateway + +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::ApiGateway::DomainNameV2. +type DomainNameV2 struct { + pulumi.CustomResourceState + + CertificateArn pulumi.StringPtrOutput `pulumi:"certificateArn"` + DomainName pulumi.StringPtrOutput `pulumi:"domainName"` + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn pulumi.StringOutput `pulumi:"domainNameArn"` + DomainNameId pulumi.StringOutput `pulumi:"domainNameId"` + EndpointConfiguration DomainNameV2EndpointConfigurationPtrOutput `pulumi:"endpointConfiguration"` + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + ManagementPolicy pulumi.AnyOutput `pulumi:"managementPolicy"` + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + Policy pulumi.AnyOutput `pulumi:"policy"` + SecurityPolicy pulumi.StringPtrOutput `pulumi:"securityPolicy"` + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewDomainNameV2 registers a new resource with the given unique name, arguments, and options. +func NewDomainNameV2(ctx *pulumi.Context, + name string, args *DomainNameV2Args, opts ...pulumi.ResourceOption) (*DomainNameV2, error) { + if args == nil { + args = &DomainNameV2Args{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "domainName", + "endpointConfiguration", + "securityPolicy", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DomainNameV2 + err := ctx.RegisterResource("aws-native:apigateway:DomainNameV2", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDomainNameV2 gets an existing DomainNameV2 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 GetDomainNameV2(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DomainNameV2State, opts ...pulumi.ResourceOption) (*DomainNameV2, error) { + var resource DomainNameV2 + err := ctx.ReadResource("aws-native:apigateway:DomainNameV2", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DomainNameV2 resources. +type domainNameV2State struct { +} + +type DomainNameV2State struct { +} + +func (DomainNameV2State) ElementType() reflect.Type { + return reflect.TypeOf((*domainNameV2State)(nil)).Elem() +} + +type domainNameV2Args struct { + CertificateArn *string `pulumi:"certificateArn"` + DomainName *string `pulumi:"domainName"` + EndpointConfiguration *DomainNameV2EndpointConfiguration `pulumi:"endpointConfiguration"` + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + ManagementPolicy interface{} `pulumi:"managementPolicy"` + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + Policy interface{} `pulumi:"policy"` + SecurityPolicy *string `pulumi:"securityPolicy"` + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a DomainNameV2 resource. +type DomainNameV2Args struct { + CertificateArn pulumi.StringPtrInput + DomainName pulumi.StringPtrInput + EndpointConfiguration DomainNameV2EndpointConfigurationPtrInput + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + ManagementPolicy pulumi.Input + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + Policy pulumi.Input + SecurityPolicy pulumi.StringPtrInput + Tags aws.TagArrayInput +} + +func (DomainNameV2Args) ElementType() reflect.Type { + return reflect.TypeOf((*domainNameV2Args)(nil)).Elem() +} + +type DomainNameV2Input interface { + pulumi.Input + + ToDomainNameV2Output() DomainNameV2Output + ToDomainNameV2OutputWithContext(ctx context.Context) DomainNameV2Output +} + +func (*DomainNameV2) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameV2)(nil)).Elem() +} + +func (i *DomainNameV2) ToDomainNameV2Output() DomainNameV2Output { + return i.ToDomainNameV2OutputWithContext(context.Background()) +} + +func (i *DomainNameV2) ToDomainNameV2OutputWithContext(ctx context.Context) DomainNameV2Output { + return pulumi.ToOutputWithContext(ctx, i).(DomainNameV2Output) +} + +type DomainNameV2Output struct{ *pulumi.OutputState } + +func (DomainNameV2Output) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameV2)(nil)).Elem() +} + +func (o DomainNameV2Output) ToDomainNameV2Output() DomainNameV2Output { + return o +} + +func (o DomainNameV2Output) ToDomainNameV2OutputWithContext(ctx context.Context) DomainNameV2Output { + return o +} + +func (o DomainNameV2Output) CertificateArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.StringPtrOutput { return v.CertificateArn }).(pulumi.StringPtrOutput) +} + +func (o DomainNameV2Output) DomainName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.StringPtrOutput { return v.DomainName }).(pulumi.StringPtrOutput) +} + +// The amazon resource name (ARN) of the domain name resource. +func (o DomainNameV2Output) DomainNameArn() pulumi.StringOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.StringOutput { return v.DomainNameArn }).(pulumi.StringOutput) +} + +func (o DomainNameV2Output) DomainNameId() pulumi.StringOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.StringOutput { return v.DomainNameId }).(pulumi.StringOutput) +} + +func (o DomainNameV2Output) EndpointConfiguration() DomainNameV2EndpointConfigurationPtrOutput { + return o.ApplyT(func(v *DomainNameV2) DomainNameV2EndpointConfigurationPtrOutput { return v.EndpointConfiguration }).(DomainNameV2EndpointConfigurationPtrOutput) +} + +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. +func (o DomainNameV2Output) ManagementPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.AnyOutput { return v.ManagementPolicy }).(pulumi.AnyOutput) +} + +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. +func (o DomainNameV2Output) Policy() pulumi.AnyOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.AnyOutput { return v.Policy }).(pulumi.AnyOutput) +} + +func (o DomainNameV2Output) SecurityPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainNameV2) pulumi.StringPtrOutput { return v.SecurityPolicy }).(pulumi.StringPtrOutput) +} + +func (o DomainNameV2Output) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *DomainNameV2) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DomainNameV2Input)(nil)).Elem(), &DomainNameV2{}) + pulumi.RegisterOutputType(DomainNameV2Output{}) +} diff --git a/sdk/go/aws/apigateway/getBasePathMappingV2.go b/sdk/go/aws/apigateway/getBasePathMappingV2.go new file mode 100644 index 0000000000..2d206f5101 --- /dev/null +++ b/sdk/go/aws/apigateway/getBasePathMappingV2.go @@ -0,0 +1,98 @@ +// 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 apigateway + +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::ApiGateway::BasePathMappingV2 +func LookupBasePathMappingV2(ctx *pulumi.Context, args *LookupBasePathMappingV2Args, opts ...pulumi.InvokeOption) (*LookupBasePathMappingV2Result, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupBasePathMappingV2Result + err := ctx.Invoke("aws-native:apigateway:getBasePathMappingV2", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupBasePathMappingV2Args struct { + // Amazon Resource Name (ARN) of the resource. + BasePathMappingArn string `pulumi:"basePathMappingArn"` +} + +type LookupBasePathMappingV2Result struct { + // Amazon Resource Name (ARN) of the resource. + BasePathMappingArn *string `pulumi:"basePathMappingArn"` + // The ID of the API. + RestApiId *string `pulumi:"restApiId"` + // The name of the API's stage. + Stage *string `pulumi:"stage"` +} + +func LookupBasePathMappingV2Output(ctx *pulumi.Context, args LookupBasePathMappingV2OutputArgs, opts ...pulumi.InvokeOption) LookupBasePathMappingV2ResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupBasePathMappingV2ResultOutput, error) { + args := v.(LookupBasePathMappingV2Args) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupBasePathMappingV2Result + secret, err := ctx.InvokePackageRaw("aws-native:apigateway:getBasePathMappingV2", args, &rv, "", opts...) + if err != nil { + return LookupBasePathMappingV2ResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupBasePathMappingV2ResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupBasePathMappingV2ResultOutput), nil + } + return output, nil + }).(LookupBasePathMappingV2ResultOutput) +} + +type LookupBasePathMappingV2OutputArgs struct { + // Amazon Resource Name (ARN) of the resource. + BasePathMappingArn pulumi.StringInput `pulumi:"basePathMappingArn"` +} + +func (LookupBasePathMappingV2OutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupBasePathMappingV2Args)(nil)).Elem() +} + +type LookupBasePathMappingV2ResultOutput struct{ *pulumi.OutputState } + +func (LookupBasePathMappingV2ResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupBasePathMappingV2Result)(nil)).Elem() +} + +func (o LookupBasePathMappingV2ResultOutput) ToLookupBasePathMappingV2ResultOutput() LookupBasePathMappingV2ResultOutput { + return o +} + +func (o LookupBasePathMappingV2ResultOutput) ToLookupBasePathMappingV2ResultOutputWithContext(ctx context.Context) LookupBasePathMappingV2ResultOutput { + return o +} + +// Amazon Resource Name (ARN) of the resource. +func (o LookupBasePathMappingV2ResultOutput) BasePathMappingArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupBasePathMappingV2Result) *string { return v.BasePathMappingArn }).(pulumi.StringPtrOutput) +} + +// The ID of the API. +func (o LookupBasePathMappingV2ResultOutput) RestApiId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupBasePathMappingV2Result) *string { return v.RestApiId }).(pulumi.StringPtrOutput) +} + +// The name of the API's stage. +func (o LookupBasePathMappingV2ResultOutput) Stage() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupBasePathMappingV2Result) *string { return v.Stage }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupBasePathMappingV2ResultOutput{}) +} diff --git a/sdk/go/aws/apigateway/getDomainNameAccessAssociation.go b/sdk/go/aws/apigateway/getDomainNameAccessAssociation.go new file mode 100644 index 0000000000..ed90e2060c --- /dev/null +++ b/sdk/go/aws/apigateway/getDomainNameAccessAssociation.go @@ -0,0 +1,84 @@ +// 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 apigateway + +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::ApiGateway::DomainNameAccessAssociation. +func LookupDomainNameAccessAssociation(ctx *pulumi.Context, args *LookupDomainNameAccessAssociationArgs, opts ...pulumi.InvokeOption) (*LookupDomainNameAccessAssociationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDomainNameAccessAssociationResult + err := ctx.Invoke("aws-native:apigateway:getDomainNameAccessAssociation", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDomainNameAccessAssociationArgs struct { + // The amazon resource name (ARN) of the domain name access association resource. + DomainNameAccessAssociationArn string `pulumi:"domainNameAccessAssociationArn"` +} + +type LookupDomainNameAccessAssociationResult struct { + // The amazon resource name (ARN) of the domain name access association resource. + DomainNameAccessAssociationArn *string `pulumi:"domainNameAccessAssociationArn"` +} + +func LookupDomainNameAccessAssociationOutput(ctx *pulumi.Context, args LookupDomainNameAccessAssociationOutputArgs, opts ...pulumi.InvokeOption) LookupDomainNameAccessAssociationResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDomainNameAccessAssociationResultOutput, error) { + args := v.(LookupDomainNameAccessAssociationArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDomainNameAccessAssociationResult + secret, err := ctx.InvokePackageRaw("aws-native:apigateway:getDomainNameAccessAssociation", args, &rv, "", opts...) + if err != nil { + return LookupDomainNameAccessAssociationResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupDomainNameAccessAssociationResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupDomainNameAccessAssociationResultOutput), nil + } + return output, nil + }).(LookupDomainNameAccessAssociationResultOutput) +} + +type LookupDomainNameAccessAssociationOutputArgs struct { + // The amazon resource name (ARN) of the domain name access association resource. + DomainNameAccessAssociationArn pulumi.StringInput `pulumi:"domainNameAccessAssociationArn"` +} + +func (LookupDomainNameAccessAssociationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDomainNameAccessAssociationArgs)(nil)).Elem() +} + +type LookupDomainNameAccessAssociationResultOutput struct{ *pulumi.OutputState } + +func (LookupDomainNameAccessAssociationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDomainNameAccessAssociationResult)(nil)).Elem() +} + +func (o LookupDomainNameAccessAssociationResultOutput) ToLookupDomainNameAccessAssociationResultOutput() LookupDomainNameAccessAssociationResultOutput { + return o +} + +func (o LookupDomainNameAccessAssociationResultOutput) ToLookupDomainNameAccessAssociationResultOutputWithContext(ctx context.Context) LookupDomainNameAccessAssociationResultOutput { + return o +} + +// The amazon resource name (ARN) of the domain name access association resource. +func (o LookupDomainNameAccessAssociationResultOutput) DomainNameAccessAssociationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainNameAccessAssociationResult) *string { return v.DomainNameAccessAssociationArn }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDomainNameAccessAssociationResultOutput{}) +} diff --git a/sdk/go/aws/apigateway/getDomainNameV2.go b/sdk/go/aws/apigateway/getDomainNameV2.go new file mode 100644 index 0000000000..449c668d4f --- /dev/null +++ b/sdk/go/aws/apigateway/getDomainNameV2.go @@ -0,0 +1,114 @@ +// 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 apigateway + +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::ApiGateway::DomainNameV2. +func LookupDomainNameV2(ctx *pulumi.Context, args *LookupDomainNameV2Args, opts ...pulumi.InvokeOption) (*LookupDomainNameV2Result, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDomainNameV2Result + err := ctx.Invoke("aws-native:apigateway:getDomainNameV2", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDomainNameV2Args struct { + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn string `pulumi:"domainNameArn"` +} + +type LookupDomainNameV2Result struct { + CertificateArn *string `pulumi:"certificateArn"` + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn *string `pulumi:"domainNameArn"` + DomainNameId *string `pulumi:"domainNameId"` + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + ManagementPolicy interface{} `pulumi:"managementPolicy"` + // Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + Policy interface{} `pulumi:"policy"` + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupDomainNameV2Output(ctx *pulumi.Context, args LookupDomainNameV2OutputArgs, opts ...pulumi.InvokeOption) LookupDomainNameV2ResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDomainNameV2ResultOutput, error) { + args := v.(LookupDomainNameV2Args) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDomainNameV2Result + secret, err := ctx.InvokePackageRaw("aws-native:apigateway:getDomainNameV2", args, &rv, "", opts...) + if err != nil { + return LookupDomainNameV2ResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupDomainNameV2ResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupDomainNameV2ResultOutput), nil + } + return output, nil + }).(LookupDomainNameV2ResultOutput) +} + +type LookupDomainNameV2OutputArgs struct { + // The amazon resource name (ARN) of the domain name resource. + DomainNameArn pulumi.StringInput `pulumi:"domainNameArn"` +} + +func (LookupDomainNameV2OutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDomainNameV2Args)(nil)).Elem() +} + +type LookupDomainNameV2ResultOutput struct{ *pulumi.OutputState } + +func (LookupDomainNameV2ResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDomainNameV2Result)(nil)).Elem() +} + +func (o LookupDomainNameV2ResultOutput) ToLookupDomainNameV2ResultOutput() LookupDomainNameV2ResultOutput { + return o +} + +func (o LookupDomainNameV2ResultOutput) ToLookupDomainNameV2ResultOutputWithContext(ctx context.Context) LookupDomainNameV2ResultOutput { + return o +} + +func (o LookupDomainNameV2ResultOutput) CertificateArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainNameV2Result) *string { return v.CertificateArn }).(pulumi.StringPtrOutput) +} + +// The amazon resource name (ARN) of the domain name resource. +func (o LookupDomainNameV2ResultOutput) DomainNameArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainNameV2Result) *string { return v.DomainNameArn }).(pulumi.StringPtrOutput) +} + +func (o LookupDomainNameV2ResultOutput) DomainNameId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainNameV2Result) *string { return v.DomainNameId }).(pulumi.StringPtrOutput) +} + +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. +func (o LookupDomainNameV2ResultOutput) ManagementPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupDomainNameV2Result) interface{} { return v.ManagementPolicy }).(pulumi.AnyOutput) +} + +// Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. +func (o LookupDomainNameV2ResultOutput) Policy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupDomainNameV2Result) interface{} { return v.Policy }).(pulumi.AnyOutput) +} + +func (o LookupDomainNameV2ResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupDomainNameV2Result) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDomainNameV2ResultOutput{}) +} diff --git a/sdk/go/aws/apigateway/init.go b/sdk/go/aws/apigateway/init.go index 3b156f5791..7a34f4b9b4 100644 --- a/sdk/go/aws/apigateway/init.go +++ b/sdk/go/aws/apigateway/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Authorizer{} case "aws-native:apigateway:BasePathMapping": r = &BasePathMapping{} + case "aws-native:apigateway:BasePathMappingV2": + r = &BasePathMappingV2{} case "aws-native:apigateway:ClientCertificate": r = &ClientCertificate{} case "aws-native:apigateway:Deployment": @@ -39,6 +41,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DocumentationVersion{} case "aws-native:apigateway:DomainName": r = &DomainName{} + case "aws-native:apigateway:DomainNameAccessAssociation": + r = &DomainNameAccessAssociation{} + case "aws-native:apigateway:DomainNameV2": + r = &DomainNameV2{} case "aws-native:apigateway:GatewayResponse": r = &GatewayResponse{} case "aws-native:apigateway:Method": diff --git a/sdk/go/aws/apigateway/pulumiEnums.go b/sdk/go/aws/apigateway/pulumiEnums.go index 7d591d80ff..c5fe155d1f 100644 --- a/sdk/go/aws/apigateway/pulumiEnums.go +++ b/sdk/go/aws/apigateway/pulumiEnums.go @@ -196,6 +196,170 @@ func (in *documentationPartLocationTypePtr) ToDocumentationPartLocationTypePtrOu return pulumi.ToOutputWithContext(ctx, in).(DocumentationPartLocationTypePtrOutput) } +// The source type of the domain name access association resource. +type DomainNameAccessAssociationAccessAssociationSourceType string + +const ( + DomainNameAccessAssociationAccessAssociationSourceTypeVpce = DomainNameAccessAssociationAccessAssociationSourceType("VPCE") +) + +func (DomainNameAccessAssociationAccessAssociationSourceType) ElementType() reflect.Type { + return reflect.TypeOf((*DomainNameAccessAssociationAccessAssociationSourceType)(nil)).Elem() +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToDomainNameAccessAssociationAccessAssociationSourceTypeOutput() DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return pulumi.ToOutput(e).(DomainNameAccessAssociationAccessAssociationSourceTypeOutput) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToDomainNameAccessAssociationAccessAssociationSourceTypeOutputWithContext(ctx context.Context) DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(DomainNameAccessAssociationAccessAssociationSourceTypeOutput) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutput() DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return e.ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(context.Background()) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(ctx context.Context) DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return DomainNameAccessAssociationAccessAssociationSourceType(e).ToDomainNameAccessAssociationAccessAssociationSourceTypeOutputWithContext(ctx).ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(ctx) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DomainNameAccessAssociationAccessAssociationSourceType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DomainNameAccessAssociationAccessAssociationSourceTypeOutput struct{ *pulumi.OutputState } + +func (DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainNameAccessAssociationAccessAssociationSourceType)(nil)).Elem() +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToDomainNameAccessAssociationAccessAssociationSourceTypeOutput() DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return o +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToDomainNameAccessAssociationAccessAssociationSourceTypeOutputWithContext(ctx context.Context) DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return o +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutput() DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return o.ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(context.Background()) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(ctx context.Context) DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainNameAccessAssociationAccessAssociationSourceType) *DomainNameAccessAssociationAccessAssociationSourceType { + return &v + }).(DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DomainNameAccessAssociationAccessAssociationSourceType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DomainNameAccessAssociationAccessAssociationSourceType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput struct{ *pulumi.OutputState } + +func (DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameAccessAssociationAccessAssociationSourceType)(nil)).Elem() +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutput() DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return o +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(ctx context.Context) DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return o +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) Elem() DomainNameAccessAssociationAccessAssociationSourceTypeOutput { + return o.ApplyT(func(v *DomainNameAccessAssociationAccessAssociationSourceType) DomainNameAccessAssociationAccessAssociationSourceType { + if v != nil { + return *v + } + var ret DomainNameAccessAssociationAccessAssociationSourceType + return ret + }).(DomainNameAccessAssociationAccessAssociationSourceTypeOutput) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DomainNameAccessAssociationAccessAssociationSourceType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DomainNameAccessAssociationAccessAssociationSourceTypeInput is an input type that accepts values of the DomainNameAccessAssociationAccessAssociationSourceType enum +// A concrete instance of `DomainNameAccessAssociationAccessAssociationSourceTypeInput` can be one of the following: +// +// DomainNameAccessAssociationAccessAssociationSourceTypeVpce +type DomainNameAccessAssociationAccessAssociationSourceTypeInput interface { + pulumi.Input + + ToDomainNameAccessAssociationAccessAssociationSourceTypeOutput() DomainNameAccessAssociationAccessAssociationSourceTypeOutput + ToDomainNameAccessAssociationAccessAssociationSourceTypeOutputWithContext(context.Context) DomainNameAccessAssociationAccessAssociationSourceTypeOutput +} + +var domainNameAccessAssociationAccessAssociationSourceTypePtrType = reflect.TypeOf((**DomainNameAccessAssociationAccessAssociationSourceType)(nil)).Elem() + +type DomainNameAccessAssociationAccessAssociationSourceTypePtrInput interface { + pulumi.Input + + ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutput() DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput + ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(context.Context) DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput +} + +type domainNameAccessAssociationAccessAssociationSourceTypePtr string + +func DomainNameAccessAssociationAccessAssociationSourceTypePtr(v string) DomainNameAccessAssociationAccessAssociationSourceTypePtrInput { + return (*domainNameAccessAssociationAccessAssociationSourceTypePtr)(&v) +} + +func (*domainNameAccessAssociationAccessAssociationSourceTypePtr) ElementType() reflect.Type { + return domainNameAccessAssociationAccessAssociationSourceTypePtrType +} + +func (in *domainNameAccessAssociationAccessAssociationSourceTypePtr) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutput() DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return pulumi.ToOutput(in).(DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) +} + +func (in *domainNameAccessAssociationAccessAssociationSourceTypePtr) ToDomainNameAccessAssociationAccessAssociationSourceTypePtrOutputWithContext(ctx context.Context) DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput) +} + // The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` . type MethodIntegrationConnectionType string @@ -1207,6 +1371,8 @@ func (in *usagePlanKeyKeyTypePtr) ToUsagePlanKeyKeyTypePtrOutputWithContext(ctx func init() { pulumi.RegisterInputType(reflect.TypeOf((*DocumentationPartLocationTypeInput)(nil)).Elem(), DocumentationPartLocationType("API")) pulumi.RegisterInputType(reflect.TypeOf((*DocumentationPartLocationTypePtrInput)(nil)).Elem(), DocumentationPartLocationType("API")) + pulumi.RegisterInputType(reflect.TypeOf((*DomainNameAccessAssociationAccessAssociationSourceTypeInput)(nil)).Elem(), DomainNameAccessAssociationAccessAssociationSourceType("VPCE")) + pulumi.RegisterInputType(reflect.TypeOf((*DomainNameAccessAssociationAccessAssociationSourceTypePtrInput)(nil)).Elem(), DomainNameAccessAssociationAccessAssociationSourceType("VPCE")) pulumi.RegisterInputType(reflect.TypeOf((*MethodIntegrationConnectionTypeInput)(nil)).Elem(), MethodIntegrationConnectionType("INTERNET")) pulumi.RegisterInputType(reflect.TypeOf((*MethodIntegrationConnectionTypePtrInput)(nil)).Elem(), MethodIntegrationConnectionType("INTERNET")) pulumi.RegisterInputType(reflect.TypeOf((*MethodIntegrationContentHandlingInput)(nil)).Elem(), MethodIntegrationContentHandling("CONVERT_TO_BINARY")) @@ -1221,6 +1387,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*UsagePlanKeyKeyTypePtrInput)(nil)).Elem(), UsagePlanKeyKeyType("API_KEY")) pulumi.RegisterOutputType(DocumentationPartLocationTypeOutput{}) pulumi.RegisterOutputType(DocumentationPartLocationTypePtrOutput{}) + pulumi.RegisterOutputType(DomainNameAccessAssociationAccessAssociationSourceTypeOutput{}) + pulumi.RegisterOutputType(DomainNameAccessAssociationAccessAssociationSourceTypePtrOutput{}) pulumi.RegisterOutputType(MethodIntegrationConnectionTypeOutput{}) pulumi.RegisterOutputType(MethodIntegrationConnectionTypePtrOutput{}) pulumi.RegisterOutputType(MethodIntegrationContentHandlingOutput{}) diff --git a/sdk/go/aws/apigateway/pulumiTypes.go b/sdk/go/aws/apigateway/pulumiTypes.go index 5fbc5df5b0..adda4c7bf1 100644 --- a/sdk/go/aws/apigateway/pulumiTypes.go +++ b/sdk/go/aws/apigateway/pulumiTypes.go @@ -1541,6 +1541,11 @@ func (o DocumentationPartLocationOutput) Type() DocumentationPartLocationTypePtr return o.ApplyT(func(v DocumentationPartLocation) *DocumentationPartLocationType { return v.Type }).(DocumentationPartLocationTypePtrOutput) } +type DomainNameAccessAssociationTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + type DomainNameEndpointConfiguration struct { // A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is `"EDGE"` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . For a private API, the endpoint type is `PRIVATE` . Types []string `pulumi:"types"` @@ -1841,6 +1846,144 @@ type DomainNameTag struct { Value *string `pulumi:"value"` } +type DomainNameV2EndpointConfiguration struct { + Types []string `pulumi:"types"` +} + +// DomainNameV2EndpointConfigurationInput is an input type that accepts DomainNameV2EndpointConfigurationArgs and DomainNameV2EndpointConfigurationOutput values. +// You can construct a concrete instance of `DomainNameV2EndpointConfigurationInput` via: +// +// DomainNameV2EndpointConfigurationArgs{...} +type DomainNameV2EndpointConfigurationInput interface { + pulumi.Input + + ToDomainNameV2EndpointConfigurationOutput() DomainNameV2EndpointConfigurationOutput + ToDomainNameV2EndpointConfigurationOutputWithContext(context.Context) DomainNameV2EndpointConfigurationOutput +} + +type DomainNameV2EndpointConfigurationArgs struct { + Types pulumi.StringArrayInput `pulumi:"types"` +} + +func (DomainNameV2EndpointConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainNameV2EndpointConfiguration)(nil)).Elem() +} + +func (i DomainNameV2EndpointConfigurationArgs) ToDomainNameV2EndpointConfigurationOutput() DomainNameV2EndpointConfigurationOutput { + return i.ToDomainNameV2EndpointConfigurationOutputWithContext(context.Background()) +} + +func (i DomainNameV2EndpointConfigurationArgs) ToDomainNameV2EndpointConfigurationOutputWithContext(ctx context.Context) DomainNameV2EndpointConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainNameV2EndpointConfigurationOutput) +} + +func (i DomainNameV2EndpointConfigurationArgs) ToDomainNameV2EndpointConfigurationPtrOutput() DomainNameV2EndpointConfigurationPtrOutput { + return i.ToDomainNameV2EndpointConfigurationPtrOutputWithContext(context.Background()) +} + +func (i DomainNameV2EndpointConfigurationArgs) ToDomainNameV2EndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameV2EndpointConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainNameV2EndpointConfigurationOutput).ToDomainNameV2EndpointConfigurationPtrOutputWithContext(ctx) +} + +// DomainNameV2EndpointConfigurationPtrInput is an input type that accepts DomainNameV2EndpointConfigurationArgs, DomainNameV2EndpointConfigurationPtr and DomainNameV2EndpointConfigurationPtrOutput values. +// You can construct a concrete instance of `DomainNameV2EndpointConfigurationPtrInput` via: +// +// DomainNameV2EndpointConfigurationArgs{...} +// +// or: +// +// nil +type DomainNameV2EndpointConfigurationPtrInput interface { + pulumi.Input + + ToDomainNameV2EndpointConfigurationPtrOutput() DomainNameV2EndpointConfigurationPtrOutput + ToDomainNameV2EndpointConfigurationPtrOutputWithContext(context.Context) DomainNameV2EndpointConfigurationPtrOutput +} + +type domainNameV2EndpointConfigurationPtrType DomainNameV2EndpointConfigurationArgs + +func DomainNameV2EndpointConfigurationPtr(v *DomainNameV2EndpointConfigurationArgs) DomainNameV2EndpointConfigurationPtrInput { + return (*domainNameV2EndpointConfigurationPtrType)(v) +} + +func (*domainNameV2EndpointConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameV2EndpointConfiguration)(nil)).Elem() +} + +func (i *domainNameV2EndpointConfigurationPtrType) ToDomainNameV2EndpointConfigurationPtrOutput() DomainNameV2EndpointConfigurationPtrOutput { + return i.ToDomainNameV2EndpointConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *domainNameV2EndpointConfigurationPtrType) ToDomainNameV2EndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameV2EndpointConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainNameV2EndpointConfigurationPtrOutput) +} + +type DomainNameV2EndpointConfigurationOutput struct{ *pulumi.OutputState } + +func (DomainNameV2EndpointConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainNameV2EndpointConfiguration)(nil)).Elem() +} + +func (o DomainNameV2EndpointConfigurationOutput) ToDomainNameV2EndpointConfigurationOutput() DomainNameV2EndpointConfigurationOutput { + return o +} + +func (o DomainNameV2EndpointConfigurationOutput) ToDomainNameV2EndpointConfigurationOutputWithContext(ctx context.Context) DomainNameV2EndpointConfigurationOutput { + return o +} + +func (o DomainNameV2EndpointConfigurationOutput) ToDomainNameV2EndpointConfigurationPtrOutput() DomainNameV2EndpointConfigurationPtrOutput { + return o.ToDomainNameV2EndpointConfigurationPtrOutputWithContext(context.Background()) +} + +func (o DomainNameV2EndpointConfigurationOutput) ToDomainNameV2EndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameV2EndpointConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainNameV2EndpointConfiguration) *DomainNameV2EndpointConfiguration { + return &v + }).(DomainNameV2EndpointConfigurationPtrOutput) +} + +func (o DomainNameV2EndpointConfigurationOutput) Types() pulumi.StringArrayOutput { + return o.ApplyT(func(v DomainNameV2EndpointConfiguration) []string { return v.Types }).(pulumi.StringArrayOutput) +} + +type DomainNameV2EndpointConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (DomainNameV2EndpointConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainNameV2EndpointConfiguration)(nil)).Elem() +} + +func (o DomainNameV2EndpointConfigurationPtrOutput) ToDomainNameV2EndpointConfigurationPtrOutput() DomainNameV2EndpointConfigurationPtrOutput { + return o +} + +func (o DomainNameV2EndpointConfigurationPtrOutput) ToDomainNameV2EndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameV2EndpointConfigurationPtrOutput { + return o +} + +func (o DomainNameV2EndpointConfigurationPtrOutput) Elem() DomainNameV2EndpointConfigurationOutput { + return o.ApplyT(func(v *DomainNameV2EndpointConfiguration) DomainNameV2EndpointConfiguration { + if v != nil { + return *v + } + var ret DomainNameV2EndpointConfiguration + return ret + }).(DomainNameV2EndpointConfigurationOutput) +} + +func (o DomainNameV2EndpointConfigurationPtrOutput) Types() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DomainNameV2EndpointConfiguration) []string { + if v == nil { + return nil + } + return v.Types + }).(pulumi.StringArrayOutput) +} + +type DomainNameV2Tag struct { + Key *string `pulumi:"key"` + Value *string `pulumi:"value"` +} + // “Integration“ is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls. type MethodIntegration struct { // A list of request parameters whose values API Gateway caches. To be valid values for `cacheKeyParameters` , these parameters must also be specified for Method `requestParameters` . @@ -3966,6 +4109,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainNameEndpointConfigurationPtrInput)(nil)).Elem(), DomainNameEndpointConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainNameMutualTlsAuthenticationInput)(nil)).Elem(), DomainNameMutualTlsAuthenticationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainNameMutualTlsAuthenticationPtrInput)(nil)).Elem(), DomainNameMutualTlsAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainNameV2EndpointConfigurationInput)(nil)).Elem(), DomainNameV2EndpointConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainNameV2EndpointConfigurationPtrInput)(nil)).Elem(), DomainNameV2EndpointConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MethodIntegrationInput)(nil)).Elem(), MethodIntegrationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MethodIntegrationPtrInput)(nil)).Elem(), MethodIntegrationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MethodIntegrationResponseInput)(nil)).Elem(), MethodIntegrationResponseArgs{}) @@ -4008,6 +4153,8 @@ func init() { pulumi.RegisterOutputType(DomainNameEndpointConfigurationPtrOutput{}) pulumi.RegisterOutputType(DomainNameMutualTlsAuthenticationOutput{}) pulumi.RegisterOutputType(DomainNameMutualTlsAuthenticationPtrOutput{}) + pulumi.RegisterOutputType(DomainNameV2EndpointConfigurationOutput{}) + pulumi.RegisterOutputType(DomainNameV2EndpointConfigurationPtrOutput{}) pulumi.RegisterOutputType(MethodIntegrationOutput{}) pulumi.RegisterOutputType(MethodIntegrationPtrOutput{}) pulumi.RegisterOutputType(MethodIntegrationResponseOutput{}) diff --git a/sdk/go/aws/autoscaling/pulumiTypes.go b/sdk/go/aws/autoscaling/pulumiTypes.go index 9ba192c5de..87db17b6f7 100644 --- a/sdk/go/aws/autoscaling/pulumiTypes.go +++ b/sdk/go/aws/autoscaling/pulumiTypes.go @@ -6082,6 +6082,7 @@ type ScalingPolicyCustomizedMetricSpecification struct { Metrics []ScalingPolicyTargetTrackingMetricDataQuery `pulumi:"metrics"` // The namespace of the metric. Namespace *string `pulumi:"namespace"` + Period *int `pulumi:"period"` // The statistic of the metric. Statistic *string `pulumi:"statistic"` // The unit of the metric. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference* . @@ -6110,6 +6111,7 @@ type ScalingPolicyCustomizedMetricSpecificationArgs struct { Metrics ScalingPolicyTargetTrackingMetricDataQueryArrayInput `pulumi:"metrics"` // The namespace of the metric. Namespace pulumi.StringPtrInput `pulumi:"namespace"` + Period pulumi.IntPtrInput `pulumi:"period"` // The statistic of the metric. Statistic pulumi.StringPtrInput `pulumi:"statistic"` // The unit of the metric. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference* . @@ -6217,6 +6219,10 @@ func (o ScalingPolicyCustomizedMetricSpecificationOutput) Namespace() pulumi.Str return o.ApplyT(func(v ScalingPolicyCustomizedMetricSpecification) *string { return v.Namespace }).(pulumi.StringPtrOutput) } +func (o ScalingPolicyCustomizedMetricSpecificationOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScalingPolicyCustomizedMetricSpecification) *int { return v.Period }).(pulumi.IntPtrOutput) +} + // The statistic of the metric. func (o ScalingPolicyCustomizedMetricSpecificationOutput) Statistic() pulumi.StringPtrOutput { return o.ApplyT(func(v ScalingPolicyCustomizedMetricSpecification) *string { return v.Statistic }).(pulumi.StringPtrOutput) @@ -6293,6 +6299,15 @@ func (o ScalingPolicyCustomizedMetricSpecificationPtrOutput) Namespace() pulumi. }).(pulumi.StringPtrOutput) } +func (o ScalingPolicyCustomizedMetricSpecificationPtrOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScalingPolicyCustomizedMetricSpecification) *int { + if v == nil { + return nil + } + return v.Period + }).(pulumi.IntPtrOutput) +} + // The statistic of the metric. func (o ScalingPolicyCustomizedMetricSpecificationPtrOutput) Statistic() pulumi.StringPtrOutput { return o.ApplyT(func(v *ScalingPolicyCustomizedMetricSpecification) *string { @@ -8963,6 +8978,7 @@ type ScalingPolicyTargetTrackingMetricDataQuery struct { // // Conditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both. MetricStat *ScalingPolicyTargetTrackingMetricStat `pulumi:"metricStat"` + Period *int `pulumi:"period"` // Indicates whether to return the timestamps and raw data values of this metric. // // If you use any math expressions, specify `true` for this value for only the final math expression that the metric specification is based on. You must specify `false` for `ReturnData` for all the other metrics and expressions used in the metric specification. @@ -8995,6 +9011,7 @@ type ScalingPolicyTargetTrackingMetricDataQueryArgs struct { // // Conditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both. MetricStat ScalingPolicyTargetTrackingMetricStatPtrInput `pulumi:"metricStat"` + Period pulumi.IntPtrInput `pulumi:"period"` // Indicates whether to return the timestamps and raw data values of this metric. // // If you use any math expressions, specify `true` for this value for only the final math expression that the metric specification is based on. You must specify `false` for `ReturnData` for all the other metrics and expressions used in the metric specification. @@ -9080,6 +9097,10 @@ func (o ScalingPolicyTargetTrackingMetricDataQueryOutput) MetricStat() ScalingPo }).(ScalingPolicyTargetTrackingMetricStatPtrOutput) } +func (o ScalingPolicyTargetTrackingMetricDataQueryOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScalingPolicyTargetTrackingMetricDataQuery) *int { return v.Period }).(pulumi.IntPtrOutput) +} + // Indicates whether to return the timestamps and raw data values of this metric. // // If you use any math expressions, specify `true` for this value for only the final math expression that the metric specification is based on. You must specify `false` for `ReturnData` for all the other metrics and expressions used in the metric specification. @@ -9112,6 +9133,7 @@ func (o ScalingPolicyTargetTrackingMetricDataQueryArrayOutput) Index(i pulumi.In type ScalingPolicyTargetTrackingMetricStat struct { // The metric to use. Metric ScalingPolicyMetric `pulumi:"metric"` + Period *int `pulumi:"period"` // The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . // // The most commonly used metric for scaling is `Average` . @@ -9134,6 +9156,7 @@ type ScalingPolicyTargetTrackingMetricStatInput interface { type ScalingPolicyTargetTrackingMetricStatArgs struct { // The metric to use. Metric ScalingPolicyMetricInput `pulumi:"metric"` + Period pulumi.IntPtrInput `pulumi:"period"` // The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . // // The most commonly used metric for scaling is `Average` . @@ -9224,6 +9247,10 @@ func (o ScalingPolicyTargetTrackingMetricStatOutput) Metric() ScalingPolicyMetri return o.ApplyT(func(v ScalingPolicyTargetTrackingMetricStat) ScalingPolicyMetric { return v.Metric }).(ScalingPolicyMetricOutput) } +func (o ScalingPolicyTargetTrackingMetricStatOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v ScalingPolicyTargetTrackingMetricStat) *int { return v.Period }).(pulumi.IntPtrOutput) +} + // The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . // // The most commonly used metric for scaling is `Average` . @@ -9270,6 +9297,15 @@ func (o ScalingPolicyTargetTrackingMetricStatPtrOutput) Metric() ScalingPolicyMe }).(ScalingPolicyMetricPtrOutput) } +func (o ScalingPolicyTargetTrackingMetricStatPtrOutput) Period() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScalingPolicyTargetTrackingMetricStat) *int { + if v == nil { + return nil + } + return v.Period + }).(pulumi.IntPtrOutput) +} + // The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . // // The most commonly used metric for scaling is `Average` . diff --git a/sdk/go/aws/b2bi/pulumiEnums.go b/sdk/go/aws/b2bi/pulumiEnums.go index 10b226eaf4..6fe8692295 100644 --- a/sdk/go/aws/b2bi/pulumiEnums.go +++ b/sdk/go/aws/b2bi/pulumiEnums.go @@ -341,57 +341,324 @@ func (in *capabilityTypePtr) ToCapabilityTypePtrOutputWithContext(ctx context.Co type CapabilityX12TransactionSet string const ( + CapabilityX12TransactionSetX12100 = CapabilityX12TransactionSet("X12_100") + CapabilityX12TransactionSetX12101 = CapabilityX12TransactionSet("X12_101") + CapabilityX12TransactionSetX12102 = CapabilityX12TransactionSet("X12_102") + CapabilityX12TransactionSetX12103 = CapabilityX12TransactionSet("X12_103") + CapabilityX12TransactionSetX12104 = CapabilityX12TransactionSet("X12_104") + CapabilityX12TransactionSetX12105 = CapabilityX12TransactionSet("X12_105") + CapabilityX12TransactionSetX12106 = CapabilityX12TransactionSet("X12_106") + CapabilityX12TransactionSetX12107 = CapabilityX12TransactionSet("X12_107") + CapabilityX12TransactionSetX12108 = CapabilityX12TransactionSet("X12_108") + CapabilityX12TransactionSetX12109 = CapabilityX12TransactionSet("X12_109") CapabilityX12TransactionSetX12110 = CapabilityX12TransactionSet("X12_110") + CapabilityX12TransactionSetX12111 = CapabilityX12TransactionSet("X12_111") + CapabilityX12TransactionSetX12112 = CapabilityX12TransactionSet("X12_112") + CapabilityX12TransactionSetX12113 = CapabilityX12TransactionSet("X12_113") + CapabilityX12TransactionSetX12120 = CapabilityX12TransactionSet("X12_120") + CapabilityX12TransactionSetX12121 = CapabilityX12TransactionSet("X12_121") + CapabilityX12TransactionSetX12124 = CapabilityX12TransactionSet("X12_124") + CapabilityX12TransactionSetX12125 = CapabilityX12TransactionSet("X12_125") + CapabilityX12TransactionSetX12126 = CapabilityX12TransactionSet("X12_126") + CapabilityX12TransactionSetX12127 = CapabilityX12TransactionSet("X12_127") + CapabilityX12TransactionSetX12128 = CapabilityX12TransactionSet("X12_128") + CapabilityX12TransactionSetX12129 = CapabilityX12TransactionSet("X12_129") + CapabilityX12TransactionSetX12130 = CapabilityX12TransactionSet("X12_130") + CapabilityX12TransactionSetX12131 = CapabilityX12TransactionSet("X12_131") + CapabilityX12TransactionSetX12132 = CapabilityX12TransactionSet("X12_132") + CapabilityX12TransactionSetX12133 = CapabilityX12TransactionSet("X12_133") + CapabilityX12TransactionSetX12135 = CapabilityX12TransactionSet("X12_135") + CapabilityX12TransactionSetX12138 = CapabilityX12TransactionSet("X12_138") + CapabilityX12TransactionSetX12139 = CapabilityX12TransactionSet("X12_139") + CapabilityX12TransactionSetX12140 = CapabilityX12TransactionSet("X12_140") + CapabilityX12TransactionSetX12141 = CapabilityX12TransactionSet("X12_141") + CapabilityX12TransactionSetX12142 = CapabilityX12TransactionSet("X12_142") + CapabilityX12TransactionSetX12143 = CapabilityX12TransactionSet("X12_143") + CapabilityX12TransactionSetX12144 = CapabilityX12TransactionSet("X12_144") + CapabilityX12TransactionSetX12146 = CapabilityX12TransactionSet("X12_146") + CapabilityX12TransactionSetX12147 = CapabilityX12TransactionSet("X12_147") + CapabilityX12TransactionSetX12148 = CapabilityX12TransactionSet("X12_148") + CapabilityX12TransactionSetX12149 = CapabilityX12TransactionSet("X12_149") + CapabilityX12TransactionSetX12150 = CapabilityX12TransactionSet("X12_150") + CapabilityX12TransactionSetX12151 = CapabilityX12TransactionSet("X12_151") + CapabilityX12TransactionSetX12152 = CapabilityX12TransactionSet("X12_152") + CapabilityX12TransactionSetX12153 = CapabilityX12TransactionSet("X12_153") + CapabilityX12TransactionSetX12154 = CapabilityX12TransactionSet("X12_154") + CapabilityX12TransactionSetX12155 = CapabilityX12TransactionSet("X12_155") + CapabilityX12TransactionSetX12157 = CapabilityX12TransactionSet("X12_157") + CapabilityX12TransactionSetX12158 = CapabilityX12TransactionSet("X12_158") + CapabilityX12TransactionSetX12159 = CapabilityX12TransactionSet("X12_159") + CapabilityX12TransactionSetX12160 = CapabilityX12TransactionSet("X12_160") + CapabilityX12TransactionSetX12161 = CapabilityX12TransactionSet("X12_161") + CapabilityX12TransactionSetX12163 = CapabilityX12TransactionSet("X12_163") + CapabilityX12TransactionSetX12170 = CapabilityX12TransactionSet("X12_170") + CapabilityX12TransactionSetX12175 = CapabilityX12TransactionSet("X12_175") + CapabilityX12TransactionSetX12176 = CapabilityX12TransactionSet("X12_176") + CapabilityX12TransactionSetX12179 = CapabilityX12TransactionSet("X12_179") CapabilityX12TransactionSetX12180 = CapabilityX12TransactionSet("X12_180") + CapabilityX12TransactionSetX12185 = CapabilityX12TransactionSet("X12_185") + CapabilityX12TransactionSetX12186 = CapabilityX12TransactionSet("X12_186") + CapabilityX12TransactionSetX12187 = CapabilityX12TransactionSet("X12_187") + CapabilityX12TransactionSetX12188 = CapabilityX12TransactionSet("X12_188") + CapabilityX12TransactionSetX12189 = CapabilityX12TransactionSet("X12_189") + CapabilityX12TransactionSetX12190 = CapabilityX12TransactionSet("X12_190") + CapabilityX12TransactionSetX12191 = CapabilityX12TransactionSet("X12_191") + CapabilityX12TransactionSetX12194 = CapabilityX12TransactionSet("X12_194") + CapabilityX12TransactionSetX12195 = CapabilityX12TransactionSet("X12_195") + CapabilityX12TransactionSetX12196 = CapabilityX12TransactionSet("X12_196") + CapabilityX12TransactionSetX12197 = CapabilityX12TransactionSet("X12_197") + CapabilityX12TransactionSetX12198 = CapabilityX12TransactionSet("X12_198") + CapabilityX12TransactionSetX12199 = CapabilityX12TransactionSet("X12_199") + CapabilityX12TransactionSetX12200 = CapabilityX12TransactionSet("X12_200") + CapabilityX12TransactionSetX12201 = CapabilityX12TransactionSet("X12_201") + CapabilityX12TransactionSetX12202 = CapabilityX12TransactionSet("X12_202") + CapabilityX12TransactionSetX12203 = CapabilityX12TransactionSet("X12_203") CapabilityX12TransactionSetX12204 = CapabilityX12TransactionSet("X12_204") + CapabilityX12TransactionSetX12205 = CapabilityX12TransactionSet("X12_205") + CapabilityX12TransactionSetX12206 = CapabilityX12TransactionSet("X12_206") CapabilityX12TransactionSetX12210 = CapabilityX12TransactionSet("X12_210") CapabilityX12TransactionSetX12211 = CapabilityX12TransactionSet("X12_211") + CapabilityX12TransactionSetX12212 = CapabilityX12TransactionSet("X12_212") + CapabilityX12TransactionSetX12213 = CapabilityX12TransactionSet("X12_213") CapabilityX12TransactionSetX12214 = CapabilityX12TransactionSet("X12_214") CapabilityX12TransactionSetX12215 = CapabilityX12TransactionSet("X12_215") + CapabilityX12TransactionSetX12216 = CapabilityX12TransactionSet("X12_216") + CapabilityX12TransactionSetX12217 = CapabilityX12TransactionSet("X12_217") + CapabilityX12TransactionSetX12218 = CapabilityX12TransactionSet("X12_218") + CapabilityX12TransactionSetX12219 = CapabilityX12TransactionSet("X12_219") + CapabilityX12TransactionSetX12220 = CapabilityX12TransactionSet("X12_220") + CapabilityX12TransactionSetX12222 = CapabilityX12TransactionSet("X12_222") + CapabilityX12TransactionSetX12223 = CapabilityX12TransactionSet("X12_223") + CapabilityX12TransactionSetX12224 = CapabilityX12TransactionSet("X12_224") + CapabilityX12TransactionSetX12225 = CapabilityX12TransactionSet("X12_225") + CapabilityX12TransactionSetX12227 = CapabilityX12TransactionSet("X12_227") + CapabilityX12TransactionSetX12228 = CapabilityX12TransactionSet("X12_228") + CapabilityX12TransactionSetX12240 = CapabilityX12TransactionSet("X12_240") + CapabilityX12TransactionSetX12242 = CapabilityX12TransactionSet("X12_242") + CapabilityX12TransactionSetX12244 = CapabilityX12TransactionSet("X12_244") + CapabilityX12TransactionSetX12245 = CapabilityX12TransactionSet("X12_245") + CapabilityX12TransactionSetX12248 = CapabilityX12TransactionSet("X12_248") + CapabilityX12TransactionSetX12249 = CapabilityX12TransactionSet("X12_249") + CapabilityX12TransactionSetX12250 = CapabilityX12TransactionSet("X12_250") + CapabilityX12TransactionSetX12251 = CapabilityX12TransactionSet("X12_251") + CapabilityX12TransactionSetX12252 = CapabilityX12TransactionSet("X12_252") + CapabilityX12TransactionSetX12255 = CapabilityX12TransactionSet("X12_255") + CapabilityX12TransactionSetX12256 = CapabilityX12TransactionSet("X12_256") CapabilityX12TransactionSetX12259 = CapabilityX12TransactionSet("X12_259") CapabilityX12TransactionSetX12260 = CapabilityX12TransactionSet("X12_260") + CapabilityX12TransactionSetX12261 = CapabilityX12TransactionSet("X12_261") + CapabilityX12TransactionSetX12262 = CapabilityX12TransactionSet("X12_262") + CapabilityX12TransactionSetX12263 = CapabilityX12TransactionSet("X12_263") + CapabilityX12TransactionSetX12264 = CapabilityX12TransactionSet("X12_264") + CapabilityX12TransactionSetX12265 = CapabilityX12TransactionSet("X12_265") CapabilityX12TransactionSetX12266 = CapabilityX12TransactionSet("X12_266") + CapabilityX12TransactionSetX12267 = CapabilityX12TransactionSet("X12_267") + CapabilityX12TransactionSetX12268 = CapabilityX12TransactionSet("X12_268") CapabilityX12TransactionSetX12269 = CapabilityX12TransactionSet("X12_269") CapabilityX12TransactionSetX12270 = CapabilityX12TransactionSet("X12_270") CapabilityX12TransactionSetX12271 = CapabilityX12TransactionSet("X12_271") + CapabilityX12TransactionSetX12272 = CapabilityX12TransactionSet("X12_272") + CapabilityX12TransactionSetX12273 = CapabilityX12TransactionSet("X12_273") CapabilityX12TransactionSetX12274 = CapabilityX12TransactionSet("X12_274") CapabilityX12TransactionSetX12275 = CapabilityX12TransactionSet("X12_275") CapabilityX12TransactionSetX12276 = CapabilityX12TransactionSet("X12_276") CapabilityX12TransactionSetX12277 = CapabilityX12TransactionSet("X12_277") CapabilityX12TransactionSetX12278 = CapabilityX12TransactionSet("X12_278") + CapabilityX12TransactionSetX12280 = CapabilityX12TransactionSet("X12_280") + CapabilityX12TransactionSetX12283 = CapabilityX12TransactionSet("X12_283") + CapabilityX12TransactionSetX12284 = CapabilityX12TransactionSet("X12_284") + CapabilityX12TransactionSetX12285 = CapabilityX12TransactionSet("X12_285") + CapabilityX12TransactionSetX12286 = CapabilityX12TransactionSet("X12_286") + CapabilityX12TransactionSetX12288 = CapabilityX12TransactionSet("X12_288") + CapabilityX12TransactionSetX12290 = CapabilityX12TransactionSet("X12_290") + CapabilityX12TransactionSetX12300 = CapabilityX12TransactionSet("X12_300") + CapabilityX12TransactionSetX12301 = CapabilityX12TransactionSet("X12_301") + CapabilityX12TransactionSetX12303 = CapabilityX12TransactionSet("X12_303") + CapabilityX12TransactionSetX12304 = CapabilityX12TransactionSet("X12_304") + CapabilityX12TransactionSetX12309 = CapabilityX12TransactionSet("X12_309") CapabilityX12TransactionSetX12310 = CapabilityX12TransactionSet("X12_310") + CapabilityX12TransactionSetX12311 = CapabilityX12TransactionSet("X12_311") + CapabilityX12TransactionSetX12312 = CapabilityX12TransactionSet("X12_312") + CapabilityX12TransactionSetX12313 = CapabilityX12TransactionSet("X12_313") CapabilityX12TransactionSetX12315 = CapabilityX12TransactionSet("X12_315") + CapabilityX12TransactionSetX12317 = CapabilityX12TransactionSet("X12_317") + CapabilityX12TransactionSetX12319 = CapabilityX12TransactionSet("X12_319") CapabilityX12TransactionSetX12322 = CapabilityX12TransactionSet("X12_322") + CapabilityX12TransactionSetX12323 = CapabilityX12TransactionSet("X12_323") + CapabilityX12TransactionSetX12324 = CapabilityX12TransactionSet("X12_324") + CapabilityX12TransactionSetX12325 = CapabilityX12TransactionSet("X12_325") + CapabilityX12TransactionSetX12326 = CapabilityX12TransactionSet("X12_326") + CapabilityX12TransactionSetX12350 = CapabilityX12TransactionSet("X12_350") + CapabilityX12TransactionSetX12352 = CapabilityX12TransactionSet("X12_352") + CapabilityX12TransactionSetX12353 = CapabilityX12TransactionSet("X12_353") + CapabilityX12TransactionSetX12354 = CapabilityX12TransactionSet("X12_354") + CapabilityX12TransactionSetX12355 = CapabilityX12TransactionSet("X12_355") + CapabilityX12TransactionSetX12356 = CapabilityX12TransactionSet("X12_356") + CapabilityX12TransactionSetX12357 = CapabilityX12TransactionSet("X12_357") + CapabilityX12TransactionSetX12358 = CapabilityX12TransactionSet("X12_358") + CapabilityX12TransactionSetX12361 = CapabilityX12TransactionSet("X12_361") + CapabilityX12TransactionSetX12362 = CapabilityX12TransactionSet("X12_362") CapabilityX12TransactionSetX12404 = CapabilityX12TransactionSet("X12_404") CapabilityX12TransactionSetX12410 = CapabilityX12TransactionSet("X12_410") + CapabilityX12TransactionSetX12412 = CapabilityX12TransactionSet("X12_412") + CapabilityX12TransactionSetX12414 = CapabilityX12TransactionSet("X12_414") CapabilityX12TransactionSetX12417 = CapabilityX12TransactionSet("X12_417") + CapabilityX12TransactionSetX12418 = CapabilityX12TransactionSet("X12_418") + CapabilityX12TransactionSetX12419 = CapabilityX12TransactionSet("X12_419") + CapabilityX12TransactionSetX12420 = CapabilityX12TransactionSet("X12_420") CapabilityX12TransactionSetX12421 = CapabilityX12TransactionSet("X12_421") + CapabilityX12TransactionSetX12422 = CapabilityX12TransactionSet("X12_422") + CapabilityX12TransactionSetX12423 = CapabilityX12TransactionSet("X12_423") + CapabilityX12TransactionSetX12424 = CapabilityX12TransactionSet("X12_424") + CapabilityX12TransactionSetX12425 = CapabilityX12TransactionSet("X12_425") CapabilityX12TransactionSetX12426 = CapabilityX12TransactionSet("X12_426") + CapabilityX12TransactionSetX12429 = CapabilityX12TransactionSet("X12_429") + CapabilityX12TransactionSetX12431 = CapabilityX12TransactionSet("X12_431") + CapabilityX12TransactionSetX12432 = CapabilityX12TransactionSet("X12_432") + CapabilityX12TransactionSetX12433 = CapabilityX12TransactionSet("X12_433") + CapabilityX12TransactionSetX12434 = CapabilityX12TransactionSet("X12_434") + CapabilityX12TransactionSetX12435 = CapabilityX12TransactionSet("X12_435") + CapabilityX12TransactionSetX12436 = CapabilityX12TransactionSet("X12_436") + CapabilityX12TransactionSetX12437 = CapabilityX12TransactionSet("X12_437") + CapabilityX12TransactionSetX12440 = CapabilityX12TransactionSet("X12_440") + CapabilityX12TransactionSetX12451 = CapabilityX12TransactionSet("X12_451") + CapabilityX12TransactionSetX12452 = CapabilityX12TransactionSet("X12_452") + CapabilityX12TransactionSetX12453 = CapabilityX12TransactionSet("X12_453") + CapabilityX12TransactionSetX12455 = CapabilityX12TransactionSet("X12_455") + CapabilityX12TransactionSetX12456 = CapabilityX12TransactionSet("X12_456") + CapabilityX12TransactionSetX12460 = CapabilityX12TransactionSet("X12_460") + CapabilityX12TransactionSetX12463 = CapabilityX12TransactionSet("X12_463") + CapabilityX12TransactionSetX12466 = CapabilityX12TransactionSet("X12_466") + CapabilityX12TransactionSetX12468 = CapabilityX12TransactionSet("X12_468") + CapabilityX12TransactionSetX12470 = CapabilityX12TransactionSet("X12_470") + CapabilityX12TransactionSetX12475 = CapabilityX12TransactionSet("X12_475") + CapabilityX12TransactionSetX12485 = CapabilityX12TransactionSet("X12_485") + CapabilityX12TransactionSetX12486 = CapabilityX12TransactionSet("X12_486") + CapabilityX12TransactionSetX12490 = CapabilityX12TransactionSet("X12_490") + CapabilityX12TransactionSetX12492 = CapabilityX12TransactionSet("X12_492") + CapabilityX12TransactionSetX12494 = CapabilityX12TransactionSet("X12_494") + CapabilityX12TransactionSetX12500 = CapabilityX12TransactionSet("X12_500") + CapabilityX12TransactionSetX12501 = CapabilityX12TransactionSet("X12_501") + CapabilityX12TransactionSetX12503 = CapabilityX12TransactionSet("X12_503") + CapabilityX12TransactionSetX12504 = CapabilityX12TransactionSet("X12_504") + CapabilityX12TransactionSetX12511 = CapabilityX12TransactionSet("X12_511") + CapabilityX12TransactionSetX12517 = CapabilityX12TransactionSet("X12_517") + CapabilityX12TransactionSetX12521 = CapabilityX12TransactionSet("X12_521") + CapabilityX12TransactionSetX12527 = CapabilityX12TransactionSet("X12_527") + CapabilityX12TransactionSetX12536 = CapabilityX12TransactionSet("X12_536") + CapabilityX12TransactionSetX12540 = CapabilityX12TransactionSet("X12_540") + CapabilityX12TransactionSetX12561 = CapabilityX12TransactionSet("X12_561") + CapabilityX12TransactionSetX12567 = CapabilityX12TransactionSet("X12_567") + CapabilityX12TransactionSetX12568 = CapabilityX12TransactionSet("X12_568") + CapabilityX12TransactionSetX12601 = CapabilityX12TransactionSet("X12_601") + CapabilityX12TransactionSetX12602 = CapabilityX12TransactionSet("X12_602") + CapabilityX12TransactionSetX12620 = CapabilityX12TransactionSet("X12_620") + CapabilityX12TransactionSetX12625 = CapabilityX12TransactionSet("X12_625") + CapabilityX12TransactionSetX12650 = CapabilityX12TransactionSet("X12_650") + CapabilityX12TransactionSetX12715 = CapabilityX12TransactionSet("X12_715") + CapabilityX12TransactionSetX12753 = CapabilityX12TransactionSet("X12_753") + CapabilityX12TransactionSetX12754 = CapabilityX12TransactionSet("X12_754") + CapabilityX12TransactionSetX12805 = CapabilityX12TransactionSet("X12_805") + CapabilityX12TransactionSetX12806 = CapabilityX12TransactionSet("X12_806") CapabilityX12TransactionSetX12810 = CapabilityX12TransactionSet("X12_810") + CapabilityX12TransactionSetX12811 = CapabilityX12TransactionSet("X12_811") + CapabilityX12TransactionSetX12812 = CapabilityX12TransactionSet("X12_812") + CapabilityX12TransactionSetX12813 = CapabilityX12TransactionSet("X12_813") + CapabilityX12TransactionSetX12814 = CapabilityX12TransactionSet("X12_814") + CapabilityX12TransactionSetX12815 = CapabilityX12TransactionSet("X12_815") + CapabilityX12TransactionSetX12816 = CapabilityX12TransactionSet("X12_816") + CapabilityX12TransactionSetX12818 = CapabilityX12TransactionSet("X12_818") + CapabilityX12TransactionSetX12819 = CapabilityX12TransactionSet("X12_819") CapabilityX12TransactionSetX12820 = CapabilityX12TransactionSet("X12_820") + CapabilityX12TransactionSetX12821 = CapabilityX12TransactionSet("X12_821") + CapabilityX12TransactionSetX12822 = CapabilityX12TransactionSet("X12_822") + CapabilityX12TransactionSetX12823 = CapabilityX12TransactionSet("X12_823") CapabilityX12TransactionSetX12824 = CapabilityX12TransactionSet("X12_824") + CapabilityX12TransactionSetX12826 = CapabilityX12TransactionSet("X12_826") + CapabilityX12TransactionSetX12827 = CapabilityX12TransactionSet("X12_827") + CapabilityX12TransactionSetX12828 = CapabilityX12TransactionSet("X12_828") + CapabilityX12TransactionSetX12829 = CapabilityX12TransactionSet("X12_829") CapabilityX12TransactionSetX12830 = CapabilityX12TransactionSet("X12_830") + CapabilityX12TransactionSetX12831 = CapabilityX12TransactionSet("X12_831") CapabilityX12TransactionSetX12832 = CapabilityX12TransactionSet("X12_832") + CapabilityX12TransactionSetX12833 = CapabilityX12TransactionSet("X12_833") CapabilityX12TransactionSetX12834 = CapabilityX12TransactionSet("X12_834") CapabilityX12TransactionSetX12835 = CapabilityX12TransactionSet("X12_835") + CapabilityX12TransactionSetX12836 = CapabilityX12TransactionSet("X12_836") CapabilityX12TransactionSetX12837 = CapabilityX12TransactionSet("X12_837") + CapabilityX12TransactionSetX12838 = CapabilityX12TransactionSet("X12_838") + CapabilityX12TransactionSetX12839 = CapabilityX12TransactionSet("X12_839") + CapabilityX12TransactionSetX12840 = CapabilityX12TransactionSet("X12_840") + CapabilityX12TransactionSetX12841 = CapabilityX12TransactionSet("X12_841") + CapabilityX12TransactionSetX12842 = CapabilityX12TransactionSet("X12_842") + CapabilityX12TransactionSetX12843 = CapabilityX12TransactionSet("X12_843") CapabilityX12TransactionSetX12844 = CapabilityX12TransactionSet("X12_844") + CapabilityX12TransactionSetX12845 = CapabilityX12TransactionSet("X12_845") CapabilityX12TransactionSetX12846 = CapabilityX12TransactionSet("X12_846") + CapabilityX12TransactionSetX12847 = CapabilityX12TransactionSet("X12_847") + CapabilityX12TransactionSetX12848 = CapabilityX12TransactionSet("X12_848") CapabilityX12TransactionSetX12849 = CapabilityX12TransactionSet("X12_849") CapabilityX12TransactionSetX12850 = CapabilityX12TransactionSet("X12_850") + CapabilityX12TransactionSetX12851 = CapabilityX12TransactionSet("X12_851") CapabilityX12TransactionSetX12852 = CapabilityX12TransactionSet("X12_852") + CapabilityX12TransactionSetX12853 = CapabilityX12TransactionSet("X12_853") + CapabilityX12TransactionSetX12854 = CapabilityX12TransactionSet("X12_854") CapabilityX12TransactionSetX12855 = CapabilityX12TransactionSet("X12_855") CapabilityX12TransactionSetX12856 = CapabilityX12TransactionSet("X12_856") + CapabilityX12TransactionSetX12857 = CapabilityX12TransactionSet("X12_857") + CapabilityX12TransactionSetX12858 = CapabilityX12TransactionSet("X12_858") + CapabilityX12TransactionSetX12859 = CapabilityX12TransactionSet("X12_859") CapabilityX12TransactionSetX12860 = CapabilityX12TransactionSet("X12_860") CapabilityX12TransactionSetX12861 = CapabilityX12TransactionSet("X12_861") + CapabilityX12TransactionSetX12862 = CapabilityX12TransactionSet("X12_862") + CapabilityX12TransactionSetX12863 = CapabilityX12TransactionSet("X12_863") CapabilityX12TransactionSetX12864 = CapabilityX12TransactionSet("X12_864") CapabilityX12TransactionSetX12865 = CapabilityX12TransactionSet("X12_865") + CapabilityX12TransactionSetX12866 = CapabilityX12TransactionSet("X12_866") + CapabilityX12TransactionSetX12867 = CapabilityX12TransactionSet("X12_867") + CapabilityX12TransactionSetX12868 = CapabilityX12TransactionSet("X12_868") CapabilityX12TransactionSetX12869 = CapabilityX12TransactionSet("X12_869") CapabilityX12TransactionSetX12870 = CapabilityX12TransactionSet("X12_870") + CapabilityX12TransactionSetX12871 = CapabilityX12TransactionSet("X12_871") + CapabilityX12TransactionSetX12872 = CapabilityX12TransactionSet("X12_872") + CapabilityX12TransactionSetX12873 = CapabilityX12TransactionSet("X12_873") + CapabilityX12TransactionSetX12874 = CapabilityX12TransactionSet("X12_874") + CapabilityX12TransactionSetX12875 = CapabilityX12TransactionSet("X12_875") + CapabilityX12TransactionSetX12876 = CapabilityX12TransactionSet("X12_876") + CapabilityX12TransactionSetX12877 = CapabilityX12TransactionSet("X12_877") + CapabilityX12TransactionSetX12878 = CapabilityX12TransactionSet("X12_878") + CapabilityX12TransactionSetX12879 = CapabilityX12TransactionSet("X12_879") + CapabilityX12TransactionSetX12880 = CapabilityX12TransactionSet("X12_880") + CapabilityX12TransactionSetX12881 = CapabilityX12TransactionSet("X12_881") + CapabilityX12TransactionSetX12882 = CapabilityX12TransactionSet("X12_882") + CapabilityX12TransactionSetX12883 = CapabilityX12TransactionSet("X12_883") + CapabilityX12TransactionSetX12884 = CapabilityX12TransactionSet("X12_884") + CapabilityX12TransactionSetX12885 = CapabilityX12TransactionSet("X12_885") + CapabilityX12TransactionSetX12886 = CapabilityX12TransactionSet("X12_886") + CapabilityX12TransactionSetX12887 = CapabilityX12TransactionSet("X12_887") + CapabilityX12TransactionSetX12888 = CapabilityX12TransactionSet("X12_888") + CapabilityX12TransactionSetX12889 = CapabilityX12TransactionSet("X12_889") + CapabilityX12TransactionSetX12891 = CapabilityX12TransactionSet("X12_891") + CapabilityX12TransactionSetX12893 = CapabilityX12TransactionSet("X12_893") + CapabilityX12TransactionSetX12894 = CapabilityX12TransactionSet("X12_894") + CapabilityX12TransactionSetX12895 = CapabilityX12TransactionSet("X12_895") + CapabilityX12TransactionSetX12896 = CapabilityX12TransactionSet("X12_896") + CapabilityX12TransactionSetX12920 = CapabilityX12TransactionSet("X12_920") + CapabilityX12TransactionSetX12924 = CapabilityX12TransactionSet("X12_924") + CapabilityX12TransactionSetX12925 = CapabilityX12TransactionSet("X12_925") + CapabilityX12TransactionSetX12926 = CapabilityX12TransactionSet("X12_926") + CapabilityX12TransactionSetX12928 = CapabilityX12TransactionSet("X12_928") CapabilityX12TransactionSetX12940 = CapabilityX12TransactionSet("X12_940") + CapabilityX12TransactionSetX12943 = CapabilityX12TransactionSet("X12_943") + CapabilityX12TransactionSetX12944 = CapabilityX12TransactionSet("X12_944") CapabilityX12TransactionSetX12945 = CapabilityX12TransactionSet("X12_945") + CapabilityX12TransactionSetX12947 = CapabilityX12TransactionSet("X12_947") + CapabilityX12TransactionSetX12980 = CapabilityX12TransactionSet("X12_980") CapabilityX12TransactionSetX12990 = CapabilityX12TransactionSet("X12_990") + CapabilityX12TransactionSetX12993 = CapabilityX12TransactionSet("X12_993") + CapabilityX12TransactionSetX12996 = CapabilityX12TransactionSet("X12_996") CapabilityX12TransactionSetX12997 = CapabilityX12TransactionSet("X12_997") + CapabilityX12TransactionSetX12998 = CapabilityX12TransactionSet("X12_998") CapabilityX12TransactionSetX12999 = CapabilityX12TransactionSet("X12_999") CapabilityX12TransactionSetX12270x279 = CapabilityX12TransactionSet("X12_270_X279") CapabilityX12TransactionSetX12271x279 = CapabilityX12TransactionSet("X12_271_X279") @@ -540,57 +807,324 @@ func (o CapabilityX12TransactionSetPtrOutput) ToStringPtrOutputWithContext(ctx c // CapabilityX12TransactionSetInput is an input type that accepts values of the CapabilityX12TransactionSet enum // A concrete instance of `CapabilityX12TransactionSetInput` can be one of the following: // +// CapabilityX12TransactionSetX12100 +// CapabilityX12TransactionSetX12101 +// CapabilityX12TransactionSetX12102 +// CapabilityX12TransactionSetX12103 +// CapabilityX12TransactionSetX12104 +// CapabilityX12TransactionSetX12105 +// CapabilityX12TransactionSetX12106 +// CapabilityX12TransactionSetX12107 +// CapabilityX12TransactionSetX12108 +// CapabilityX12TransactionSetX12109 // CapabilityX12TransactionSetX12110 +// CapabilityX12TransactionSetX12111 +// CapabilityX12TransactionSetX12112 +// CapabilityX12TransactionSetX12113 +// CapabilityX12TransactionSetX12120 +// CapabilityX12TransactionSetX12121 +// CapabilityX12TransactionSetX12124 +// CapabilityX12TransactionSetX12125 +// CapabilityX12TransactionSetX12126 +// CapabilityX12TransactionSetX12127 +// CapabilityX12TransactionSetX12128 +// CapabilityX12TransactionSetX12129 +// CapabilityX12TransactionSetX12130 +// CapabilityX12TransactionSetX12131 +// CapabilityX12TransactionSetX12132 +// CapabilityX12TransactionSetX12133 +// CapabilityX12TransactionSetX12135 +// CapabilityX12TransactionSetX12138 +// CapabilityX12TransactionSetX12139 +// CapabilityX12TransactionSetX12140 +// CapabilityX12TransactionSetX12141 +// CapabilityX12TransactionSetX12142 +// CapabilityX12TransactionSetX12143 +// CapabilityX12TransactionSetX12144 +// CapabilityX12TransactionSetX12146 +// CapabilityX12TransactionSetX12147 +// CapabilityX12TransactionSetX12148 +// CapabilityX12TransactionSetX12149 +// CapabilityX12TransactionSetX12150 +// CapabilityX12TransactionSetX12151 +// CapabilityX12TransactionSetX12152 +// CapabilityX12TransactionSetX12153 +// CapabilityX12TransactionSetX12154 +// CapabilityX12TransactionSetX12155 +// CapabilityX12TransactionSetX12157 +// CapabilityX12TransactionSetX12158 +// CapabilityX12TransactionSetX12159 +// CapabilityX12TransactionSetX12160 +// CapabilityX12TransactionSetX12161 +// CapabilityX12TransactionSetX12163 +// CapabilityX12TransactionSetX12170 +// CapabilityX12TransactionSetX12175 +// CapabilityX12TransactionSetX12176 +// CapabilityX12TransactionSetX12179 // CapabilityX12TransactionSetX12180 +// CapabilityX12TransactionSetX12185 +// CapabilityX12TransactionSetX12186 +// CapabilityX12TransactionSetX12187 +// CapabilityX12TransactionSetX12188 +// CapabilityX12TransactionSetX12189 +// CapabilityX12TransactionSetX12190 +// CapabilityX12TransactionSetX12191 +// CapabilityX12TransactionSetX12194 +// CapabilityX12TransactionSetX12195 +// CapabilityX12TransactionSetX12196 +// CapabilityX12TransactionSetX12197 +// CapabilityX12TransactionSetX12198 +// CapabilityX12TransactionSetX12199 +// CapabilityX12TransactionSetX12200 +// CapabilityX12TransactionSetX12201 +// CapabilityX12TransactionSetX12202 +// CapabilityX12TransactionSetX12203 // CapabilityX12TransactionSetX12204 +// CapabilityX12TransactionSetX12205 +// CapabilityX12TransactionSetX12206 // CapabilityX12TransactionSetX12210 // CapabilityX12TransactionSetX12211 +// CapabilityX12TransactionSetX12212 +// CapabilityX12TransactionSetX12213 // CapabilityX12TransactionSetX12214 // CapabilityX12TransactionSetX12215 +// CapabilityX12TransactionSetX12216 +// CapabilityX12TransactionSetX12217 +// CapabilityX12TransactionSetX12218 +// CapabilityX12TransactionSetX12219 +// CapabilityX12TransactionSetX12220 +// CapabilityX12TransactionSetX12222 +// CapabilityX12TransactionSetX12223 +// CapabilityX12TransactionSetX12224 +// CapabilityX12TransactionSetX12225 +// CapabilityX12TransactionSetX12227 +// CapabilityX12TransactionSetX12228 +// CapabilityX12TransactionSetX12240 +// CapabilityX12TransactionSetX12242 +// CapabilityX12TransactionSetX12244 +// CapabilityX12TransactionSetX12245 +// CapabilityX12TransactionSetX12248 +// CapabilityX12TransactionSetX12249 +// CapabilityX12TransactionSetX12250 +// CapabilityX12TransactionSetX12251 +// CapabilityX12TransactionSetX12252 +// CapabilityX12TransactionSetX12255 +// CapabilityX12TransactionSetX12256 // CapabilityX12TransactionSetX12259 // CapabilityX12TransactionSetX12260 +// CapabilityX12TransactionSetX12261 +// CapabilityX12TransactionSetX12262 +// CapabilityX12TransactionSetX12263 +// CapabilityX12TransactionSetX12264 +// CapabilityX12TransactionSetX12265 // CapabilityX12TransactionSetX12266 +// CapabilityX12TransactionSetX12267 +// CapabilityX12TransactionSetX12268 // CapabilityX12TransactionSetX12269 // CapabilityX12TransactionSetX12270 // CapabilityX12TransactionSetX12271 +// CapabilityX12TransactionSetX12272 +// CapabilityX12TransactionSetX12273 // CapabilityX12TransactionSetX12274 // CapabilityX12TransactionSetX12275 // CapabilityX12TransactionSetX12276 // CapabilityX12TransactionSetX12277 // CapabilityX12TransactionSetX12278 +// CapabilityX12TransactionSetX12280 +// CapabilityX12TransactionSetX12283 +// CapabilityX12TransactionSetX12284 +// CapabilityX12TransactionSetX12285 +// CapabilityX12TransactionSetX12286 +// CapabilityX12TransactionSetX12288 +// CapabilityX12TransactionSetX12290 +// CapabilityX12TransactionSetX12300 +// CapabilityX12TransactionSetX12301 +// CapabilityX12TransactionSetX12303 +// CapabilityX12TransactionSetX12304 +// CapabilityX12TransactionSetX12309 // CapabilityX12TransactionSetX12310 +// CapabilityX12TransactionSetX12311 +// CapabilityX12TransactionSetX12312 +// CapabilityX12TransactionSetX12313 // CapabilityX12TransactionSetX12315 +// CapabilityX12TransactionSetX12317 +// CapabilityX12TransactionSetX12319 // CapabilityX12TransactionSetX12322 +// CapabilityX12TransactionSetX12323 +// CapabilityX12TransactionSetX12324 +// CapabilityX12TransactionSetX12325 +// CapabilityX12TransactionSetX12326 +// CapabilityX12TransactionSetX12350 +// CapabilityX12TransactionSetX12352 +// CapabilityX12TransactionSetX12353 +// CapabilityX12TransactionSetX12354 +// CapabilityX12TransactionSetX12355 +// CapabilityX12TransactionSetX12356 +// CapabilityX12TransactionSetX12357 +// CapabilityX12TransactionSetX12358 +// CapabilityX12TransactionSetX12361 +// CapabilityX12TransactionSetX12362 // CapabilityX12TransactionSetX12404 // CapabilityX12TransactionSetX12410 +// CapabilityX12TransactionSetX12412 +// CapabilityX12TransactionSetX12414 // CapabilityX12TransactionSetX12417 +// CapabilityX12TransactionSetX12418 +// CapabilityX12TransactionSetX12419 +// CapabilityX12TransactionSetX12420 // CapabilityX12TransactionSetX12421 +// CapabilityX12TransactionSetX12422 +// CapabilityX12TransactionSetX12423 +// CapabilityX12TransactionSetX12424 +// CapabilityX12TransactionSetX12425 // CapabilityX12TransactionSetX12426 +// CapabilityX12TransactionSetX12429 +// CapabilityX12TransactionSetX12431 +// CapabilityX12TransactionSetX12432 +// CapabilityX12TransactionSetX12433 +// CapabilityX12TransactionSetX12434 +// CapabilityX12TransactionSetX12435 +// CapabilityX12TransactionSetX12436 +// CapabilityX12TransactionSetX12437 +// CapabilityX12TransactionSetX12440 +// CapabilityX12TransactionSetX12451 +// CapabilityX12TransactionSetX12452 +// CapabilityX12TransactionSetX12453 +// CapabilityX12TransactionSetX12455 +// CapabilityX12TransactionSetX12456 +// CapabilityX12TransactionSetX12460 +// CapabilityX12TransactionSetX12463 +// CapabilityX12TransactionSetX12466 +// CapabilityX12TransactionSetX12468 +// CapabilityX12TransactionSetX12470 +// CapabilityX12TransactionSetX12475 +// CapabilityX12TransactionSetX12485 +// CapabilityX12TransactionSetX12486 +// CapabilityX12TransactionSetX12490 +// CapabilityX12TransactionSetX12492 +// CapabilityX12TransactionSetX12494 +// CapabilityX12TransactionSetX12500 +// CapabilityX12TransactionSetX12501 +// CapabilityX12TransactionSetX12503 +// CapabilityX12TransactionSetX12504 +// CapabilityX12TransactionSetX12511 +// CapabilityX12TransactionSetX12517 +// CapabilityX12TransactionSetX12521 +// CapabilityX12TransactionSetX12527 +// CapabilityX12TransactionSetX12536 +// CapabilityX12TransactionSetX12540 +// CapabilityX12TransactionSetX12561 +// CapabilityX12TransactionSetX12567 +// CapabilityX12TransactionSetX12568 +// CapabilityX12TransactionSetX12601 +// CapabilityX12TransactionSetX12602 +// CapabilityX12TransactionSetX12620 +// CapabilityX12TransactionSetX12625 +// CapabilityX12TransactionSetX12650 +// CapabilityX12TransactionSetX12715 +// CapabilityX12TransactionSetX12753 +// CapabilityX12TransactionSetX12754 +// CapabilityX12TransactionSetX12805 +// CapabilityX12TransactionSetX12806 // CapabilityX12TransactionSetX12810 +// CapabilityX12TransactionSetX12811 +// CapabilityX12TransactionSetX12812 +// CapabilityX12TransactionSetX12813 +// CapabilityX12TransactionSetX12814 +// CapabilityX12TransactionSetX12815 +// CapabilityX12TransactionSetX12816 +// CapabilityX12TransactionSetX12818 +// CapabilityX12TransactionSetX12819 // CapabilityX12TransactionSetX12820 +// CapabilityX12TransactionSetX12821 +// CapabilityX12TransactionSetX12822 +// CapabilityX12TransactionSetX12823 // CapabilityX12TransactionSetX12824 +// CapabilityX12TransactionSetX12826 +// CapabilityX12TransactionSetX12827 +// CapabilityX12TransactionSetX12828 +// CapabilityX12TransactionSetX12829 // CapabilityX12TransactionSetX12830 +// CapabilityX12TransactionSetX12831 // CapabilityX12TransactionSetX12832 +// CapabilityX12TransactionSetX12833 // CapabilityX12TransactionSetX12834 // CapabilityX12TransactionSetX12835 +// CapabilityX12TransactionSetX12836 // CapabilityX12TransactionSetX12837 +// CapabilityX12TransactionSetX12838 +// CapabilityX12TransactionSetX12839 +// CapabilityX12TransactionSetX12840 +// CapabilityX12TransactionSetX12841 +// CapabilityX12TransactionSetX12842 +// CapabilityX12TransactionSetX12843 // CapabilityX12TransactionSetX12844 +// CapabilityX12TransactionSetX12845 // CapabilityX12TransactionSetX12846 +// CapabilityX12TransactionSetX12847 +// CapabilityX12TransactionSetX12848 // CapabilityX12TransactionSetX12849 // CapabilityX12TransactionSetX12850 +// CapabilityX12TransactionSetX12851 // CapabilityX12TransactionSetX12852 +// CapabilityX12TransactionSetX12853 +// CapabilityX12TransactionSetX12854 // CapabilityX12TransactionSetX12855 // CapabilityX12TransactionSetX12856 +// CapabilityX12TransactionSetX12857 +// CapabilityX12TransactionSetX12858 +// CapabilityX12TransactionSetX12859 // CapabilityX12TransactionSetX12860 // CapabilityX12TransactionSetX12861 +// CapabilityX12TransactionSetX12862 +// CapabilityX12TransactionSetX12863 // CapabilityX12TransactionSetX12864 // CapabilityX12TransactionSetX12865 +// CapabilityX12TransactionSetX12866 +// CapabilityX12TransactionSetX12867 +// CapabilityX12TransactionSetX12868 // CapabilityX12TransactionSetX12869 // CapabilityX12TransactionSetX12870 +// CapabilityX12TransactionSetX12871 +// CapabilityX12TransactionSetX12872 +// CapabilityX12TransactionSetX12873 +// CapabilityX12TransactionSetX12874 +// CapabilityX12TransactionSetX12875 +// CapabilityX12TransactionSetX12876 +// CapabilityX12TransactionSetX12877 +// CapabilityX12TransactionSetX12878 +// CapabilityX12TransactionSetX12879 +// CapabilityX12TransactionSetX12880 +// CapabilityX12TransactionSetX12881 +// CapabilityX12TransactionSetX12882 +// CapabilityX12TransactionSetX12883 +// CapabilityX12TransactionSetX12884 +// CapabilityX12TransactionSetX12885 +// CapabilityX12TransactionSetX12886 +// CapabilityX12TransactionSetX12887 +// CapabilityX12TransactionSetX12888 +// CapabilityX12TransactionSetX12889 +// CapabilityX12TransactionSetX12891 +// CapabilityX12TransactionSetX12893 +// CapabilityX12TransactionSetX12894 +// CapabilityX12TransactionSetX12895 +// CapabilityX12TransactionSetX12896 +// CapabilityX12TransactionSetX12920 +// CapabilityX12TransactionSetX12924 +// CapabilityX12TransactionSetX12925 +// CapabilityX12TransactionSetX12926 +// CapabilityX12TransactionSetX12928 // CapabilityX12TransactionSetX12940 +// CapabilityX12TransactionSetX12943 +// CapabilityX12TransactionSetX12944 // CapabilityX12TransactionSetX12945 +// CapabilityX12TransactionSetX12947 +// CapabilityX12TransactionSetX12980 // CapabilityX12TransactionSetX12990 +// CapabilityX12TransactionSetX12993 +// CapabilityX12TransactionSetX12996 // CapabilityX12TransactionSetX12997 +// CapabilityX12TransactionSetX12998 // CapabilityX12TransactionSetX12999 // CapabilityX12TransactionSetX12270x279 // CapabilityX12TransactionSetX12271x279 @@ -654,6 +1188,8 @@ type CapabilityX12Version string const ( CapabilityX12VersionVersion4010 = CapabilityX12Version("VERSION_4010") CapabilityX12VersionVersion4030 = CapabilityX12Version("VERSION_4030") + CapabilityX12VersionVersion4050 = CapabilityX12Version("VERSION_4050") + CapabilityX12VersionVersion4060 = CapabilityX12Version("VERSION_4060") CapabilityX12VersionVersion5010 = CapabilityX12Version("VERSION_5010") CapabilityX12VersionVersion5010Hipaa = CapabilityX12Version("VERSION_5010_HIPAA") ) @@ -782,6 +1318,8 @@ func (o CapabilityX12VersionPtrOutput) ToStringPtrOutputWithContext(ctx context. // // CapabilityX12VersionVersion4010 // CapabilityX12VersionVersion4030 +// CapabilityX12VersionVersion4050 +// CapabilityX12VersionVersion4060 // CapabilityX12VersionVersion5010 // CapabilityX12VersionVersion5010Hipaa type CapabilityX12VersionInput interface { @@ -1809,57 +2347,324 @@ func (in *transformerToFormatPtr) ToTransformerToFormatPtrOutputWithContext(ctx type TransformerX12TransactionSet string const ( + TransformerX12TransactionSetX12100 = TransformerX12TransactionSet("X12_100") + TransformerX12TransactionSetX12101 = TransformerX12TransactionSet("X12_101") + TransformerX12TransactionSetX12102 = TransformerX12TransactionSet("X12_102") + TransformerX12TransactionSetX12103 = TransformerX12TransactionSet("X12_103") + TransformerX12TransactionSetX12104 = TransformerX12TransactionSet("X12_104") + TransformerX12TransactionSetX12105 = TransformerX12TransactionSet("X12_105") + TransformerX12TransactionSetX12106 = TransformerX12TransactionSet("X12_106") + TransformerX12TransactionSetX12107 = TransformerX12TransactionSet("X12_107") + TransformerX12TransactionSetX12108 = TransformerX12TransactionSet("X12_108") + TransformerX12TransactionSetX12109 = TransformerX12TransactionSet("X12_109") TransformerX12TransactionSetX12110 = TransformerX12TransactionSet("X12_110") + TransformerX12TransactionSetX12111 = TransformerX12TransactionSet("X12_111") + TransformerX12TransactionSetX12112 = TransformerX12TransactionSet("X12_112") + TransformerX12TransactionSetX12113 = TransformerX12TransactionSet("X12_113") + TransformerX12TransactionSetX12120 = TransformerX12TransactionSet("X12_120") + TransformerX12TransactionSetX12121 = TransformerX12TransactionSet("X12_121") + TransformerX12TransactionSetX12124 = TransformerX12TransactionSet("X12_124") + TransformerX12TransactionSetX12125 = TransformerX12TransactionSet("X12_125") + TransformerX12TransactionSetX12126 = TransformerX12TransactionSet("X12_126") + TransformerX12TransactionSetX12127 = TransformerX12TransactionSet("X12_127") + TransformerX12TransactionSetX12128 = TransformerX12TransactionSet("X12_128") + TransformerX12TransactionSetX12129 = TransformerX12TransactionSet("X12_129") + TransformerX12TransactionSetX12130 = TransformerX12TransactionSet("X12_130") + TransformerX12TransactionSetX12131 = TransformerX12TransactionSet("X12_131") + TransformerX12TransactionSetX12132 = TransformerX12TransactionSet("X12_132") + TransformerX12TransactionSetX12133 = TransformerX12TransactionSet("X12_133") + TransformerX12TransactionSetX12135 = TransformerX12TransactionSet("X12_135") + TransformerX12TransactionSetX12138 = TransformerX12TransactionSet("X12_138") + TransformerX12TransactionSetX12139 = TransformerX12TransactionSet("X12_139") + TransformerX12TransactionSetX12140 = TransformerX12TransactionSet("X12_140") + TransformerX12TransactionSetX12141 = TransformerX12TransactionSet("X12_141") + TransformerX12TransactionSetX12142 = TransformerX12TransactionSet("X12_142") + TransformerX12TransactionSetX12143 = TransformerX12TransactionSet("X12_143") + TransformerX12TransactionSetX12144 = TransformerX12TransactionSet("X12_144") + TransformerX12TransactionSetX12146 = TransformerX12TransactionSet("X12_146") + TransformerX12TransactionSetX12147 = TransformerX12TransactionSet("X12_147") + TransformerX12TransactionSetX12148 = TransformerX12TransactionSet("X12_148") + TransformerX12TransactionSetX12149 = TransformerX12TransactionSet("X12_149") + TransformerX12TransactionSetX12150 = TransformerX12TransactionSet("X12_150") + TransformerX12TransactionSetX12151 = TransformerX12TransactionSet("X12_151") + TransformerX12TransactionSetX12152 = TransformerX12TransactionSet("X12_152") + TransformerX12TransactionSetX12153 = TransformerX12TransactionSet("X12_153") + TransformerX12TransactionSetX12154 = TransformerX12TransactionSet("X12_154") + TransformerX12TransactionSetX12155 = TransformerX12TransactionSet("X12_155") + TransformerX12TransactionSetX12157 = TransformerX12TransactionSet("X12_157") + TransformerX12TransactionSetX12158 = TransformerX12TransactionSet("X12_158") + TransformerX12TransactionSetX12159 = TransformerX12TransactionSet("X12_159") + TransformerX12TransactionSetX12160 = TransformerX12TransactionSet("X12_160") + TransformerX12TransactionSetX12161 = TransformerX12TransactionSet("X12_161") + TransformerX12TransactionSetX12163 = TransformerX12TransactionSet("X12_163") + TransformerX12TransactionSetX12170 = TransformerX12TransactionSet("X12_170") + TransformerX12TransactionSetX12175 = TransformerX12TransactionSet("X12_175") + TransformerX12TransactionSetX12176 = TransformerX12TransactionSet("X12_176") + TransformerX12TransactionSetX12179 = TransformerX12TransactionSet("X12_179") TransformerX12TransactionSetX12180 = TransformerX12TransactionSet("X12_180") + TransformerX12TransactionSetX12185 = TransformerX12TransactionSet("X12_185") + TransformerX12TransactionSetX12186 = TransformerX12TransactionSet("X12_186") + TransformerX12TransactionSetX12187 = TransformerX12TransactionSet("X12_187") + TransformerX12TransactionSetX12188 = TransformerX12TransactionSet("X12_188") + TransformerX12TransactionSetX12189 = TransformerX12TransactionSet("X12_189") + TransformerX12TransactionSetX12190 = TransformerX12TransactionSet("X12_190") + TransformerX12TransactionSetX12191 = TransformerX12TransactionSet("X12_191") + TransformerX12TransactionSetX12194 = TransformerX12TransactionSet("X12_194") + TransformerX12TransactionSetX12195 = TransformerX12TransactionSet("X12_195") + TransformerX12TransactionSetX12196 = TransformerX12TransactionSet("X12_196") + TransformerX12TransactionSetX12197 = TransformerX12TransactionSet("X12_197") + TransformerX12TransactionSetX12198 = TransformerX12TransactionSet("X12_198") + TransformerX12TransactionSetX12199 = TransformerX12TransactionSet("X12_199") + TransformerX12TransactionSetX12200 = TransformerX12TransactionSet("X12_200") + TransformerX12TransactionSetX12201 = TransformerX12TransactionSet("X12_201") + TransformerX12TransactionSetX12202 = TransformerX12TransactionSet("X12_202") + TransformerX12TransactionSetX12203 = TransformerX12TransactionSet("X12_203") TransformerX12TransactionSetX12204 = TransformerX12TransactionSet("X12_204") + TransformerX12TransactionSetX12205 = TransformerX12TransactionSet("X12_205") + TransformerX12TransactionSetX12206 = TransformerX12TransactionSet("X12_206") TransformerX12TransactionSetX12210 = TransformerX12TransactionSet("X12_210") TransformerX12TransactionSetX12211 = TransformerX12TransactionSet("X12_211") + TransformerX12TransactionSetX12212 = TransformerX12TransactionSet("X12_212") + TransformerX12TransactionSetX12213 = TransformerX12TransactionSet("X12_213") TransformerX12TransactionSetX12214 = TransformerX12TransactionSet("X12_214") TransformerX12TransactionSetX12215 = TransformerX12TransactionSet("X12_215") + TransformerX12TransactionSetX12216 = TransformerX12TransactionSet("X12_216") + TransformerX12TransactionSetX12217 = TransformerX12TransactionSet("X12_217") + TransformerX12TransactionSetX12218 = TransformerX12TransactionSet("X12_218") + TransformerX12TransactionSetX12219 = TransformerX12TransactionSet("X12_219") + TransformerX12TransactionSetX12220 = TransformerX12TransactionSet("X12_220") + TransformerX12TransactionSetX12222 = TransformerX12TransactionSet("X12_222") + TransformerX12TransactionSetX12223 = TransformerX12TransactionSet("X12_223") + TransformerX12TransactionSetX12224 = TransformerX12TransactionSet("X12_224") + TransformerX12TransactionSetX12225 = TransformerX12TransactionSet("X12_225") + TransformerX12TransactionSetX12227 = TransformerX12TransactionSet("X12_227") + TransformerX12TransactionSetX12228 = TransformerX12TransactionSet("X12_228") + TransformerX12TransactionSetX12240 = TransformerX12TransactionSet("X12_240") + TransformerX12TransactionSetX12242 = TransformerX12TransactionSet("X12_242") + TransformerX12TransactionSetX12244 = TransformerX12TransactionSet("X12_244") + TransformerX12TransactionSetX12245 = TransformerX12TransactionSet("X12_245") + TransformerX12TransactionSetX12248 = TransformerX12TransactionSet("X12_248") + TransformerX12TransactionSetX12249 = TransformerX12TransactionSet("X12_249") + TransformerX12TransactionSetX12250 = TransformerX12TransactionSet("X12_250") + TransformerX12TransactionSetX12251 = TransformerX12TransactionSet("X12_251") + TransformerX12TransactionSetX12252 = TransformerX12TransactionSet("X12_252") + TransformerX12TransactionSetX12255 = TransformerX12TransactionSet("X12_255") + TransformerX12TransactionSetX12256 = TransformerX12TransactionSet("X12_256") TransformerX12TransactionSetX12259 = TransformerX12TransactionSet("X12_259") TransformerX12TransactionSetX12260 = TransformerX12TransactionSet("X12_260") + TransformerX12TransactionSetX12261 = TransformerX12TransactionSet("X12_261") + TransformerX12TransactionSetX12262 = TransformerX12TransactionSet("X12_262") + TransformerX12TransactionSetX12263 = TransformerX12TransactionSet("X12_263") + TransformerX12TransactionSetX12264 = TransformerX12TransactionSet("X12_264") + TransformerX12TransactionSetX12265 = TransformerX12TransactionSet("X12_265") TransformerX12TransactionSetX12266 = TransformerX12TransactionSet("X12_266") + TransformerX12TransactionSetX12267 = TransformerX12TransactionSet("X12_267") + TransformerX12TransactionSetX12268 = TransformerX12TransactionSet("X12_268") TransformerX12TransactionSetX12269 = TransformerX12TransactionSet("X12_269") TransformerX12TransactionSetX12270 = TransformerX12TransactionSet("X12_270") TransformerX12TransactionSetX12271 = TransformerX12TransactionSet("X12_271") + TransformerX12TransactionSetX12272 = TransformerX12TransactionSet("X12_272") + TransformerX12TransactionSetX12273 = TransformerX12TransactionSet("X12_273") TransformerX12TransactionSetX12274 = TransformerX12TransactionSet("X12_274") TransformerX12TransactionSetX12275 = TransformerX12TransactionSet("X12_275") TransformerX12TransactionSetX12276 = TransformerX12TransactionSet("X12_276") TransformerX12TransactionSetX12277 = TransformerX12TransactionSet("X12_277") TransformerX12TransactionSetX12278 = TransformerX12TransactionSet("X12_278") + TransformerX12TransactionSetX12280 = TransformerX12TransactionSet("X12_280") + TransformerX12TransactionSetX12283 = TransformerX12TransactionSet("X12_283") + TransformerX12TransactionSetX12284 = TransformerX12TransactionSet("X12_284") + TransformerX12TransactionSetX12285 = TransformerX12TransactionSet("X12_285") + TransformerX12TransactionSetX12286 = TransformerX12TransactionSet("X12_286") + TransformerX12TransactionSetX12288 = TransformerX12TransactionSet("X12_288") + TransformerX12TransactionSetX12290 = TransformerX12TransactionSet("X12_290") + TransformerX12TransactionSetX12300 = TransformerX12TransactionSet("X12_300") + TransformerX12TransactionSetX12301 = TransformerX12TransactionSet("X12_301") + TransformerX12TransactionSetX12303 = TransformerX12TransactionSet("X12_303") + TransformerX12TransactionSetX12304 = TransformerX12TransactionSet("X12_304") + TransformerX12TransactionSetX12309 = TransformerX12TransactionSet("X12_309") TransformerX12TransactionSetX12310 = TransformerX12TransactionSet("X12_310") + TransformerX12TransactionSetX12311 = TransformerX12TransactionSet("X12_311") + TransformerX12TransactionSetX12312 = TransformerX12TransactionSet("X12_312") + TransformerX12TransactionSetX12313 = TransformerX12TransactionSet("X12_313") TransformerX12TransactionSetX12315 = TransformerX12TransactionSet("X12_315") + TransformerX12TransactionSetX12317 = TransformerX12TransactionSet("X12_317") + TransformerX12TransactionSetX12319 = TransformerX12TransactionSet("X12_319") TransformerX12TransactionSetX12322 = TransformerX12TransactionSet("X12_322") + TransformerX12TransactionSetX12323 = TransformerX12TransactionSet("X12_323") + TransformerX12TransactionSetX12324 = TransformerX12TransactionSet("X12_324") + TransformerX12TransactionSetX12325 = TransformerX12TransactionSet("X12_325") + TransformerX12TransactionSetX12326 = TransformerX12TransactionSet("X12_326") + TransformerX12TransactionSetX12350 = TransformerX12TransactionSet("X12_350") + TransformerX12TransactionSetX12352 = TransformerX12TransactionSet("X12_352") + TransformerX12TransactionSetX12353 = TransformerX12TransactionSet("X12_353") + TransformerX12TransactionSetX12354 = TransformerX12TransactionSet("X12_354") + TransformerX12TransactionSetX12355 = TransformerX12TransactionSet("X12_355") + TransformerX12TransactionSetX12356 = TransformerX12TransactionSet("X12_356") + TransformerX12TransactionSetX12357 = TransformerX12TransactionSet("X12_357") + TransformerX12TransactionSetX12358 = TransformerX12TransactionSet("X12_358") + TransformerX12TransactionSetX12361 = TransformerX12TransactionSet("X12_361") + TransformerX12TransactionSetX12362 = TransformerX12TransactionSet("X12_362") TransformerX12TransactionSetX12404 = TransformerX12TransactionSet("X12_404") TransformerX12TransactionSetX12410 = TransformerX12TransactionSet("X12_410") + TransformerX12TransactionSetX12412 = TransformerX12TransactionSet("X12_412") + TransformerX12TransactionSetX12414 = TransformerX12TransactionSet("X12_414") TransformerX12TransactionSetX12417 = TransformerX12TransactionSet("X12_417") + TransformerX12TransactionSetX12418 = TransformerX12TransactionSet("X12_418") + TransformerX12TransactionSetX12419 = TransformerX12TransactionSet("X12_419") + TransformerX12TransactionSetX12420 = TransformerX12TransactionSet("X12_420") TransformerX12TransactionSetX12421 = TransformerX12TransactionSet("X12_421") + TransformerX12TransactionSetX12422 = TransformerX12TransactionSet("X12_422") + TransformerX12TransactionSetX12423 = TransformerX12TransactionSet("X12_423") + TransformerX12TransactionSetX12424 = TransformerX12TransactionSet("X12_424") + TransformerX12TransactionSetX12425 = TransformerX12TransactionSet("X12_425") TransformerX12TransactionSetX12426 = TransformerX12TransactionSet("X12_426") + TransformerX12TransactionSetX12429 = TransformerX12TransactionSet("X12_429") + TransformerX12TransactionSetX12431 = TransformerX12TransactionSet("X12_431") + TransformerX12TransactionSetX12432 = TransformerX12TransactionSet("X12_432") + TransformerX12TransactionSetX12433 = TransformerX12TransactionSet("X12_433") + TransformerX12TransactionSetX12434 = TransformerX12TransactionSet("X12_434") + TransformerX12TransactionSetX12435 = TransformerX12TransactionSet("X12_435") + TransformerX12TransactionSetX12436 = TransformerX12TransactionSet("X12_436") + TransformerX12TransactionSetX12437 = TransformerX12TransactionSet("X12_437") + TransformerX12TransactionSetX12440 = TransformerX12TransactionSet("X12_440") + TransformerX12TransactionSetX12451 = TransformerX12TransactionSet("X12_451") + TransformerX12TransactionSetX12452 = TransformerX12TransactionSet("X12_452") + TransformerX12TransactionSetX12453 = TransformerX12TransactionSet("X12_453") + TransformerX12TransactionSetX12455 = TransformerX12TransactionSet("X12_455") + TransformerX12TransactionSetX12456 = TransformerX12TransactionSet("X12_456") + TransformerX12TransactionSetX12460 = TransformerX12TransactionSet("X12_460") + TransformerX12TransactionSetX12463 = TransformerX12TransactionSet("X12_463") + TransformerX12TransactionSetX12466 = TransformerX12TransactionSet("X12_466") + TransformerX12TransactionSetX12468 = TransformerX12TransactionSet("X12_468") + TransformerX12TransactionSetX12470 = TransformerX12TransactionSet("X12_470") + TransformerX12TransactionSetX12475 = TransformerX12TransactionSet("X12_475") + TransformerX12TransactionSetX12485 = TransformerX12TransactionSet("X12_485") + TransformerX12TransactionSetX12486 = TransformerX12TransactionSet("X12_486") + TransformerX12TransactionSetX12490 = TransformerX12TransactionSet("X12_490") + TransformerX12TransactionSetX12492 = TransformerX12TransactionSet("X12_492") + TransformerX12TransactionSetX12494 = TransformerX12TransactionSet("X12_494") + TransformerX12TransactionSetX12500 = TransformerX12TransactionSet("X12_500") + TransformerX12TransactionSetX12501 = TransformerX12TransactionSet("X12_501") + TransformerX12TransactionSetX12503 = TransformerX12TransactionSet("X12_503") + TransformerX12TransactionSetX12504 = TransformerX12TransactionSet("X12_504") + TransformerX12TransactionSetX12511 = TransformerX12TransactionSet("X12_511") + TransformerX12TransactionSetX12517 = TransformerX12TransactionSet("X12_517") + TransformerX12TransactionSetX12521 = TransformerX12TransactionSet("X12_521") + TransformerX12TransactionSetX12527 = TransformerX12TransactionSet("X12_527") + TransformerX12TransactionSetX12536 = TransformerX12TransactionSet("X12_536") + TransformerX12TransactionSetX12540 = TransformerX12TransactionSet("X12_540") + TransformerX12TransactionSetX12561 = TransformerX12TransactionSet("X12_561") + TransformerX12TransactionSetX12567 = TransformerX12TransactionSet("X12_567") + TransformerX12TransactionSetX12568 = TransformerX12TransactionSet("X12_568") + TransformerX12TransactionSetX12601 = TransformerX12TransactionSet("X12_601") + TransformerX12TransactionSetX12602 = TransformerX12TransactionSet("X12_602") + TransformerX12TransactionSetX12620 = TransformerX12TransactionSet("X12_620") + TransformerX12TransactionSetX12625 = TransformerX12TransactionSet("X12_625") + TransformerX12TransactionSetX12650 = TransformerX12TransactionSet("X12_650") + TransformerX12TransactionSetX12715 = TransformerX12TransactionSet("X12_715") + TransformerX12TransactionSetX12753 = TransformerX12TransactionSet("X12_753") + TransformerX12TransactionSetX12754 = TransformerX12TransactionSet("X12_754") + TransformerX12TransactionSetX12805 = TransformerX12TransactionSet("X12_805") + TransformerX12TransactionSetX12806 = TransformerX12TransactionSet("X12_806") TransformerX12TransactionSetX12810 = TransformerX12TransactionSet("X12_810") + TransformerX12TransactionSetX12811 = TransformerX12TransactionSet("X12_811") + TransformerX12TransactionSetX12812 = TransformerX12TransactionSet("X12_812") + TransformerX12TransactionSetX12813 = TransformerX12TransactionSet("X12_813") + TransformerX12TransactionSetX12814 = TransformerX12TransactionSet("X12_814") + TransformerX12TransactionSetX12815 = TransformerX12TransactionSet("X12_815") + TransformerX12TransactionSetX12816 = TransformerX12TransactionSet("X12_816") + TransformerX12TransactionSetX12818 = TransformerX12TransactionSet("X12_818") + TransformerX12TransactionSetX12819 = TransformerX12TransactionSet("X12_819") TransformerX12TransactionSetX12820 = TransformerX12TransactionSet("X12_820") + TransformerX12TransactionSetX12821 = TransformerX12TransactionSet("X12_821") + TransformerX12TransactionSetX12822 = TransformerX12TransactionSet("X12_822") + TransformerX12TransactionSetX12823 = TransformerX12TransactionSet("X12_823") TransformerX12TransactionSetX12824 = TransformerX12TransactionSet("X12_824") + TransformerX12TransactionSetX12826 = TransformerX12TransactionSet("X12_826") + TransformerX12TransactionSetX12827 = TransformerX12TransactionSet("X12_827") + TransformerX12TransactionSetX12828 = TransformerX12TransactionSet("X12_828") + TransformerX12TransactionSetX12829 = TransformerX12TransactionSet("X12_829") TransformerX12TransactionSetX12830 = TransformerX12TransactionSet("X12_830") + TransformerX12TransactionSetX12831 = TransformerX12TransactionSet("X12_831") TransformerX12TransactionSetX12832 = TransformerX12TransactionSet("X12_832") + TransformerX12TransactionSetX12833 = TransformerX12TransactionSet("X12_833") TransformerX12TransactionSetX12834 = TransformerX12TransactionSet("X12_834") TransformerX12TransactionSetX12835 = TransformerX12TransactionSet("X12_835") + TransformerX12TransactionSetX12836 = TransformerX12TransactionSet("X12_836") TransformerX12TransactionSetX12837 = TransformerX12TransactionSet("X12_837") + TransformerX12TransactionSetX12838 = TransformerX12TransactionSet("X12_838") + TransformerX12TransactionSetX12839 = TransformerX12TransactionSet("X12_839") + TransformerX12TransactionSetX12840 = TransformerX12TransactionSet("X12_840") + TransformerX12TransactionSetX12841 = TransformerX12TransactionSet("X12_841") + TransformerX12TransactionSetX12842 = TransformerX12TransactionSet("X12_842") + TransformerX12TransactionSetX12843 = TransformerX12TransactionSet("X12_843") TransformerX12TransactionSetX12844 = TransformerX12TransactionSet("X12_844") + TransformerX12TransactionSetX12845 = TransformerX12TransactionSet("X12_845") TransformerX12TransactionSetX12846 = TransformerX12TransactionSet("X12_846") + TransformerX12TransactionSetX12847 = TransformerX12TransactionSet("X12_847") + TransformerX12TransactionSetX12848 = TransformerX12TransactionSet("X12_848") TransformerX12TransactionSetX12849 = TransformerX12TransactionSet("X12_849") TransformerX12TransactionSetX12850 = TransformerX12TransactionSet("X12_850") + TransformerX12TransactionSetX12851 = TransformerX12TransactionSet("X12_851") TransformerX12TransactionSetX12852 = TransformerX12TransactionSet("X12_852") + TransformerX12TransactionSetX12853 = TransformerX12TransactionSet("X12_853") + TransformerX12TransactionSetX12854 = TransformerX12TransactionSet("X12_854") TransformerX12TransactionSetX12855 = TransformerX12TransactionSet("X12_855") TransformerX12TransactionSetX12856 = TransformerX12TransactionSet("X12_856") + TransformerX12TransactionSetX12857 = TransformerX12TransactionSet("X12_857") + TransformerX12TransactionSetX12858 = TransformerX12TransactionSet("X12_858") + TransformerX12TransactionSetX12859 = TransformerX12TransactionSet("X12_859") TransformerX12TransactionSetX12860 = TransformerX12TransactionSet("X12_860") TransformerX12TransactionSetX12861 = TransformerX12TransactionSet("X12_861") + TransformerX12TransactionSetX12862 = TransformerX12TransactionSet("X12_862") + TransformerX12TransactionSetX12863 = TransformerX12TransactionSet("X12_863") TransformerX12TransactionSetX12864 = TransformerX12TransactionSet("X12_864") TransformerX12TransactionSetX12865 = TransformerX12TransactionSet("X12_865") + TransformerX12TransactionSetX12866 = TransformerX12TransactionSet("X12_866") + TransformerX12TransactionSetX12867 = TransformerX12TransactionSet("X12_867") + TransformerX12TransactionSetX12868 = TransformerX12TransactionSet("X12_868") TransformerX12TransactionSetX12869 = TransformerX12TransactionSet("X12_869") TransformerX12TransactionSetX12870 = TransformerX12TransactionSet("X12_870") + TransformerX12TransactionSetX12871 = TransformerX12TransactionSet("X12_871") + TransformerX12TransactionSetX12872 = TransformerX12TransactionSet("X12_872") + TransformerX12TransactionSetX12873 = TransformerX12TransactionSet("X12_873") + TransformerX12TransactionSetX12874 = TransformerX12TransactionSet("X12_874") + TransformerX12TransactionSetX12875 = TransformerX12TransactionSet("X12_875") + TransformerX12TransactionSetX12876 = TransformerX12TransactionSet("X12_876") + TransformerX12TransactionSetX12877 = TransformerX12TransactionSet("X12_877") + TransformerX12TransactionSetX12878 = TransformerX12TransactionSet("X12_878") + TransformerX12TransactionSetX12879 = TransformerX12TransactionSet("X12_879") + TransformerX12TransactionSetX12880 = TransformerX12TransactionSet("X12_880") + TransformerX12TransactionSetX12881 = TransformerX12TransactionSet("X12_881") + TransformerX12TransactionSetX12882 = TransformerX12TransactionSet("X12_882") + TransformerX12TransactionSetX12883 = TransformerX12TransactionSet("X12_883") + TransformerX12TransactionSetX12884 = TransformerX12TransactionSet("X12_884") + TransformerX12TransactionSetX12885 = TransformerX12TransactionSet("X12_885") + TransformerX12TransactionSetX12886 = TransformerX12TransactionSet("X12_886") + TransformerX12TransactionSetX12887 = TransformerX12TransactionSet("X12_887") + TransformerX12TransactionSetX12888 = TransformerX12TransactionSet("X12_888") + TransformerX12TransactionSetX12889 = TransformerX12TransactionSet("X12_889") + TransformerX12TransactionSetX12891 = TransformerX12TransactionSet("X12_891") + TransformerX12TransactionSetX12893 = TransformerX12TransactionSet("X12_893") + TransformerX12TransactionSetX12894 = TransformerX12TransactionSet("X12_894") + TransformerX12TransactionSetX12895 = TransformerX12TransactionSet("X12_895") + TransformerX12TransactionSetX12896 = TransformerX12TransactionSet("X12_896") + TransformerX12TransactionSetX12920 = TransformerX12TransactionSet("X12_920") + TransformerX12TransactionSetX12924 = TransformerX12TransactionSet("X12_924") + TransformerX12TransactionSetX12925 = TransformerX12TransactionSet("X12_925") + TransformerX12TransactionSetX12926 = TransformerX12TransactionSet("X12_926") + TransformerX12TransactionSetX12928 = TransformerX12TransactionSet("X12_928") TransformerX12TransactionSetX12940 = TransformerX12TransactionSet("X12_940") + TransformerX12TransactionSetX12943 = TransformerX12TransactionSet("X12_943") + TransformerX12TransactionSetX12944 = TransformerX12TransactionSet("X12_944") TransformerX12TransactionSetX12945 = TransformerX12TransactionSet("X12_945") + TransformerX12TransactionSetX12947 = TransformerX12TransactionSet("X12_947") + TransformerX12TransactionSetX12980 = TransformerX12TransactionSet("X12_980") TransformerX12TransactionSetX12990 = TransformerX12TransactionSet("X12_990") + TransformerX12TransactionSetX12993 = TransformerX12TransactionSet("X12_993") + TransformerX12TransactionSetX12996 = TransformerX12TransactionSet("X12_996") TransformerX12TransactionSetX12997 = TransformerX12TransactionSet("X12_997") + TransformerX12TransactionSetX12998 = TransformerX12TransactionSet("X12_998") TransformerX12TransactionSetX12999 = TransformerX12TransactionSet("X12_999") TransformerX12TransactionSetX12270x279 = TransformerX12TransactionSet("X12_270_X279") TransformerX12TransactionSetX12271x279 = TransformerX12TransactionSet("X12_271_X279") @@ -2008,57 +2813,324 @@ func (o TransformerX12TransactionSetPtrOutput) ToStringPtrOutputWithContext(ctx // TransformerX12TransactionSetInput is an input type that accepts values of the TransformerX12TransactionSet enum // A concrete instance of `TransformerX12TransactionSetInput` can be one of the following: // +// TransformerX12TransactionSetX12100 +// TransformerX12TransactionSetX12101 +// TransformerX12TransactionSetX12102 +// TransformerX12TransactionSetX12103 +// TransformerX12TransactionSetX12104 +// TransformerX12TransactionSetX12105 +// TransformerX12TransactionSetX12106 +// TransformerX12TransactionSetX12107 +// TransformerX12TransactionSetX12108 +// TransformerX12TransactionSetX12109 // TransformerX12TransactionSetX12110 +// TransformerX12TransactionSetX12111 +// TransformerX12TransactionSetX12112 +// TransformerX12TransactionSetX12113 +// TransformerX12TransactionSetX12120 +// TransformerX12TransactionSetX12121 +// TransformerX12TransactionSetX12124 +// TransformerX12TransactionSetX12125 +// TransformerX12TransactionSetX12126 +// TransformerX12TransactionSetX12127 +// TransformerX12TransactionSetX12128 +// TransformerX12TransactionSetX12129 +// TransformerX12TransactionSetX12130 +// TransformerX12TransactionSetX12131 +// TransformerX12TransactionSetX12132 +// TransformerX12TransactionSetX12133 +// TransformerX12TransactionSetX12135 +// TransformerX12TransactionSetX12138 +// TransformerX12TransactionSetX12139 +// TransformerX12TransactionSetX12140 +// TransformerX12TransactionSetX12141 +// TransformerX12TransactionSetX12142 +// TransformerX12TransactionSetX12143 +// TransformerX12TransactionSetX12144 +// TransformerX12TransactionSetX12146 +// TransformerX12TransactionSetX12147 +// TransformerX12TransactionSetX12148 +// TransformerX12TransactionSetX12149 +// TransformerX12TransactionSetX12150 +// TransformerX12TransactionSetX12151 +// TransformerX12TransactionSetX12152 +// TransformerX12TransactionSetX12153 +// TransformerX12TransactionSetX12154 +// TransformerX12TransactionSetX12155 +// TransformerX12TransactionSetX12157 +// TransformerX12TransactionSetX12158 +// TransformerX12TransactionSetX12159 +// TransformerX12TransactionSetX12160 +// TransformerX12TransactionSetX12161 +// TransformerX12TransactionSetX12163 +// TransformerX12TransactionSetX12170 +// TransformerX12TransactionSetX12175 +// TransformerX12TransactionSetX12176 +// TransformerX12TransactionSetX12179 // TransformerX12TransactionSetX12180 +// TransformerX12TransactionSetX12185 +// TransformerX12TransactionSetX12186 +// TransformerX12TransactionSetX12187 +// TransformerX12TransactionSetX12188 +// TransformerX12TransactionSetX12189 +// TransformerX12TransactionSetX12190 +// TransformerX12TransactionSetX12191 +// TransformerX12TransactionSetX12194 +// TransformerX12TransactionSetX12195 +// TransformerX12TransactionSetX12196 +// TransformerX12TransactionSetX12197 +// TransformerX12TransactionSetX12198 +// TransformerX12TransactionSetX12199 +// TransformerX12TransactionSetX12200 +// TransformerX12TransactionSetX12201 +// TransformerX12TransactionSetX12202 +// TransformerX12TransactionSetX12203 // TransformerX12TransactionSetX12204 +// TransformerX12TransactionSetX12205 +// TransformerX12TransactionSetX12206 // TransformerX12TransactionSetX12210 // TransformerX12TransactionSetX12211 +// TransformerX12TransactionSetX12212 +// TransformerX12TransactionSetX12213 // TransformerX12TransactionSetX12214 // TransformerX12TransactionSetX12215 +// TransformerX12TransactionSetX12216 +// TransformerX12TransactionSetX12217 +// TransformerX12TransactionSetX12218 +// TransformerX12TransactionSetX12219 +// TransformerX12TransactionSetX12220 +// TransformerX12TransactionSetX12222 +// TransformerX12TransactionSetX12223 +// TransformerX12TransactionSetX12224 +// TransformerX12TransactionSetX12225 +// TransformerX12TransactionSetX12227 +// TransformerX12TransactionSetX12228 +// TransformerX12TransactionSetX12240 +// TransformerX12TransactionSetX12242 +// TransformerX12TransactionSetX12244 +// TransformerX12TransactionSetX12245 +// TransformerX12TransactionSetX12248 +// TransformerX12TransactionSetX12249 +// TransformerX12TransactionSetX12250 +// TransformerX12TransactionSetX12251 +// TransformerX12TransactionSetX12252 +// TransformerX12TransactionSetX12255 +// TransformerX12TransactionSetX12256 // TransformerX12TransactionSetX12259 // TransformerX12TransactionSetX12260 +// TransformerX12TransactionSetX12261 +// TransformerX12TransactionSetX12262 +// TransformerX12TransactionSetX12263 +// TransformerX12TransactionSetX12264 +// TransformerX12TransactionSetX12265 // TransformerX12TransactionSetX12266 +// TransformerX12TransactionSetX12267 +// TransformerX12TransactionSetX12268 // TransformerX12TransactionSetX12269 // TransformerX12TransactionSetX12270 // TransformerX12TransactionSetX12271 +// TransformerX12TransactionSetX12272 +// TransformerX12TransactionSetX12273 // TransformerX12TransactionSetX12274 // TransformerX12TransactionSetX12275 // TransformerX12TransactionSetX12276 // TransformerX12TransactionSetX12277 // TransformerX12TransactionSetX12278 +// TransformerX12TransactionSetX12280 +// TransformerX12TransactionSetX12283 +// TransformerX12TransactionSetX12284 +// TransformerX12TransactionSetX12285 +// TransformerX12TransactionSetX12286 +// TransformerX12TransactionSetX12288 +// TransformerX12TransactionSetX12290 +// TransformerX12TransactionSetX12300 +// TransformerX12TransactionSetX12301 +// TransformerX12TransactionSetX12303 +// TransformerX12TransactionSetX12304 +// TransformerX12TransactionSetX12309 // TransformerX12TransactionSetX12310 +// TransformerX12TransactionSetX12311 +// TransformerX12TransactionSetX12312 +// TransformerX12TransactionSetX12313 // TransformerX12TransactionSetX12315 +// TransformerX12TransactionSetX12317 +// TransformerX12TransactionSetX12319 // TransformerX12TransactionSetX12322 +// TransformerX12TransactionSetX12323 +// TransformerX12TransactionSetX12324 +// TransformerX12TransactionSetX12325 +// TransformerX12TransactionSetX12326 +// TransformerX12TransactionSetX12350 +// TransformerX12TransactionSetX12352 +// TransformerX12TransactionSetX12353 +// TransformerX12TransactionSetX12354 +// TransformerX12TransactionSetX12355 +// TransformerX12TransactionSetX12356 +// TransformerX12TransactionSetX12357 +// TransformerX12TransactionSetX12358 +// TransformerX12TransactionSetX12361 +// TransformerX12TransactionSetX12362 // TransformerX12TransactionSetX12404 // TransformerX12TransactionSetX12410 +// TransformerX12TransactionSetX12412 +// TransformerX12TransactionSetX12414 // TransformerX12TransactionSetX12417 +// TransformerX12TransactionSetX12418 +// TransformerX12TransactionSetX12419 +// TransformerX12TransactionSetX12420 // TransformerX12TransactionSetX12421 +// TransformerX12TransactionSetX12422 +// TransformerX12TransactionSetX12423 +// TransformerX12TransactionSetX12424 +// TransformerX12TransactionSetX12425 // TransformerX12TransactionSetX12426 +// TransformerX12TransactionSetX12429 +// TransformerX12TransactionSetX12431 +// TransformerX12TransactionSetX12432 +// TransformerX12TransactionSetX12433 +// TransformerX12TransactionSetX12434 +// TransformerX12TransactionSetX12435 +// TransformerX12TransactionSetX12436 +// TransformerX12TransactionSetX12437 +// TransformerX12TransactionSetX12440 +// TransformerX12TransactionSetX12451 +// TransformerX12TransactionSetX12452 +// TransformerX12TransactionSetX12453 +// TransformerX12TransactionSetX12455 +// TransformerX12TransactionSetX12456 +// TransformerX12TransactionSetX12460 +// TransformerX12TransactionSetX12463 +// TransformerX12TransactionSetX12466 +// TransformerX12TransactionSetX12468 +// TransformerX12TransactionSetX12470 +// TransformerX12TransactionSetX12475 +// TransformerX12TransactionSetX12485 +// TransformerX12TransactionSetX12486 +// TransformerX12TransactionSetX12490 +// TransformerX12TransactionSetX12492 +// TransformerX12TransactionSetX12494 +// TransformerX12TransactionSetX12500 +// TransformerX12TransactionSetX12501 +// TransformerX12TransactionSetX12503 +// TransformerX12TransactionSetX12504 +// TransformerX12TransactionSetX12511 +// TransformerX12TransactionSetX12517 +// TransformerX12TransactionSetX12521 +// TransformerX12TransactionSetX12527 +// TransformerX12TransactionSetX12536 +// TransformerX12TransactionSetX12540 +// TransformerX12TransactionSetX12561 +// TransformerX12TransactionSetX12567 +// TransformerX12TransactionSetX12568 +// TransformerX12TransactionSetX12601 +// TransformerX12TransactionSetX12602 +// TransformerX12TransactionSetX12620 +// TransformerX12TransactionSetX12625 +// TransformerX12TransactionSetX12650 +// TransformerX12TransactionSetX12715 +// TransformerX12TransactionSetX12753 +// TransformerX12TransactionSetX12754 +// TransformerX12TransactionSetX12805 +// TransformerX12TransactionSetX12806 // TransformerX12TransactionSetX12810 +// TransformerX12TransactionSetX12811 +// TransformerX12TransactionSetX12812 +// TransformerX12TransactionSetX12813 +// TransformerX12TransactionSetX12814 +// TransformerX12TransactionSetX12815 +// TransformerX12TransactionSetX12816 +// TransformerX12TransactionSetX12818 +// TransformerX12TransactionSetX12819 // TransformerX12TransactionSetX12820 +// TransformerX12TransactionSetX12821 +// TransformerX12TransactionSetX12822 +// TransformerX12TransactionSetX12823 // TransformerX12TransactionSetX12824 +// TransformerX12TransactionSetX12826 +// TransformerX12TransactionSetX12827 +// TransformerX12TransactionSetX12828 +// TransformerX12TransactionSetX12829 // TransformerX12TransactionSetX12830 +// TransformerX12TransactionSetX12831 // TransformerX12TransactionSetX12832 +// TransformerX12TransactionSetX12833 // TransformerX12TransactionSetX12834 // TransformerX12TransactionSetX12835 +// TransformerX12TransactionSetX12836 // TransformerX12TransactionSetX12837 +// TransformerX12TransactionSetX12838 +// TransformerX12TransactionSetX12839 +// TransformerX12TransactionSetX12840 +// TransformerX12TransactionSetX12841 +// TransformerX12TransactionSetX12842 +// TransformerX12TransactionSetX12843 // TransformerX12TransactionSetX12844 +// TransformerX12TransactionSetX12845 // TransformerX12TransactionSetX12846 +// TransformerX12TransactionSetX12847 +// TransformerX12TransactionSetX12848 // TransformerX12TransactionSetX12849 // TransformerX12TransactionSetX12850 +// TransformerX12TransactionSetX12851 // TransformerX12TransactionSetX12852 +// TransformerX12TransactionSetX12853 +// TransformerX12TransactionSetX12854 // TransformerX12TransactionSetX12855 // TransformerX12TransactionSetX12856 +// TransformerX12TransactionSetX12857 +// TransformerX12TransactionSetX12858 +// TransformerX12TransactionSetX12859 // TransformerX12TransactionSetX12860 // TransformerX12TransactionSetX12861 +// TransformerX12TransactionSetX12862 +// TransformerX12TransactionSetX12863 // TransformerX12TransactionSetX12864 // TransformerX12TransactionSetX12865 +// TransformerX12TransactionSetX12866 +// TransformerX12TransactionSetX12867 +// TransformerX12TransactionSetX12868 // TransformerX12TransactionSetX12869 // TransformerX12TransactionSetX12870 +// TransformerX12TransactionSetX12871 +// TransformerX12TransactionSetX12872 +// TransformerX12TransactionSetX12873 +// TransformerX12TransactionSetX12874 +// TransformerX12TransactionSetX12875 +// TransformerX12TransactionSetX12876 +// TransformerX12TransactionSetX12877 +// TransformerX12TransactionSetX12878 +// TransformerX12TransactionSetX12879 +// TransformerX12TransactionSetX12880 +// TransformerX12TransactionSetX12881 +// TransformerX12TransactionSetX12882 +// TransformerX12TransactionSetX12883 +// TransformerX12TransactionSetX12884 +// TransformerX12TransactionSetX12885 +// TransformerX12TransactionSetX12886 +// TransformerX12TransactionSetX12887 +// TransformerX12TransactionSetX12888 +// TransformerX12TransactionSetX12889 +// TransformerX12TransactionSetX12891 +// TransformerX12TransactionSetX12893 +// TransformerX12TransactionSetX12894 +// TransformerX12TransactionSetX12895 +// TransformerX12TransactionSetX12896 +// TransformerX12TransactionSetX12920 +// TransformerX12TransactionSetX12924 +// TransformerX12TransactionSetX12925 +// TransformerX12TransactionSetX12926 +// TransformerX12TransactionSetX12928 // TransformerX12TransactionSetX12940 +// TransformerX12TransactionSetX12943 +// TransformerX12TransactionSetX12944 // TransformerX12TransactionSetX12945 +// TransformerX12TransactionSetX12947 +// TransformerX12TransactionSetX12980 // TransformerX12TransactionSetX12990 +// TransformerX12TransactionSetX12993 +// TransformerX12TransactionSetX12996 // TransformerX12TransactionSetX12997 +// TransformerX12TransactionSetX12998 // TransformerX12TransactionSetX12999 // TransformerX12TransactionSetX12270x279 // TransformerX12TransactionSetX12271x279 @@ -2122,6 +3194,8 @@ type TransformerX12Version string const ( TransformerX12VersionVersion4010 = TransformerX12Version("VERSION_4010") TransformerX12VersionVersion4030 = TransformerX12Version("VERSION_4030") + TransformerX12VersionVersion4050 = TransformerX12Version("VERSION_4050") + TransformerX12VersionVersion4060 = TransformerX12Version("VERSION_4060") TransformerX12VersionVersion5010 = TransformerX12Version("VERSION_5010") TransformerX12VersionVersion5010Hipaa = TransformerX12Version("VERSION_5010_HIPAA") ) @@ -2250,6 +3324,8 @@ func (o TransformerX12VersionPtrOutput) ToStringPtrOutputWithContext(ctx context // // TransformerX12VersionVersion4010 // TransformerX12VersionVersion4030 +// TransformerX12VersionVersion4050 +// TransformerX12VersionVersion4060 // TransformerX12VersionVersion5010 // TransformerX12VersionVersion5010Hipaa type TransformerX12VersionInput interface { @@ -2291,8 +3367,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CapabilityDirectionPtrInput)(nil)).Elem(), CapabilityDirection("INBOUND")) pulumi.RegisterInputType(reflect.TypeOf((*CapabilityTypeInput)(nil)).Elem(), CapabilityType("edi")) pulumi.RegisterInputType(reflect.TypeOf((*CapabilityTypePtrInput)(nil)).Elem(), CapabilityType("edi")) - pulumi.RegisterInputType(reflect.TypeOf((*CapabilityX12TransactionSetInput)(nil)).Elem(), CapabilityX12TransactionSet("X12_110")) - pulumi.RegisterInputType(reflect.TypeOf((*CapabilityX12TransactionSetPtrInput)(nil)).Elem(), CapabilityX12TransactionSet("X12_110")) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityX12TransactionSetInput)(nil)).Elem(), CapabilityX12TransactionSet("X12_100")) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityX12TransactionSetPtrInput)(nil)).Elem(), CapabilityX12TransactionSet("X12_100")) pulumi.RegisterInputType(reflect.TypeOf((*CapabilityX12VersionInput)(nil)).Elem(), CapabilityX12Version("VERSION_4010")) pulumi.RegisterInputType(reflect.TypeOf((*CapabilityX12VersionPtrInput)(nil)).Elem(), CapabilityX12Version("VERSION_4010")) pulumi.RegisterInputType(reflect.TypeOf((*ProfileLoggingInput)(nil)).Elem(), ProfileLogging("ENABLED")) @@ -2307,8 +3383,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TransformerStatusPtrInput)(nil)).Elem(), TransformerStatus("active")) pulumi.RegisterInputType(reflect.TypeOf((*TransformerToFormatInput)(nil)).Elem(), TransformerToFormat("X12")) pulumi.RegisterInputType(reflect.TypeOf((*TransformerToFormatPtrInput)(nil)).Elem(), TransformerToFormat("X12")) - pulumi.RegisterInputType(reflect.TypeOf((*TransformerX12TransactionSetInput)(nil)).Elem(), TransformerX12TransactionSet("X12_110")) - pulumi.RegisterInputType(reflect.TypeOf((*TransformerX12TransactionSetPtrInput)(nil)).Elem(), TransformerX12TransactionSet("X12_110")) + pulumi.RegisterInputType(reflect.TypeOf((*TransformerX12TransactionSetInput)(nil)).Elem(), TransformerX12TransactionSet("X12_100")) + pulumi.RegisterInputType(reflect.TypeOf((*TransformerX12TransactionSetPtrInput)(nil)).Elem(), TransformerX12TransactionSet("X12_100")) pulumi.RegisterInputType(reflect.TypeOf((*TransformerX12VersionInput)(nil)).Elem(), TransformerX12Version("VERSION_4010")) pulumi.RegisterInputType(reflect.TypeOf((*TransformerX12VersionPtrInput)(nil)).Elem(), TransformerX12Version("VERSION_4010")) pulumi.RegisterOutputType(CapabilityDirectionOutput{}) diff --git a/sdk/go/aws/cloudformation/getGuardHook.go b/sdk/go/aws/cloudformation/getGuardHook.go index 0c85fd7cf5..b58e751a8b 100644 --- a/sdk/go/aws/cloudformation/getGuardHook.go +++ b/sdk/go/aws/cloudformation/getGuardHook.go @@ -35,8 +35,10 @@ type LookupGuardHookResult struct { // Attribute to specify which stacks this hook applies to or should get invoked for HookStatus *GuardHookHookStatus `pulumi:"hookStatus"` // S3 Bucket where the guard validate report will be uploaded to - LogBucket *string `pulumi:"logBucket"` - Options *OptionsProperties `pulumi:"options"` + LogBucket *string `pulumi:"logBucket"` + // Specifies the S3 location of your input parameters. + Options *OptionsProperties `pulumi:"options"` + // Specifies the S3 location of your Guard rules. RuleLocation *GuardHookS3Location `pulumi:"ruleLocation"` // Filters to allow hooks to target specific stack attributes StackFilters *StackFiltersProperties `pulumi:"stackFilters"` @@ -108,10 +110,12 @@ func (o LookupGuardHookResultOutput) LogBucket() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupGuardHookResult) *string { return v.LogBucket }).(pulumi.StringPtrOutput) } +// Specifies the S3 location of your input parameters. func (o LookupGuardHookResultOutput) Options() OptionsPropertiesPtrOutput { return o.ApplyT(func(v LookupGuardHookResult) *OptionsProperties { return v.Options }).(OptionsPropertiesPtrOutput) } +// Specifies the S3 location of your Guard rules. func (o LookupGuardHookResultOutput) RuleLocation() GuardHookS3LocationPtrOutput { return o.ApplyT(func(v LookupGuardHookResult) *GuardHookS3Location { return v.RuleLocation }).(GuardHookS3LocationPtrOutput) } diff --git a/sdk/go/aws/cloudformation/guardHook.go b/sdk/go/aws/cloudformation/guardHook.go index 5477e3e144..93cde545da 100644 --- a/sdk/go/aws/cloudformation/guardHook.go +++ b/sdk/go/aws/cloudformation/guardHook.go @@ -27,9 +27,11 @@ type GuardHook struct { // Attribute to specify which stacks this hook applies to or should get invoked for HookStatus GuardHookHookStatusOutput `pulumi:"hookStatus"` // S3 Bucket where the guard validate report will be uploaded to - LogBucket pulumi.StringPtrOutput `pulumi:"logBucket"` - Options OptionsPropertiesPtrOutput `pulumi:"options"` - RuleLocation GuardHookS3LocationOutput `pulumi:"ruleLocation"` + LogBucket pulumi.StringPtrOutput `pulumi:"logBucket"` + // Specifies the S3 location of your input parameters. + Options OptionsPropertiesPtrOutput `pulumi:"options"` + // Specifies the S3 location of your Guard rules. + RuleLocation GuardHookS3LocationOutput `pulumi:"ruleLocation"` // Filters to allow hooks to target specific stack attributes StackFilters StackFiltersPropertiesPtrOutput `pulumi:"stackFilters"` // Attribute to specify which targets should invoke the hook @@ -110,8 +112,10 @@ type guardHookArgs struct { // Attribute to specify which stacks this hook applies to or should get invoked for HookStatus GuardHookHookStatus `pulumi:"hookStatus"` // S3 Bucket where the guard validate report will be uploaded to - LogBucket *string `pulumi:"logBucket"` - Options *OptionsProperties `pulumi:"options"` + LogBucket *string `pulumi:"logBucket"` + // Specifies the S3 location of your input parameters. + Options *OptionsProperties `pulumi:"options"` + // Specifies the S3 location of your Guard rules. RuleLocation GuardHookS3Location `pulumi:"ruleLocation"` // Filters to allow hooks to target specific stack attributes StackFilters *StackFiltersProperties `pulumi:"stackFilters"` @@ -132,8 +136,10 @@ type GuardHookArgs struct { // Attribute to specify which stacks this hook applies to or should get invoked for HookStatus GuardHookHookStatusInput // S3 Bucket where the guard validate report will be uploaded to - LogBucket pulumi.StringPtrInput - Options OptionsPropertiesPtrInput + LogBucket pulumi.StringPtrInput + // Specifies the S3 location of your input parameters. + Options OptionsPropertiesPtrInput + // Specifies the S3 location of your Guard rules. RuleLocation GuardHookS3LocationInput // Filters to allow hooks to target specific stack attributes StackFilters StackFiltersPropertiesPtrInput @@ -210,10 +216,12 @@ func (o GuardHookOutput) LogBucket() pulumi.StringPtrOutput { return o.ApplyT(func(v *GuardHook) pulumi.StringPtrOutput { return v.LogBucket }).(pulumi.StringPtrOutput) } +// Specifies the S3 location of your input parameters. func (o GuardHookOutput) Options() OptionsPropertiesPtrOutput { return o.ApplyT(func(v *GuardHook) OptionsPropertiesPtrOutput { return v.Options }).(OptionsPropertiesPtrOutput) } +// Specifies the S3 location of your Guard rules. func (o GuardHookOutput) RuleLocation() GuardHookS3LocationOutput { return o.ApplyT(func(v *GuardHook) GuardHookS3LocationOutput { return v.RuleLocation }).(GuardHookS3LocationOutput) } diff --git a/sdk/go/aws/cloudformation/pulumiTypes.go b/sdk/go/aws/cloudformation/pulumiTypes.go index 20042a6607..9943b43881 100644 --- a/sdk/go/aws/cloudformation/pulumiTypes.go +++ b/sdk/go/aws/cloudformation/pulumiTypes.go @@ -608,7 +608,9 @@ func (o ManagedExecutionPropertiesPtrOutput) Active() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +// Specifies the S3 location of your input parameters. type OptionsProperties struct { + // Specifies the S3 location where your input parameters are located. InputParams *GuardHookS3Location `pulumi:"inputParams"` } @@ -623,7 +625,9 @@ type OptionsPropertiesInput interface { ToOptionsPropertiesOutputWithContext(context.Context) OptionsPropertiesOutput } +// Specifies the S3 location of your input parameters. type OptionsPropertiesArgs struct { + // Specifies the S3 location where your input parameters are located. InputParams GuardHookS3LocationPtrInput `pulumi:"inputParams"` } @@ -680,6 +684,7 @@ func (i *optionsPropertiesPtrType) ToOptionsPropertiesPtrOutputWithContext(ctx c return pulumi.ToOutputWithContext(ctx, i).(OptionsPropertiesPtrOutput) } +// Specifies the S3 location of your input parameters. type OptionsPropertiesOutput struct{ *pulumi.OutputState } func (OptionsPropertiesOutput) ElementType() reflect.Type { @@ -704,6 +709,7 @@ func (o OptionsPropertiesOutput) ToOptionsPropertiesPtrOutputWithContext(ctx con }).(OptionsPropertiesPtrOutput) } +// Specifies the S3 location where your input parameters are located. func (o OptionsPropertiesOutput) InputParams() GuardHookS3LocationPtrOutput { return o.ApplyT(func(v OptionsProperties) *GuardHookS3Location { return v.InputParams }).(GuardHookS3LocationPtrOutput) } @@ -732,6 +738,7 @@ func (o OptionsPropertiesPtrOutput) Elem() OptionsPropertiesOutput { }).(OptionsPropertiesOutput) } +// Specifies the S3 location where your input parameters are located. func (o OptionsPropertiesPtrOutput) InputParams() GuardHookS3LocationPtrOutput { return o.ApplyT(func(v *OptionsProperties) *GuardHookS3Location { if v == nil { diff --git a/sdk/go/aws/connect/emailAddress.go b/sdk/go/aws/connect/emailAddress.go new file mode 100644 index 0000000000..704e10e535 --- /dev/null +++ b/sdk/go/aws/connect/emailAddress.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 connect + +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::Connect::EmailAddress +type EmailAddress struct { + pulumi.CustomResourceState + + // A description for the email address. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The display name for the email address. + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + // Email address to be created for this instance + EmailAddress pulumi.StringOutput `pulumi:"emailAddress"` + // The identifier of the email address. + EmailAddressArn pulumi.StringOutput `pulumi:"emailAddressArn"` + // The identifier of the Amazon Connect instance. + InstanceArn pulumi.StringOutput `pulumi:"instanceArn"` + // One or more tags. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewEmailAddress registers a new resource with the given unique name, arguments, and options. +func NewEmailAddress(ctx *pulumi.Context, + name string, args *EmailAddressArgs, opts ...pulumi.ResourceOption) (*EmailAddress, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.EmailAddress == nil { + return nil, errors.New("invalid value for required argument 'EmailAddress'") + } + if args.InstanceArn == nil { + return nil, errors.New("invalid value for required argument 'InstanceArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "emailAddress", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EmailAddress + err := ctx.RegisterResource("aws-native:connect:EmailAddress", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEmailAddress gets an existing EmailAddress 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 GetEmailAddress(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EmailAddressState, opts ...pulumi.ResourceOption) (*EmailAddress, error) { + var resource EmailAddress + err := ctx.ReadResource("aws-native:connect:EmailAddress", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EmailAddress resources. +type emailAddressState struct { +} + +type EmailAddressState struct { +} + +func (EmailAddressState) ElementType() reflect.Type { + return reflect.TypeOf((*emailAddressState)(nil)).Elem() +} + +type emailAddressArgs struct { + // A description for the email address. + Description *string `pulumi:"description"` + // The display name for the email address. + DisplayName *string `pulumi:"displayName"` + // Email address to be created for this instance + EmailAddress string `pulumi:"emailAddress"` + // The identifier of the Amazon Connect instance. + InstanceArn string `pulumi:"instanceArn"` + // One or more tags. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a EmailAddress resource. +type EmailAddressArgs struct { + // A description for the email address. + Description pulumi.StringPtrInput + // The display name for the email address. + DisplayName pulumi.StringPtrInput + // Email address to be created for this instance + EmailAddress pulumi.StringInput + // The identifier of the Amazon Connect instance. + InstanceArn pulumi.StringInput + // One or more tags. + Tags aws.TagArrayInput +} + +func (EmailAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*emailAddressArgs)(nil)).Elem() +} + +type EmailAddressInput interface { + pulumi.Input + + ToEmailAddressOutput() EmailAddressOutput + ToEmailAddressOutputWithContext(ctx context.Context) EmailAddressOutput +} + +func (*EmailAddress) ElementType() reflect.Type { + return reflect.TypeOf((**EmailAddress)(nil)).Elem() +} + +func (i *EmailAddress) ToEmailAddressOutput() EmailAddressOutput { + return i.ToEmailAddressOutputWithContext(context.Background()) +} + +func (i *EmailAddress) ToEmailAddressOutputWithContext(ctx context.Context) EmailAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(EmailAddressOutput) +} + +type EmailAddressOutput struct{ *pulumi.OutputState } + +func (EmailAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EmailAddress)(nil)).Elem() +} + +func (o EmailAddressOutput) ToEmailAddressOutput() EmailAddressOutput { + return o +} + +func (o EmailAddressOutput) ToEmailAddressOutputWithContext(ctx context.Context) EmailAddressOutput { + return o +} + +// A description for the email address. +func (o EmailAddressOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EmailAddress) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name for the email address. +func (o EmailAddressOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EmailAddress) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Email address to be created for this instance +func (o EmailAddressOutput) EmailAddress() pulumi.StringOutput { + return o.ApplyT(func(v *EmailAddress) pulumi.StringOutput { return v.EmailAddress }).(pulumi.StringOutput) +} + +// The identifier of the email address. +func (o EmailAddressOutput) EmailAddressArn() pulumi.StringOutput { + return o.ApplyT(func(v *EmailAddress) pulumi.StringOutput { return v.EmailAddressArn }).(pulumi.StringOutput) +} + +// The identifier of the Amazon Connect instance. +func (o EmailAddressOutput) InstanceArn() pulumi.StringOutput { + return o.ApplyT(func(v *EmailAddress) pulumi.StringOutput { return v.InstanceArn }).(pulumi.StringOutput) +} + +// One or more tags. +func (o EmailAddressOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *EmailAddress) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EmailAddressInput)(nil)).Elem(), &EmailAddress{}) + pulumi.RegisterOutputType(EmailAddressOutput{}) +} diff --git a/sdk/go/aws/connect/getEmailAddress.go b/sdk/go/aws/connect/getEmailAddress.go new file mode 100644 index 0000000000..063f3f6f76 --- /dev/null +++ b/sdk/go/aws/connect/getEmailAddress.go @@ -0,0 +1,113 @@ +// 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 connect + +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::Connect::EmailAddress +func LookupEmailAddress(ctx *pulumi.Context, args *LookupEmailAddressArgs, opts ...pulumi.InvokeOption) (*LookupEmailAddressResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupEmailAddressResult + err := ctx.Invoke("aws-native:connect:getEmailAddress", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupEmailAddressArgs struct { + // The identifier of the email address. + EmailAddressArn string `pulumi:"emailAddressArn"` +} + +type LookupEmailAddressResult struct { + // A description for the email address. + Description *string `pulumi:"description"` + // The display name for the email address. + DisplayName *string `pulumi:"displayName"` + // The identifier of the email address. + EmailAddressArn *string `pulumi:"emailAddressArn"` + // The identifier of the Amazon Connect instance. + InstanceArn *string `pulumi:"instanceArn"` + // One or more tags. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupEmailAddressOutput(ctx *pulumi.Context, args LookupEmailAddressOutputArgs, opts ...pulumi.InvokeOption) LookupEmailAddressResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupEmailAddressResultOutput, error) { + args := v.(LookupEmailAddressArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupEmailAddressResult + secret, err := ctx.InvokePackageRaw("aws-native:connect:getEmailAddress", args, &rv, "", opts...) + if err != nil { + return LookupEmailAddressResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupEmailAddressResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupEmailAddressResultOutput), nil + } + return output, nil + }).(LookupEmailAddressResultOutput) +} + +type LookupEmailAddressOutputArgs struct { + // The identifier of the email address. + EmailAddressArn pulumi.StringInput `pulumi:"emailAddressArn"` +} + +func (LookupEmailAddressOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEmailAddressArgs)(nil)).Elem() +} + +type LookupEmailAddressResultOutput struct{ *pulumi.OutputState } + +func (LookupEmailAddressResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupEmailAddressResult)(nil)).Elem() +} + +func (o LookupEmailAddressResultOutput) ToLookupEmailAddressResultOutput() LookupEmailAddressResultOutput { + return o +} + +func (o LookupEmailAddressResultOutput) ToLookupEmailAddressResultOutputWithContext(ctx context.Context) LookupEmailAddressResultOutput { + return o +} + +// A description for the email address. +func (o LookupEmailAddressResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEmailAddressResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name for the email address. +func (o LookupEmailAddressResultOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEmailAddressResult) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// The identifier of the email address. +func (o LookupEmailAddressResultOutput) EmailAddressArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEmailAddressResult) *string { return v.EmailAddressArn }).(pulumi.StringPtrOutput) +} + +// The identifier of the Amazon Connect instance. +func (o LookupEmailAddressResultOutput) InstanceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEmailAddressResult) *string { return v.InstanceArn }).(pulumi.StringPtrOutput) +} + +// One or more tags. +func (o LookupEmailAddressResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupEmailAddressResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupEmailAddressResultOutput{}) +} diff --git a/sdk/go/aws/connect/getHoursOfOperation.go b/sdk/go/aws/connect/getHoursOfOperation.go index ed849e8020..7d5e6b5c26 100644 --- a/sdk/go/aws/connect/getHoursOfOperation.go +++ b/sdk/go/aws/connect/getHoursOfOperation.go @@ -35,6 +35,8 @@ type LookupHoursOfOperationResult struct { Description *string `pulumi:"description"` // The Amazon Resource Name (ARN) for the hours of operation. HoursOfOperationArn *string `pulumi:"hoursOfOperationArn"` + // One or more hours of operation overrides assigned to an hour of operation. + HoursOfOperationOverrides []HoursOfOperationOverride `pulumi:"hoursOfOperationOverrides"` // The identifier of the Amazon Connect instance. InstanceArn *string `pulumi:"instanceArn"` // The name of the hours of operation. @@ -102,6 +104,11 @@ func (o LookupHoursOfOperationResultOutput) HoursOfOperationArn() pulumi.StringP return o.ApplyT(func(v LookupHoursOfOperationResult) *string { return v.HoursOfOperationArn }).(pulumi.StringPtrOutput) } +// One or more hours of operation overrides assigned to an hour of operation. +func (o LookupHoursOfOperationResultOutput) HoursOfOperationOverrides() HoursOfOperationOverrideArrayOutput { + return o.ApplyT(func(v LookupHoursOfOperationResult) []HoursOfOperationOverride { return v.HoursOfOperationOverrides }).(HoursOfOperationOverrideArrayOutput) +} + // The identifier of the Amazon Connect instance. func (o LookupHoursOfOperationResultOutput) InstanceArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupHoursOfOperationResult) *string { return v.InstanceArn }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/connect/hoursOfOperation.go b/sdk/go/aws/connect/hoursOfOperation.go index b2e338104e..7db145c265 100644 --- a/sdk/go/aws/connect/hoursOfOperation.go +++ b/sdk/go/aws/connect/hoursOfOperation.go @@ -73,6 +73,8 @@ type HoursOfOperation struct { Description pulumi.StringPtrOutput `pulumi:"description"` // The Amazon Resource Name (ARN) for the hours of operation. HoursOfOperationArn pulumi.StringOutput `pulumi:"hoursOfOperationArn"` + // One or more hours of operation overrides assigned to an hour of operation. + HoursOfOperationOverrides HoursOfOperationOverrideArrayOutput `pulumi:"hoursOfOperationOverrides"` // The identifier of the Amazon Connect instance. InstanceArn pulumi.StringOutput `pulumi:"instanceArn"` // The name of the hours of operation. @@ -136,6 +138,8 @@ type hoursOfOperationArgs struct { Config []HoursOfOperationConfig `pulumi:"config"` // The description of the hours of operation. Description *string `pulumi:"description"` + // One or more hours of operation overrides assigned to an hour of operation. + HoursOfOperationOverrides []HoursOfOperationOverride `pulumi:"hoursOfOperationOverrides"` // The identifier of the Amazon Connect instance. InstanceArn string `pulumi:"instanceArn"` // The name of the hours of operation. @@ -152,6 +156,8 @@ type HoursOfOperationArgs struct { Config HoursOfOperationConfigArrayInput // The description of the hours of operation. Description pulumi.StringPtrInput + // One or more hours of operation overrides assigned to an hour of operation. + HoursOfOperationOverrides HoursOfOperationOverrideArrayInput // The identifier of the Amazon Connect instance. InstanceArn pulumi.StringInput // The name of the hours of operation. @@ -214,6 +220,11 @@ func (o HoursOfOperationOutput) HoursOfOperationArn() pulumi.StringOutput { return o.ApplyT(func(v *HoursOfOperation) pulumi.StringOutput { return v.HoursOfOperationArn }).(pulumi.StringOutput) } +// One or more hours of operation overrides assigned to an hour of operation. +func (o HoursOfOperationOutput) HoursOfOperationOverrides() HoursOfOperationOverrideArrayOutput { + return o.ApplyT(func(v *HoursOfOperation) HoursOfOperationOverrideArrayOutput { return v.HoursOfOperationOverrides }).(HoursOfOperationOverrideArrayOutput) +} + // The identifier of the Amazon Connect instance. func (o HoursOfOperationOutput) InstanceArn() pulumi.StringOutput { return o.ApplyT(func(v *HoursOfOperation) pulumi.StringOutput { return v.InstanceArn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/connect/init.go b/sdk/go/aws/connect/init.go index 4ddc74bb3d..2939342684 100644 --- a/sdk/go/aws/connect/init.go +++ b/sdk/go/aws/connect/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ContactFlow{} case "aws-native:connect:ContactFlowModule": r = &ContactFlowModule{} + case "aws-native:connect:EmailAddress": + r = &EmailAddress{} case "aws-native:connect:EvaluationForm": r = &EvaluationForm{} case "aws-native:connect:HoursOfOperation": diff --git a/sdk/go/aws/connect/pulumiEnums.go b/sdk/go/aws/connect/pulumiEnums.go index 6e8e92c0e6..32a779aa2c 100644 --- a/sdk/go/aws/connect/pulumiEnums.go +++ b/sdk/go/aws/connect/pulumiEnums.go @@ -2057,6 +2057,182 @@ func (in *hoursOfOperationConfigDayPtr) ToHoursOfOperationConfigDayPtrOutputWith return pulumi.ToOutputWithContext(ctx, in).(HoursOfOperationConfigDayPtrOutput) } +// The day that the hours of operation override applies to. +type HoursOfOperationOverrideConfigDay string + +const ( + HoursOfOperationOverrideConfigDaySunday = HoursOfOperationOverrideConfigDay("SUNDAY") + HoursOfOperationOverrideConfigDayMonday = HoursOfOperationOverrideConfigDay("MONDAY") + HoursOfOperationOverrideConfigDayTuesday = HoursOfOperationOverrideConfigDay("TUESDAY") + HoursOfOperationOverrideConfigDayWednesday = HoursOfOperationOverrideConfigDay("WEDNESDAY") + HoursOfOperationOverrideConfigDayThursday = HoursOfOperationOverrideConfigDay("THURSDAY") + HoursOfOperationOverrideConfigDayFriday = HoursOfOperationOverrideConfigDay("FRIDAY") + HoursOfOperationOverrideConfigDaySaturday = HoursOfOperationOverrideConfigDay("SATURDAY") +) + +func (HoursOfOperationOverrideConfigDay) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverrideConfigDay)(nil)).Elem() +} + +func (e HoursOfOperationOverrideConfigDay) ToHoursOfOperationOverrideConfigDayOutput() HoursOfOperationOverrideConfigDayOutput { + return pulumi.ToOutput(e).(HoursOfOperationOverrideConfigDayOutput) +} + +func (e HoursOfOperationOverrideConfigDay) ToHoursOfOperationOverrideConfigDayOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigDayOutput { + return pulumi.ToOutputWithContext(ctx, e).(HoursOfOperationOverrideConfigDayOutput) +} + +func (e HoursOfOperationOverrideConfigDay) ToHoursOfOperationOverrideConfigDayPtrOutput() HoursOfOperationOverrideConfigDayPtrOutput { + return e.ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(context.Background()) +} + +func (e HoursOfOperationOverrideConfigDay) ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigDayPtrOutput { + return HoursOfOperationOverrideConfigDay(e).ToHoursOfOperationOverrideConfigDayOutputWithContext(ctx).ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(ctx) +} + +func (e HoursOfOperationOverrideConfigDay) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e HoursOfOperationOverrideConfigDay) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e HoursOfOperationOverrideConfigDay) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e HoursOfOperationOverrideConfigDay) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type HoursOfOperationOverrideConfigDayOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideConfigDayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverrideConfigDay)(nil)).Elem() +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToHoursOfOperationOverrideConfigDayOutput() HoursOfOperationOverrideConfigDayOutput { + return o +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToHoursOfOperationOverrideConfigDayOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigDayOutput { + return o +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToHoursOfOperationOverrideConfigDayPtrOutput() HoursOfOperationOverrideConfigDayPtrOutput { + return o.ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(context.Background()) +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigDayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HoursOfOperationOverrideConfigDay) *HoursOfOperationOverrideConfigDay { + return &v + }).(HoursOfOperationOverrideConfigDayPtrOutput) +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e HoursOfOperationOverrideConfigDay) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o HoursOfOperationOverrideConfigDayOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e HoursOfOperationOverrideConfigDay) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type HoursOfOperationOverrideConfigDayPtrOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideConfigDayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HoursOfOperationOverrideConfigDay)(nil)).Elem() +} + +func (o HoursOfOperationOverrideConfigDayPtrOutput) ToHoursOfOperationOverrideConfigDayPtrOutput() HoursOfOperationOverrideConfigDayPtrOutput { + return o +} + +func (o HoursOfOperationOverrideConfigDayPtrOutput) ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigDayPtrOutput { + return o +} + +func (o HoursOfOperationOverrideConfigDayPtrOutput) Elem() HoursOfOperationOverrideConfigDayOutput { + return o.ApplyT(func(v *HoursOfOperationOverrideConfigDay) HoursOfOperationOverrideConfigDay { + if v != nil { + return *v + } + var ret HoursOfOperationOverrideConfigDay + return ret + }).(HoursOfOperationOverrideConfigDayOutput) +} + +func (o HoursOfOperationOverrideConfigDayPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o HoursOfOperationOverrideConfigDayPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *HoursOfOperationOverrideConfigDay) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// HoursOfOperationOverrideConfigDayInput is an input type that accepts values of the HoursOfOperationOverrideConfigDay enum +// A concrete instance of `HoursOfOperationOverrideConfigDayInput` can be one of the following: +// +// HoursOfOperationOverrideConfigDaySunday +// HoursOfOperationOverrideConfigDayMonday +// HoursOfOperationOverrideConfigDayTuesday +// HoursOfOperationOverrideConfigDayWednesday +// HoursOfOperationOverrideConfigDayThursday +// HoursOfOperationOverrideConfigDayFriday +// HoursOfOperationOverrideConfigDaySaturday +type HoursOfOperationOverrideConfigDayInput interface { + pulumi.Input + + ToHoursOfOperationOverrideConfigDayOutput() HoursOfOperationOverrideConfigDayOutput + ToHoursOfOperationOverrideConfigDayOutputWithContext(context.Context) HoursOfOperationOverrideConfigDayOutput +} + +var hoursOfOperationOverrideConfigDayPtrType = reflect.TypeOf((**HoursOfOperationOverrideConfigDay)(nil)).Elem() + +type HoursOfOperationOverrideConfigDayPtrInput interface { + pulumi.Input + + ToHoursOfOperationOverrideConfigDayPtrOutput() HoursOfOperationOverrideConfigDayPtrOutput + ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(context.Context) HoursOfOperationOverrideConfigDayPtrOutput +} + +type hoursOfOperationOverrideConfigDayPtr string + +func HoursOfOperationOverrideConfigDayPtr(v string) HoursOfOperationOverrideConfigDayPtrInput { + return (*hoursOfOperationOverrideConfigDayPtr)(&v) +} + +func (*hoursOfOperationOverrideConfigDayPtr) ElementType() reflect.Type { + return hoursOfOperationOverrideConfigDayPtrType +} + +func (in *hoursOfOperationOverrideConfigDayPtr) ToHoursOfOperationOverrideConfigDayPtrOutput() HoursOfOperationOverrideConfigDayPtrOutput { + return pulumi.ToOutput(in).(HoursOfOperationOverrideConfigDayPtrOutput) +} + +func (in *hoursOfOperationOverrideConfigDayPtr) ToHoursOfOperationOverrideConfigDayPtrOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigDayPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(HoursOfOperationOverrideConfigDayPtrOutput) +} + // Specifies the type of directory integration for new instance. type InstanceIdentityManagementType string @@ -5407,6 +5583,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EvaluationFormStatusPtrInput)(nil)).Elem(), EvaluationFormStatus("DRAFT")) pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationConfigDayInput)(nil)).Elem(), HoursOfOperationConfigDay("SUNDAY")) pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationConfigDayPtrInput)(nil)).Elem(), HoursOfOperationConfigDay("SUNDAY")) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideConfigDayInput)(nil)).Elem(), HoursOfOperationOverrideConfigDay("SUNDAY")) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideConfigDayPtrInput)(nil)).Elem(), HoursOfOperationOverrideConfigDay("SUNDAY")) pulumi.RegisterInputType(reflect.TypeOf((*InstanceIdentityManagementTypeInput)(nil)).Elem(), InstanceIdentityManagementType("SAML")) pulumi.RegisterInputType(reflect.TypeOf((*InstanceIdentityManagementTypePtrInput)(nil)).Elem(), InstanceIdentityManagementType("SAML")) pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigEncryptionTypeInput)(nil)).Elem(), InstanceStorageConfigEncryptionType("KMS")) @@ -5467,6 +5645,8 @@ func init() { pulumi.RegisterOutputType(EvaluationFormStatusPtrOutput{}) pulumi.RegisterOutputType(HoursOfOperationConfigDayOutput{}) pulumi.RegisterOutputType(HoursOfOperationConfigDayPtrOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideConfigDayOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideConfigDayPtrOutput{}) pulumi.RegisterOutputType(InstanceIdentityManagementTypeOutput{}) pulumi.RegisterOutputType(InstanceIdentityManagementTypePtrOutput{}) pulumi.RegisterOutputType(InstanceStatusOutput{}) diff --git a/sdk/go/aws/connect/pulumiTypes.go b/sdk/go/aws/connect/pulumiTypes.go index b0afe6d111..ce7e1bf88d 100644 --- a/sdk/go/aws/connect/pulumiTypes.go +++ b/sdk/go/aws/connect/pulumiTypes.go @@ -215,6 +215,14 @@ type ContactFlowTag struct { Value string `pulumi:"value"` } +// A key-value pair to associate with a resource. +type EmailAddressTag 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"` +} + // An item at the root level. All items must be sections. type EvaluationFormBaseItem struct { // A subsection or inner section of an item. @@ -2755,6 +2763,315 @@ func (o HoursOfOperationConfigArrayOutput) Index(i pulumi.IntInput) HoursOfOpera }).(HoursOfOperationConfigOutput) } +// Overrides attached to the hours of operation. +type HoursOfOperationOverride struct { + EffectiveFrom string `pulumi:"effectiveFrom"` + EffectiveTill string `pulumi:"effectiveTill"` + HoursOfOperationOverrideId *string `pulumi:"hoursOfOperationOverrideId"` + OverrideConfig []HoursOfOperationOverrideConfig `pulumi:"overrideConfig"` + OverrideDescription *string `pulumi:"overrideDescription"` + OverrideName string `pulumi:"overrideName"` +} + +// HoursOfOperationOverrideInput is an input type that accepts HoursOfOperationOverrideArgs and HoursOfOperationOverrideOutput values. +// You can construct a concrete instance of `HoursOfOperationOverrideInput` via: +// +// HoursOfOperationOverrideArgs{...} +type HoursOfOperationOverrideInput interface { + pulumi.Input + + ToHoursOfOperationOverrideOutput() HoursOfOperationOverrideOutput + ToHoursOfOperationOverrideOutputWithContext(context.Context) HoursOfOperationOverrideOutput +} + +// Overrides attached to the hours of operation. +type HoursOfOperationOverrideArgs struct { + EffectiveFrom pulumi.StringInput `pulumi:"effectiveFrom"` + EffectiveTill pulumi.StringInput `pulumi:"effectiveTill"` + HoursOfOperationOverrideId pulumi.StringPtrInput `pulumi:"hoursOfOperationOverrideId"` + OverrideConfig HoursOfOperationOverrideConfigArrayInput `pulumi:"overrideConfig"` + OverrideDescription pulumi.StringPtrInput `pulumi:"overrideDescription"` + OverrideName pulumi.StringInput `pulumi:"overrideName"` +} + +func (HoursOfOperationOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverride)(nil)).Elem() +} + +func (i HoursOfOperationOverrideArgs) ToHoursOfOperationOverrideOutput() HoursOfOperationOverrideOutput { + return i.ToHoursOfOperationOverrideOutputWithContext(context.Background()) +} + +func (i HoursOfOperationOverrideArgs) ToHoursOfOperationOverrideOutputWithContext(ctx context.Context) HoursOfOperationOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(HoursOfOperationOverrideOutput) +} + +// HoursOfOperationOverrideArrayInput is an input type that accepts HoursOfOperationOverrideArray and HoursOfOperationOverrideArrayOutput values. +// You can construct a concrete instance of `HoursOfOperationOverrideArrayInput` via: +// +// HoursOfOperationOverrideArray{ HoursOfOperationOverrideArgs{...} } +type HoursOfOperationOverrideArrayInput interface { + pulumi.Input + + ToHoursOfOperationOverrideArrayOutput() HoursOfOperationOverrideArrayOutput + ToHoursOfOperationOverrideArrayOutputWithContext(context.Context) HoursOfOperationOverrideArrayOutput +} + +type HoursOfOperationOverrideArray []HoursOfOperationOverrideInput + +func (HoursOfOperationOverrideArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HoursOfOperationOverride)(nil)).Elem() +} + +func (i HoursOfOperationOverrideArray) ToHoursOfOperationOverrideArrayOutput() HoursOfOperationOverrideArrayOutput { + return i.ToHoursOfOperationOverrideArrayOutputWithContext(context.Background()) +} + +func (i HoursOfOperationOverrideArray) ToHoursOfOperationOverrideArrayOutputWithContext(ctx context.Context) HoursOfOperationOverrideArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HoursOfOperationOverrideArrayOutput) +} + +// Overrides attached to the hours of operation. +type HoursOfOperationOverrideOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverride)(nil)).Elem() +} + +func (o HoursOfOperationOverrideOutput) ToHoursOfOperationOverrideOutput() HoursOfOperationOverrideOutput { + return o +} + +func (o HoursOfOperationOverrideOutput) ToHoursOfOperationOverrideOutputWithContext(ctx context.Context) HoursOfOperationOverrideOutput { + return o +} + +func (o HoursOfOperationOverrideOutput) EffectiveFrom() pulumi.StringOutput { + return o.ApplyT(func(v HoursOfOperationOverride) string { return v.EffectiveFrom }).(pulumi.StringOutput) +} + +func (o HoursOfOperationOverrideOutput) EffectiveTill() pulumi.StringOutput { + return o.ApplyT(func(v HoursOfOperationOverride) string { return v.EffectiveTill }).(pulumi.StringOutput) +} + +func (o HoursOfOperationOverrideOutput) HoursOfOperationOverrideId() pulumi.StringPtrOutput { + return o.ApplyT(func(v HoursOfOperationOverride) *string { return v.HoursOfOperationOverrideId }).(pulumi.StringPtrOutput) +} + +func (o HoursOfOperationOverrideOutput) OverrideConfig() HoursOfOperationOverrideConfigArrayOutput { + return o.ApplyT(func(v HoursOfOperationOverride) []HoursOfOperationOverrideConfig { return v.OverrideConfig }).(HoursOfOperationOverrideConfigArrayOutput) +} + +func (o HoursOfOperationOverrideOutput) OverrideDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v HoursOfOperationOverride) *string { return v.OverrideDescription }).(pulumi.StringPtrOutput) +} + +func (o HoursOfOperationOverrideOutput) OverrideName() pulumi.StringOutput { + return o.ApplyT(func(v HoursOfOperationOverride) string { return v.OverrideName }).(pulumi.StringOutput) +} + +type HoursOfOperationOverrideArrayOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HoursOfOperationOverride)(nil)).Elem() +} + +func (o HoursOfOperationOverrideArrayOutput) ToHoursOfOperationOverrideArrayOutput() HoursOfOperationOverrideArrayOutput { + return o +} + +func (o HoursOfOperationOverrideArrayOutput) ToHoursOfOperationOverrideArrayOutputWithContext(ctx context.Context) HoursOfOperationOverrideArrayOutput { + return o +} + +func (o HoursOfOperationOverrideArrayOutput) Index(i pulumi.IntInput) HoursOfOperationOverrideOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HoursOfOperationOverride { + return vs[0].([]HoursOfOperationOverride)[vs[1].(int)] + }).(HoursOfOperationOverrideOutput) +} + +// Contains information about the hours of operation override. +type HoursOfOperationOverrideConfig struct { + // The day that the hours of operation override applies to. + Day HoursOfOperationOverrideConfigDay `pulumi:"day"` + // The new end time that your contact center closes for the overriden days. + EndTime HoursOfOperationOverrideTimeSlice `pulumi:"endTime"` + // The new start time that your contact center opens for the overriden days. + StartTime HoursOfOperationOverrideTimeSlice `pulumi:"startTime"` +} + +// HoursOfOperationOverrideConfigInput is an input type that accepts HoursOfOperationOverrideConfigArgs and HoursOfOperationOverrideConfigOutput values. +// You can construct a concrete instance of `HoursOfOperationOverrideConfigInput` via: +// +// HoursOfOperationOverrideConfigArgs{...} +type HoursOfOperationOverrideConfigInput interface { + pulumi.Input + + ToHoursOfOperationOverrideConfigOutput() HoursOfOperationOverrideConfigOutput + ToHoursOfOperationOverrideConfigOutputWithContext(context.Context) HoursOfOperationOverrideConfigOutput +} + +// Contains information about the hours of operation override. +type HoursOfOperationOverrideConfigArgs struct { + // The day that the hours of operation override applies to. + Day HoursOfOperationOverrideConfigDayInput `pulumi:"day"` + // The new end time that your contact center closes for the overriden days. + EndTime HoursOfOperationOverrideTimeSliceInput `pulumi:"endTime"` + // The new start time that your contact center opens for the overriden days. + StartTime HoursOfOperationOverrideTimeSliceInput `pulumi:"startTime"` +} + +func (HoursOfOperationOverrideConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverrideConfig)(nil)).Elem() +} + +func (i HoursOfOperationOverrideConfigArgs) ToHoursOfOperationOverrideConfigOutput() HoursOfOperationOverrideConfigOutput { + return i.ToHoursOfOperationOverrideConfigOutputWithContext(context.Background()) +} + +func (i HoursOfOperationOverrideConfigArgs) ToHoursOfOperationOverrideConfigOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(HoursOfOperationOverrideConfigOutput) +} + +// HoursOfOperationOverrideConfigArrayInput is an input type that accepts HoursOfOperationOverrideConfigArray and HoursOfOperationOverrideConfigArrayOutput values. +// You can construct a concrete instance of `HoursOfOperationOverrideConfigArrayInput` via: +// +// HoursOfOperationOverrideConfigArray{ HoursOfOperationOverrideConfigArgs{...} } +type HoursOfOperationOverrideConfigArrayInput interface { + pulumi.Input + + ToHoursOfOperationOverrideConfigArrayOutput() HoursOfOperationOverrideConfigArrayOutput + ToHoursOfOperationOverrideConfigArrayOutputWithContext(context.Context) HoursOfOperationOverrideConfigArrayOutput +} + +type HoursOfOperationOverrideConfigArray []HoursOfOperationOverrideConfigInput + +func (HoursOfOperationOverrideConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]HoursOfOperationOverrideConfig)(nil)).Elem() +} + +func (i HoursOfOperationOverrideConfigArray) ToHoursOfOperationOverrideConfigArrayOutput() HoursOfOperationOverrideConfigArrayOutput { + return i.ToHoursOfOperationOverrideConfigArrayOutputWithContext(context.Background()) +} + +func (i HoursOfOperationOverrideConfigArray) ToHoursOfOperationOverrideConfigArrayOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HoursOfOperationOverrideConfigArrayOutput) +} + +// Contains information about the hours of operation override. +type HoursOfOperationOverrideConfigOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverrideConfig)(nil)).Elem() +} + +func (o HoursOfOperationOverrideConfigOutput) ToHoursOfOperationOverrideConfigOutput() HoursOfOperationOverrideConfigOutput { + return o +} + +func (o HoursOfOperationOverrideConfigOutput) ToHoursOfOperationOverrideConfigOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigOutput { + return o +} + +// The day that the hours of operation override applies to. +func (o HoursOfOperationOverrideConfigOutput) Day() HoursOfOperationOverrideConfigDayOutput { + return o.ApplyT(func(v HoursOfOperationOverrideConfig) HoursOfOperationOverrideConfigDay { return v.Day }).(HoursOfOperationOverrideConfigDayOutput) +} + +// The new end time that your contact center closes for the overriden days. +func (o HoursOfOperationOverrideConfigOutput) EndTime() HoursOfOperationOverrideTimeSliceOutput { + return o.ApplyT(func(v HoursOfOperationOverrideConfig) HoursOfOperationOverrideTimeSlice { return v.EndTime }).(HoursOfOperationOverrideTimeSliceOutput) +} + +// The new start time that your contact center opens for the overriden days. +func (o HoursOfOperationOverrideConfigOutput) StartTime() HoursOfOperationOverrideTimeSliceOutput { + return o.ApplyT(func(v HoursOfOperationOverrideConfig) HoursOfOperationOverrideTimeSlice { return v.StartTime }).(HoursOfOperationOverrideTimeSliceOutput) +} + +type HoursOfOperationOverrideConfigArrayOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HoursOfOperationOverrideConfig)(nil)).Elem() +} + +func (o HoursOfOperationOverrideConfigArrayOutput) ToHoursOfOperationOverrideConfigArrayOutput() HoursOfOperationOverrideConfigArrayOutput { + return o +} + +func (o HoursOfOperationOverrideConfigArrayOutput) ToHoursOfOperationOverrideConfigArrayOutputWithContext(ctx context.Context) HoursOfOperationOverrideConfigArrayOutput { + return o +} + +func (o HoursOfOperationOverrideConfigArrayOutput) Index(i pulumi.IntInput) HoursOfOperationOverrideConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HoursOfOperationOverrideConfig { + return vs[0].([]HoursOfOperationOverrideConfig)[vs[1].(int)] + }).(HoursOfOperationOverrideConfigOutput) +} + +// The start time or end time for an an hours of operation override. +type HoursOfOperationOverrideTimeSlice struct { + // The hours. + Hours int `pulumi:"hours"` + // The minutes. + Minutes int `pulumi:"minutes"` +} + +// HoursOfOperationOverrideTimeSliceInput is an input type that accepts HoursOfOperationOverrideTimeSliceArgs and HoursOfOperationOverrideTimeSliceOutput values. +// You can construct a concrete instance of `HoursOfOperationOverrideTimeSliceInput` via: +// +// HoursOfOperationOverrideTimeSliceArgs{...} +type HoursOfOperationOverrideTimeSliceInput interface { + pulumi.Input + + ToHoursOfOperationOverrideTimeSliceOutput() HoursOfOperationOverrideTimeSliceOutput + ToHoursOfOperationOverrideTimeSliceOutputWithContext(context.Context) HoursOfOperationOverrideTimeSliceOutput +} + +// The start time or end time for an an hours of operation override. +type HoursOfOperationOverrideTimeSliceArgs struct { + // The hours. + Hours pulumi.IntInput `pulumi:"hours"` + // The minutes. + Minutes pulumi.IntInput `pulumi:"minutes"` +} + +func (HoursOfOperationOverrideTimeSliceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverrideTimeSlice)(nil)).Elem() +} + +func (i HoursOfOperationOverrideTimeSliceArgs) ToHoursOfOperationOverrideTimeSliceOutput() HoursOfOperationOverrideTimeSliceOutput { + return i.ToHoursOfOperationOverrideTimeSliceOutputWithContext(context.Background()) +} + +func (i HoursOfOperationOverrideTimeSliceArgs) ToHoursOfOperationOverrideTimeSliceOutputWithContext(ctx context.Context) HoursOfOperationOverrideTimeSliceOutput { + return pulumi.ToOutputWithContext(ctx, i).(HoursOfOperationOverrideTimeSliceOutput) +} + +// The start time or end time for an an hours of operation override. +type HoursOfOperationOverrideTimeSliceOutput struct{ *pulumi.OutputState } + +func (HoursOfOperationOverrideTimeSliceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HoursOfOperationOverrideTimeSlice)(nil)).Elem() +} + +func (o HoursOfOperationOverrideTimeSliceOutput) ToHoursOfOperationOverrideTimeSliceOutput() HoursOfOperationOverrideTimeSliceOutput { + return o +} + +func (o HoursOfOperationOverrideTimeSliceOutput) ToHoursOfOperationOverrideTimeSliceOutputWithContext(ctx context.Context) HoursOfOperationOverrideTimeSliceOutput { + return o +} + +// The hours. +func (o HoursOfOperationOverrideTimeSliceOutput) Hours() pulumi.IntOutput { + return o.ApplyT(func(v HoursOfOperationOverrideTimeSlice) int { return v.Hours }).(pulumi.IntOutput) +} + +// The minutes. +func (o HoursOfOperationOverrideTimeSliceOutput) Minutes() pulumi.IntOutput { + return o.ApplyT(func(v HoursOfOperationOverrideTimeSlice) int { return v.Minutes }).(pulumi.IntOutput) +} + // A key-value pair to associate with a resource. type HoursOfOperationTag 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 -. @@ -9130,6 +9447,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EvaluationFormSingleSelectQuestionRuleCategoryAutomationInput)(nil)).Elem(), EvaluationFormSingleSelectQuestionRuleCategoryAutomationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationConfigInput)(nil)).Elem(), HoursOfOperationConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationConfigArrayInput)(nil)).Elem(), HoursOfOperationConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideInput)(nil)).Elem(), HoursOfOperationOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideArrayInput)(nil)).Elem(), HoursOfOperationOverrideArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideConfigInput)(nil)).Elem(), HoursOfOperationOverrideConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideConfigArrayInput)(nil)).Elem(), HoursOfOperationOverrideConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationOverrideTimeSliceInput)(nil)).Elem(), HoursOfOperationOverrideTimeSliceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HoursOfOperationTimeSliceInput)(nil)).Elem(), HoursOfOperationTimeSliceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceAttributesInput)(nil)).Elem(), InstanceAttributesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigEncryptionConfigInput)(nil)).Elem(), InstanceStorageConfigEncryptionConfigArgs{}) @@ -9248,6 +9570,11 @@ func init() { pulumi.RegisterOutputType(EvaluationFormSingleSelectQuestionRuleCategoryAutomationOutput{}) pulumi.RegisterOutputType(HoursOfOperationConfigOutput{}) pulumi.RegisterOutputType(HoursOfOperationConfigArrayOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideArrayOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideConfigOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideConfigArrayOutput{}) + pulumi.RegisterOutputType(HoursOfOperationOverrideTimeSliceOutput{}) pulumi.RegisterOutputType(HoursOfOperationTimeSliceOutput{}) pulumi.RegisterOutputType(InstanceAttributesOutput{}) pulumi.RegisterOutputType(InstanceAttributesPtrOutput{}) diff --git a/sdk/go/aws/customerprofiles/getIntegration.go b/sdk/go/aws/customerprofiles/getIntegration.go index 876c00e44d..5eb8a7826e 100644 --- a/sdk/go/aws/customerprofiles/getIntegration.go +++ b/sdk/go/aws/customerprofiles/getIntegration.go @@ -33,6 +33,8 @@ type LookupIntegrationArgs struct { type LookupIntegrationResult struct { // The time of this integration got created CreatedAt *string `pulumi:"createdAt"` + // A list of unique names for active event triggers associated with the integration. + EventTriggerNames []string `pulumi:"eventTriggerNames"` // The time of this integration got last updated at LastUpdatedAt *string `pulumi:"lastUpdatedAt"` // The name of the ObjectType defined for the 3rd party data in Profile Service @@ -92,6 +94,11 @@ func (o LookupIntegrationResultOutput) CreatedAt() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIntegrationResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) } +// A list of unique names for active event triggers associated with the integration. +func (o LookupIntegrationResultOutput) EventTriggerNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupIntegrationResult) []string { return v.EventTriggerNames }).(pulumi.StringArrayOutput) +} + // The time of this integration got last updated at func (o LookupIntegrationResultOutput) LastUpdatedAt() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIntegrationResult) *string { return v.LastUpdatedAt }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/customerprofiles/getSegmentDefinition.go b/sdk/go/aws/customerprofiles/getSegmentDefinition.go new file mode 100644 index 0000000000..464c8b2844 --- /dev/null +++ b/sdk/go/aws/customerprofiles/getSegmentDefinition.go @@ -0,0 +1,110 @@ +// 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 customerprofiles + +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" +) + +// A segment definition resource of Amazon Connect Customer Profiles +func LookupSegmentDefinition(ctx *pulumi.Context, args *LookupSegmentDefinitionArgs, opts ...pulumi.InvokeOption) (*LookupSegmentDefinitionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSegmentDefinitionResult + err := ctx.Invoke("aws-native:customerprofiles:getSegmentDefinition", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupSegmentDefinitionArgs struct { + // The unique name of the domain. + DomainName string `pulumi:"domainName"` + // The unique name of the segment definition. + SegmentDefinitionName string `pulumi:"segmentDefinitionName"` +} + +type LookupSegmentDefinitionResult struct { + // The time of this segment definition got created. + CreatedAt *string `pulumi:"createdAt"` + // The description of the segment definition. + Description *string `pulumi:"description"` + // The Amazon Resource Name (ARN) of the segment definition. + SegmentDefinitionArn *string `pulumi:"segmentDefinitionArn"` + // The tags used to organize, track, or control access for this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupSegmentDefinitionOutput(ctx *pulumi.Context, args LookupSegmentDefinitionOutputArgs, opts ...pulumi.InvokeOption) LookupSegmentDefinitionResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupSegmentDefinitionResultOutput, error) { + args := v.(LookupSegmentDefinitionArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSegmentDefinitionResult + secret, err := ctx.InvokePackageRaw("aws-native:customerprofiles:getSegmentDefinition", args, &rv, "", opts...) + if err != nil { + return LookupSegmentDefinitionResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupSegmentDefinitionResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupSegmentDefinitionResultOutput), nil + } + return output, nil + }).(LookupSegmentDefinitionResultOutput) +} + +type LookupSegmentDefinitionOutputArgs struct { + // The unique name of the domain. + DomainName pulumi.StringInput `pulumi:"domainName"` + // The unique name of the segment definition. + SegmentDefinitionName pulumi.StringInput `pulumi:"segmentDefinitionName"` +} + +func (LookupSegmentDefinitionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSegmentDefinitionArgs)(nil)).Elem() +} + +type LookupSegmentDefinitionResultOutput struct{ *pulumi.OutputState } + +func (LookupSegmentDefinitionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSegmentDefinitionResult)(nil)).Elem() +} + +func (o LookupSegmentDefinitionResultOutput) ToLookupSegmentDefinitionResultOutput() LookupSegmentDefinitionResultOutput { + return o +} + +func (o LookupSegmentDefinitionResultOutput) ToLookupSegmentDefinitionResultOutputWithContext(ctx context.Context) LookupSegmentDefinitionResultOutput { + return o +} + +// The time of this segment definition got created. +func (o LookupSegmentDefinitionResultOutput) CreatedAt() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSegmentDefinitionResult) *string { return v.CreatedAt }).(pulumi.StringPtrOutput) +} + +// The description of the segment definition. +func (o LookupSegmentDefinitionResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSegmentDefinitionResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the segment definition. +func (o LookupSegmentDefinitionResultOutput) SegmentDefinitionArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSegmentDefinitionResult) *string { return v.SegmentDefinitionArn }).(pulumi.StringPtrOutput) +} + +// The tags used to organize, track, or control access for this resource. +func (o LookupSegmentDefinitionResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupSegmentDefinitionResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSegmentDefinitionResultOutput{}) +} diff --git a/sdk/go/aws/customerprofiles/init.go b/sdk/go/aws/customerprofiles/init.go index 361c9654d8..465d27c28c 100644 --- a/sdk/go/aws/customerprofiles/init.go +++ b/sdk/go/aws/customerprofiles/init.go @@ -31,6 +31,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Integration{} case "aws-native:customerprofiles:ObjectType": r = &ObjectType{} + case "aws-native:customerprofiles:SegmentDefinition": + r = &SegmentDefinition{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } diff --git a/sdk/go/aws/customerprofiles/integration.go b/sdk/go/aws/customerprofiles/integration.go index 57fd380520..943a5b33f0 100644 --- a/sdk/go/aws/customerprofiles/integration.go +++ b/sdk/go/aws/customerprofiles/integration.go @@ -21,6 +21,8 @@ type Integration struct { CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // The unique name of the domain. DomainName pulumi.StringOutput `pulumi:"domainName"` + // A list of unique names for active event triggers associated with the integration. + EventTriggerNames pulumi.StringArrayOutput `pulumi:"eventTriggerNames"` // The configuration that controls how Customer Profiles retrieves data from the source. FlowDefinition IntegrationFlowDefinitionPtrOutput `pulumi:"flowDefinition"` // The time of this integration got last updated at @@ -85,6 +87,8 @@ func (IntegrationState) ElementType() reflect.Type { type integrationArgs struct { // The unique name of the domain. DomainName string `pulumi:"domainName"` + // A list of unique names for active event triggers associated with the integration. + EventTriggerNames []string `pulumi:"eventTriggerNames"` // The configuration that controls how Customer Profiles retrieves data from the source. FlowDefinition *IntegrationFlowDefinition `pulumi:"flowDefinition"` // The name of the ObjectType defined for the 3rd party data in Profile Service @@ -101,6 +105,8 @@ type integrationArgs struct { type IntegrationArgs struct { // The unique name of the domain. DomainName pulumi.StringInput + // A list of unique names for active event triggers associated with the integration. + EventTriggerNames pulumi.StringArrayInput // The configuration that controls how Customer Profiles retrieves data from the source. FlowDefinition IntegrationFlowDefinitionPtrInput // The name of the ObjectType defined for the 3rd party data in Profile Service @@ -160,6 +166,11 @@ func (o IntegrationOutput) DomainName() pulumi.StringOutput { return o.ApplyT(func(v *Integration) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) } +// A list of unique names for active event triggers associated with the integration. +func (o IntegrationOutput) EventTriggerNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Integration) pulumi.StringArrayOutput { return v.EventTriggerNames }).(pulumi.StringArrayOutput) +} + // The configuration that controls how Customer Profiles retrieves data from the source. func (o IntegrationOutput) FlowDefinition() IntegrationFlowDefinitionPtrOutput { return o.ApplyT(func(v *Integration) IntegrationFlowDefinitionPtrOutput { return v.FlowDefinition }).(IntegrationFlowDefinitionPtrOutput) diff --git a/sdk/go/aws/customerprofiles/pulumiEnums.go b/sdk/go/aws/customerprofiles/pulumiEnums.go index e0e4bad85b..76850e8d6a 100644 --- a/sdk/go/aws/customerprofiles/pulumiEnums.go +++ b/sdk/go/aws/customerprofiles/pulumiEnums.go @@ -3631,6 +3631,874 @@ func (o ObjectTypeKeyStandardIdentifiersItemArrayOutput) Index(i pulumi.IntInput }).(ObjectTypeKeyStandardIdentifiersItemOutput) } +// The type of segment dimension to use. +type SegmentDefinitionAttributeDimensionType string + +const ( + SegmentDefinitionAttributeDimensionTypeInclusive = SegmentDefinitionAttributeDimensionType("INCLUSIVE") + SegmentDefinitionAttributeDimensionTypeExclusive = SegmentDefinitionAttributeDimensionType("EXCLUSIVE") + SegmentDefinitionAttributeDimensionTypeContains = SegmentDefinitionAttributeDimensionType("CONTAINS") + SegmentDefinitionAttributeDimensionTypeBeginsWith = SegmentDefinitionAttributeDimensionType("BEGINS_WITH") + SegmentDefinitionAttributeDimensionTypeEndsWith = SegmentDefinitionAttributeDimensionType("ENDS_WITH") + SegmentDefinitionAttributeDimensionTypeBefore = SegmentDefinitionAttributeDimensionType("BEFORE") + SegmentDefinitionAttributeDimensionTypeAfter = SegmentDefinitionAttributeDimensionType("AFTER") + SegmentDefinitionAttributeDimensionTypeBetween = SegmentDefinitionAttributeDimensionType("BETWEEN") + SegmentDefinitionAttributeDimensionTypeNotBetween = SegmentDefinitionAttributeDimensionType("NOT_BETWEEN") + SegmentDefinitionAttributeDimensionTypeOn = SegmentDefinitionAttributeDimensionType("ON") + SegmentDefinitionAttributeDimensionTypeGreaterThan = SegmentDefinitionAttributeDimensionType("GREATER_THAN") + SegmentDefinitionAttributeDimensionTypeLessThan = SegmentDefinitionAttributeDimensionType("LESS_THAN") + SegmentDefinitionAttributeDimensionTypeGreaterThanOrEqual = SegmentDefinitionAttributeDimensionType("GREATER_THAN_OR_EQUAL") + SegmentDefinitionAttributeDimensionTypeLessThanOrEqual = SegmentDefinitionAttributeDimensionType("LESS_THAN_OR_EQUAL") + SegmentDefinitionAttributeDimensionTypeEqual = SegmentDefinitionAttributeDimensionType("EQUAL") +) + +func (SegmentDefinitionAttributeDimensionType) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionAttributeDimensionType)(nil)).Elem() +} + +func (e SegmentDefinitionAttributeDimensionType) ToSegmentDefinitionAttributeDimensionTypeOutput() SegmentDefinitionAttributeDimensionTypeOutput { + return pulumi.ToOutput(e).(SegmentDefinitionAttributeDimensionTypeOutput) +} + +func (e SegmentDefinitionAttributeDimensionType) ToSegmentDefinitionAttributeDimensionTypeOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(SegmentDefinitionAttributeDimensionTypeOutput) +} + +func (e SegmentDefinitionAttributeDimensionType) ToSegmentDefinitionAttributeDimensionTypePtrOutput() SegmentDefinitionAttributeDimensionTypePtrOutput { + return e.ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionAttributeDimensionType) ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionTypePtrOutput { + return SegmentDefinitionAttributeDimensionType(e).ToSegmentDefinitionAttributeDimensionTypeOutputWithContext(ctx).ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(ctx) +} + +func (e SegmentDefinitionAttributeDimensionType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionAttributeDimensionType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionAttributeDimensionType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionAttributeDimensionType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type SegmentDefinitionAttributeDimensionTypeOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionAttributeDimensionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionAttributeDimensionType)(nil)).Elem() +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToSegmentDefinitionAttributeDimensionTypeOutput() SegmentDefinitionAttributeDimensionTypeOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToSegmentDefinitionAttributeDimensionTypeOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionTypeOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToSegmentDefinitionAttributeDimensionTypePtrOutput() SegmentDefinitionAttributeDimensionTypePtrOutput { + return o.ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionAttributeDimensionType) *SegmentDefinitionAttributeDimensionType { + return &v + }).(SegmentDefinitionAttributeDimensionTypePtrOutput) +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionAttributeDimensionType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionAttributeDimensionTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionAttributeDimensionType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SegmentDefinitionAttributeDimensionTypePtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionAttributeDimensionTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionAttributeDimensionType)(nil)).Elem() +} + +func (o SegmentDefinitionAttributeDimensionTypePtrOutput) ToSegmentDefinitionAttributeDimensionTypePtrOutput() SegmentDefinitionAttributeDimensionTypePtrOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionTypePtrOutput) ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionTypePtrOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionTypePtrOutput) Elem() SegmentDefinitionAttributeDimensionTypeOutput { + return o.ApplyT(func(v *SegmentDefinitionAttributeDimensionType) SegmentDefinitionAttributeDimensionType { + if v != nil { + return *v + } + var ret SegmentDefinitionAttributeDimensionType + return ret + }).(SegmentDefinitionAttributeDimensionTypeOutput) +} + +func (o SegmentDefinitionAttributeDimensionTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionAttributeDimensionTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SegmentDefinitionAttributeDimensionType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// SegmentDefinitionAttributeDimensionTypeInput is an input type that accepts values of the SegmentDefinitionAttributeDimensionType enum +// A concrete instance of `SegmentDefinitionAttributeDimensionTypeInput` can be one of the following: +// +// SegmentDefinitionAttributeDimensionTypeInclusive +// SegmentDefinitionAttributeDimensionTypeExclusive +// SegmentDefinitionAttributeDimensionTypeContains +// SegmentDefinitionAttributeDimensionTypeBeginsWith +// SegmentDefinitionAttributeDimensionTypeEndsWith +// SegmentDefinitionAttributeDimensionTypeBefore +// SegmentDefinitionAttributeDimensionTypeAfter +// SegmentDefinitionAttributeDimensionTypeBetween +// SegmentDefinitionAttributeDimensionTypeNotBetween +// SegmentDefinitionAttributeDimensionTypeOn +// SegmentDefinitionAttributeDimensionTypeGreaterThan +// SegmentDefinitionAttributeDimensionTypeLessThan +// SegmentDefinitionAttributeDimensionTypeGreaterThanOrEqual +// SegmentDefinitionAttributeDimensionTypeLessThanOrEqual +// SegmentDefinitionAttributeDimensionTypeEqual +type SegmentDefinitionAttributeDimensionTypeInput interface { + pulumi.Input + + ToSegmentDefinitionAttributeDimensionTypeOutput() SegmentDefinitionAttributeDimensionTypeOutput + ToSegmentDefinitionAttributeDimensionTypeOutputWithContext(context.Context) SegmentDefinitionAttributeDimensionTypeOutput +} + +var segmentDefinitionAttributeDimensionTypePtrType = reflect.TypeOf((**SegmentDefinitionAttributeDimensionType)(nil)).Elem() + +type SegmentDefinitionAttributeDimensionTypePtrInput interface { + pulumi.Input + + ToSegmentDefinitionAttributeDimensionTypePtrOutput() SegmentDefinitionAttributeDimensionTypePtrOutput + ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(context.Context) SegmentDefinitionAttributeDimensionTypePtrOutput +} + +type segmentDefinitionAttributeDimensionTypePtr string + +func SegmentDefinitionAttributeDimensionTypePtr(v string) SegmentDefinitionAttributeDimensionTypePtrInput { + return (*segmentDefinitionAttributeDimensionTypePtr)(&v) +} + +func (*segmentDefinitionAttributeDimensionTypePtr) ElementType() reflect.Type { + return segmentDefinitionAttributeDimensionTypePtrType +} + +func (in *segmentDefinitionAttributeDimensionTypePtr) ToSegmentDefinitionAttributeDimensionTypePtrOutput() SegmentDefinitionAttributeDimensionTypePtrOutput { + return pulumi.ToOutput(in).(SegmentDefinitionAttributeDimensionTypePtrOutput) +} + +func (in *segmentDefinitionAttributeDimensionTypePtr) ToSegmentDefinitionAttributeDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SegmentDefinitionAttributeDimensionTypePtrOutput) +} + +// The type of segment dimension to use for a date dimension. +type SegmentDefinitionDateDimensionType string + +const ( + SegmentDefinitionDateDimensionTypeBefore = SegmentDefinitionDateDimensionType("BEFORE") + SegmentDefinitionDateDimensionTypeAfter = SegmentDefinitionDateDimensionType("AFTER") + SegmentDefinitionDateDimensionTypeBetween = SegmentDefinitionDateDimensionType("BETWEEN") + SegmentDefinitionDateDimensionTypeNotBetween = SegmentDefinitionDateDimensionType("NOT_BETWEEN") + SegmentDefinitionDateDimensionTypeOn = SegmentDefinitionDateDimensionType("ON") +) + +func (SegmentDefinitionDateDimensionType) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDateDimensionType)(nil)).Elem() +} + +func (e SegmentDefinitionDateDimensionType) ToSegmentDefinitionDateDimensionTypeOutput() SegmentDefinitionDateDimensionTypeOutput { + return pulumi.ToOutput(e).(SegmentDefinitionDateDimensionTypeOutput) +} + +func (e SegmentDefinitionDateDimensionType) ToSegmentDefinitionDateDimensionTypeOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(SegmentDefinitionDateDimensionTypeOutput) +} + +func (e SegmentDefinitionDateDimensionType) ToSegmentDefinitionDateDimensionTypePtrOutput() SegmentDefinitionDateDimensionTypePtrOutput { + return e.ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionDateDimensionType) ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionTypePtrOutput { + return SegmentDefinitionDateDimensionType(e).ToSegmentDefinitionDateDimensionTypeOutputWithContext(ctx).ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(ctx) +} + +func (e SegmentDefinitionDateDimensionType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionDateDimensionType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionDateDimensionType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionDateDimensionType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type SegmentDefinitionDateDimensionTypeOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionDateDimensionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDateDimensionType)(nil)).Elem() +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToSegmentDefinitionDateDimensionTypeOutput() SegmentDefinitionDateDimensionTypeOutput { + return o +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToSegmentDefinitionDateDimensionTypeOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionTypeOutput { + return o +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToSegmentDefinitionDateDimensionTypePtrOutput() SegmentDefinitionDateDimensionTypePtrOutput { + return o.ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionDateDimensionType) *SegmentDefinitionDateDimensionType { + return &v + }).(SegmentDefinitionDateDimensionTypePtrOutput) +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionDateDimensionType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionDateDimensionTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionDateDimensionType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SegmentDefinitionDateDimensionTypePtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionDateDimensionTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionDateDimensionType)(nil)).Elem() +} + +func (o SegmentDefinitionDateDimensionTypePtrOutput) ToSegmentDefinitionDateDimensionTypePtrOutput() SegmentDefinitionDateDimensionTypePtrOutput { + return o +} + +func (o SegmentDefinitionDateDimensionTypePtrOutput) ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionTypePtrOutput { + return o +} + +func (o SegmentDefinitionDateDimensionTypePtrOutput) Elem() SegmentDefinitionDateDimensionTypeOutput { + return o.ApplyT(func(v *SegmentDefinitionDateDimensionType) SegmentDefinitionDateDimensionType { + if v != nil { + return *v + } + var ret SegmentDefinitionDateDimensionType + return ret + }).(SegmentDefinitionDateDimensionTypeOutput) +} + +func (o SegmentDefinitionDateDimensionTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionDateDimensionTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SegmentDefinitionDateDimensionType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// SegmentDefinitionDateDimensionTypeInput is an input type that accepts values of the SegmentDefinitionDateDimensionType enum +// A concrete instance of `SegmentDefinitionDateDimensionTypeInput` can be one of the following: +// +// SegmentDefinitionDateDimensionTypeBefore +// SegmentDefinitionDateDimensionTypeAfter +// SegmentDefinitionDateDimensionTypeBetween +// SegmentDefinitionDateDimensionTypeNotBetween +// SegmentDefinitionDateDimensionTypeOn +type SegmentDefinitionDateDimensionTypeInput interface { + pulumi.Input + + ToSegmentDefinitionDateDimensionTypeOutput() SegmentDefinitionDateDimensionTypeOutput + ToSegmentDefinitionDateDimensionTypeOutputWithContext(context.Context) SegmentDefinitionDateDimensionTypeOutput +} + +var segmentDefinitionDateDimensionTypePtrType = reflect.TypeOf((**SegmentDefinitionDateDimensionType)(nil)).Elem() + +type SegmentDefinitionDateDimensionTypePtrInput interface { + pulumi.Input + + ToSegmentDefinitionDateDimensionTypePtrOutput() SegmentDefinitionDateDimensionTypePtrOutput + ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(context.Context) SegmentDefinitionDateDimensionTypePtrOutput +} + +type segmentDefinitionDateDimensionTypePtr string + +func SegmentDefinitionDateDimensionTypePtr(v string) SegmentDefinitionDateDimensionTypePtrInput { + return (*segmentDefinitionDateDimensionTypePtr)(&v) +} + +func (*segmentDefinitionDateDimensionTypePtr) ElementType() reflect.Type { + return segmentDefinitionDateDimensionTypePtrType +} + +func (in *segmentDefinitionDateDimensionTypePtr) ToSegmentDefinitionDateDimensionTypePtrOutput() SegmentDefinitionDateDimensionTypePtrOutput { + return pulumi.ToOutput(in).(SegmentDefinitionDateDimensionTypePtrOutput) +} + +func (in *segmentDefinitionDateDimensionTypePtr) ToSegmentDefinitionDateDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SegmentDefinitionDateDimensionTypePtrOutput) +} + +// Specifies the operator on how to handle multiple groups within the same segment. +type SegmentDefinitionIncludeOptions string + +const ( + SegmentDefinitionIncludeOptionsAll = SegmentDefinitionIncludeOptions("ALL") + SegmentDefinitionIncludeOptionsAny = SegmentDefinitionIncludeOptions("ANY") + SegmentDefinitionIncludeOptionsNone = SegmentDefinitionIncludeOptions("NONE") +) + +func (SegmentDefinitionIncludeOptions) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionIncludeOptions)(nil)).Elem() +} + +func (e SegmentDefinitionIncludeOptions) ToSegmentDefinitionIncludeOptionsOutput() SegmentDefinitionIncludeOptionsOutput { + return pulumi.ToOutput(e).(SegmentDefinitionIncludeOptionsOutput) +} + +func (e SegmentDefinitionIncludeOptions) ToSegmentDefinitionIncludeOptionsOutputWithContext(ctx context.Context) SegmentDefinitionIncludeOptionsOutput { + return pulumi.ToOutputWithContext(ctx, e).(SegmentDefinitionIncludeOptionsOutput) +} + +func (e SegmentDefinitionIncludeOptions) ToSegmentDefinitionIncludeOptionsPtrOutput() SegmentDefinitionIncludeOptionsPtrOutput { + return e.ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionIncludeOptions) ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(ctx context.Context) SegmentDefinitionIncludeOptionsPtrOutput { + return SegmentDefinitionIncludeOptions(e).ToSegmentDefinitionIncludeOptionsOutputWithContext(ctx).ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(ctx) +} + +func (e SegmentDefinitionIncludeOptions) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionIncludeOptions) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionIncludeOptions) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionIncludeOptions) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type SegmentDefinitionIncludeOptionsOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionIncludeOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionIncludeOptions)(nil)).Elem() +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToSegmentDefinitionIncludeOptionsOutput() SegmentDefinitionIncludeOptionsOutput { + return o +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToSegmentDefinitionIncludeOptionsOutputWithContext(ctx context.Context) SegmentDefinitionIncludeOptionsOutput { + return o +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToSegmentDefinitionIncludeOptionsPtrOutput() SegmentDefinitionIncludeOptionsPtrOutput { + return o.ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(ctx context.Context) SegmentDefinitionIncludeOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionIncludeOptions) *SegmentDefinitionIncludeOptions { + return &v + }).(SegmentDefinitionIncludeOptionsPtrOutput) +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionIncludeOptions) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionIncludeOptionsOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionIncludeOptions) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SegmentDefinitionIncludeOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionIncludeOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionIncludeOptions)(nil)).Elem() +} + +func (o SegmentDefinitionIncludeOptionsPtrOutput) ToSegmentDefinitionIncludeOptionsPtrOutput() SegmentDefinitionIncludeOptionsPtrOutput { + return o +} + +func (o SegmentDefinitionIncludeOptionsPtrOutput) ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(ctx context.Context) SegmentDefinitionIncludeOptionsPtrOutput { + return o +} + +func (o SegmentDefinitionIncludeOptionsPtrOutput) Elem() SegmentDefinitionIncludeOptionsOutput { + return o.ApplyT(func(v *SegmentDefinitionIncludeOptions) SegmentDefinitionIncludeOptions { + if v != nil { + return *v + } + var ret SegmentDefinitionIncludeOptions + return ret + }).(SegmentDefinitionIncludeOptionsOutput) +} + +func (o SegmentDefinitionIncludeOptionsPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionIncludeOptionsPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SegmentDefinitionIncludeOptions) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// SegmentDefinitionIncludeOptionsInput is an input type that accepts values of the SegmentDefinitionIncludeOptions enum +// A concrete instance of `SegmentDefinitionIncludeOptionsInput` can be one of the following: +// +// SegmentDefinitionIncludeOptionsAll +// SegmentDefinitionIncludeOptionsAny +// SegmentDefinitionIncludeOptionsNone +type SegmentDefinitionIncludeOptionsInput interface { + pulumi.Input + + ToSegmentDefinitionIncludeOptionsOutput() SegmentDefinitionIncludeOptionsOutput + ToSegmentDefinitionIncludeOptionsOutputWithContext(context.Context) SegmentDefinitionIncludeOptionsOutput +} + +var segmentDefinitionIncludeOptionsPtrType = reflect.TypeOf((**SegmentDefinitionIncludeOptions)(nil)).Elem() + +type SegmentDefinitionIncludeOptionsPtrInput interface { + pulumi.Input + + ToSegmentDefinitionIncludeOptionsPtrOutput() SegmentDefinitionIncludeOptionsPtrOutput + ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(context.Context) SegmentDefinitionIncludeOptionsPtrOutput +} + +type segmentDefinitionIncludeOptionsPtr string + +func SegmentDefinitionIncludeOptionsPtr(v string) SegmentDefinitionIncludeOptionsPtrInput { + return (*segmentDefinitionIncludeOptionsPtr)(&v) +} + +func (*segmentDefinitionIncludeOptionsPtr) ElementType() reflect.Type { + return segmentDefinitionIncludeOptionsPtrType +} + +func (in *segmentDefinitionIncludeOptionsPtr) ToSegmentDefinitionIncludeOptionsPtrOutput() SegmentDefinitionIncludeOptionsPtrOutput { + return pulumi.ToOutput(in).(SegmentDefinitionIncludeOptionsPtrOutput) +} + +func (in *segmentDefinitionIncludeOptionsPtr) ToSegmentDefinitionIncludeOptionsPtrOutputWithContext(ctx context.Context) SegmentDefinitionIncludeOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SegmentDefinitionIncludeOptionsPtrOutput) +} + +// The unit to be applied to the range. +type SegmentDefinitionRangeOverrideUnit string + +const ( + SegmentDefinitionRangeOverrideUnitDays = SegmentDefinitionRangeOverrideUnit("DAYS") +) + +func (SegmentDefinitionRangeOverrideUnit) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionRangeOverrideUnit)(nil)).Elem() +} + +func (e SegmentDefinitionRangeOverrideUnit) ToSegmentDefinitionRangeOverrideUnitOutput() SegmentDefinitionRangeOverrideUnitOutput { + return pulumi.ToOutput(e).(SegmentDefinitionRangeOverrideUnitOutput) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToSegmentDefinitionRangeOverrideUnitOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideUnitOutput { + return pulumi.ToOutputWithContext(ctx, e).(SegmentDefinitionRangeOverrideUnitOutput) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToSegmentDefinitionRangeOverrideUnitPtrOutput() SegmentDefinitionRangeOverrideUnitPtrOutput { + return e.ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideUnitPtrOutput { + return SegmentDefinitionRangeOverrideUnit(e).ToSegmentDefinitionRangeOverrideUnitOutputWithContext(ctx).ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(ctx) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionRangeOverrideUnit) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type SegmentDefinitionRangeOverrideUnitOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionRangeOverrideUnitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionRangeOverrideUnit)(nil)).Elem() +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToSegmentDefinitionRangeOverrideUnitOutput() SegmentDefinitionRangeOverrideUnitOutput { + return o +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToSegmentDefinitionRangeOverrideUnitOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideUnitOutput { + return o +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToSegmentDefinitionRangeOverrideUnitPtrOutput() SegmentDefinitionRangeOverrideUnitPtrOutput { + return o.ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideUnitPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionRangeOverrideUnit) *SegmentDefinitionRangeOverrideUnit { + return &v + }).(SegmentDefinitionRangeOverrideUnitPtrOutput) +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionRangeOverrideUnit) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionRangeOverrideUnitOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionRangeOverrideUnit) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SegmentDefinitionRangeOverrideUnitPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionRangeOverrideUnitPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionRangeOverrideUnit)(nil)).Elem() +} + +func (o SegmentDefinitionRangeOverrideUnitPtrOutput) ToSegmentDefinitionRangeOverrideUnitPtrOutput() SegmentDefinitionRangeOverrideUnitPtrOutput { + return o +} + +func (o SegmentDefinitionRangeOverrideUnitPtrOutput) ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideUnitPtrOutput { + return o +} + +func (o SegmentDefinitionRangeOverrideUnitPtrOutput) Elem() SegmentDefinitionRangeOverrideUnitOutput { + return o.ApplyT(func(v *SegmentDefinitionRangeOverrideUnit) SegmentDefinitionRangeOverrideUnit { + if v != nil { + return *v + } + var ret SegmentDefinitionRangeOverrideUnit + return ret + }).(SegmentDefinitionRangeOverrideUnitOutput) +} + +func (o SegmentDefinitionRangeOverrideUnitPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionRangeOverrideUnitPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SegmentDefinitionRangeOverrideUnit) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// SegmentDefinitionRangeOverrideUnitInput is an input type that accepts values of the SegmentDefinitionRangeOverrideUnit enum +// A concrete instance of `SegmentDefinitionRangeOverrideUnitInput` can be one of the following: +// +// SegmentDefinitionRangeOverrideUnitDays +type SegmentDefinitionRangeOverrideUnitInput interface { + pulumi.Input + + ToSegmentDefinitionRangeOverrideUnitOutput() SegmentDefinitionRangeOverrideUnitOutput + ToSegmentDefinitionRangeOverrideUnitOutputWithContext(context.Context) SegmentDefinitionRangeOverrideUnitOutput +} + +var segmentDefinitionRangeOverrideUnitPtrType = reflect.TypeOf((**SegmentDefinitionRangeOverrideUnit)(nil)).Elem() + +type SegmentDefinitionRangeOverrideUnitPtrInput interface { + pulumi.Input + + ToSegmentDefinitionRangeOverrideUnitPtrOutput() SegmentDefinitionRangeOverrideUnitPtrOutput + ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(context.Context) SegmentDefinitionRangeOverrideUnitPtrOutput +} + +type segmentDefinitionRangeOverrideUnitPtr string + +func SegmentDefinitionRangeOverrideUnitPtr(v string) SegmentDefinitionRangeOverrideUnitPtrInput { + return (*segmentDefinitionRangeOverrideUnitPtr)(&v) +} + +func (*segmentDefinitionRangeOverrideUnitPtr) ElementType() reflect.Type { + return segmentDefinitionRangeOverrideUnitPtrType +} + +func (in *segmentDefinitionRangeOverrideUnitPtr) ToSegmentDefinitionRangeOverrideUnitPtrOutput() SegmentDefinitionRangeOverrideUnitPtrOutput { + return pulumi.ToOutput(in).(SegmentDefinitionRangeOverrideUnitPtrOutput) +} + +func (in *segmentDefinitionRangeOverrideUnitPtr) ToSegmentDefinitionRangeOverrideUnitPtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideUnitPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SegmentDefinitionRangeOverrideUnitPtrOutput) +} + +// The type of segment dimension to use for a string dimension. +type SegmentDefinitionStringDimensionType string + +const ( + SegmentDefinitionStringDimensionTypeInclusive = SegmentDefinitionStringDimensionType("INCLUSIVE") + SegmentDefinitionStringDimensionTypeExclusive = SegmentDefinitionStringDimensionType("EXCLUSIVE") + SegmentDefinitionStringDimensionTypeContains = SegmentDefinitionStringDimensionType("CONTAINS") + SegmentDefinitionStringDimensionTypeBeginsWith = SegmentDefinitionStringDimensionType("BEGINS_WITH") + SegmentDefinitionStringDimensionTypeEndsWith = SegmentDefinitionStringDimensionType("ENDS_WITH") +) + +func (SegmentDefinitionStringDimensionType) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionStringDimensionType)(nil)).Elem() +} + +func (e SegmentDefinitionStringDimensionType) ToSegmentDefinitionStringDimensionTypeOutput() SegmentDefinitionStringDimensionTypeOutput { + return pulumi.ToOutput(e).(SegmentDefinitionStringDimensionTypeOutput) +} + +func (e SegmentDefinitionStringDimensionType) ToSegmentDefinitionStringDimensionTypeOutputWithContext(ctx context.Context) SegmentDefinitionStringDimensionTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(SegmentDefinitionStringDimensionTypeOutput) +} + +func (e SegmentDefinitionStringDimensionType) ToSegmentDefinitionStringDimensionTypePtrOutput() SegmentDefinitionStringDimensionTypePtrOutput { + return e.ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionStringDimensionType) ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionStringDimensionTypePtrOutput { + return SegmentDefinitionStringDimensionType(e).ToSegmentDefinitionStringDimensionTypeOutputWithContext(ctx).ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(ctx) +} + +func (e SegmentDefinitionStringDimensionType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionStringDimensionType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e SegmentDefinitionStringDimensionType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e SegmentDefinitionStringDimensionType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type SegmentDefinitionStringDimensionTypeOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionStringDimensionTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionStringDimensionType)(nil)).Elem() +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToSegmentDefinitionStringDimensionTypeOutput() SegmentDefinitionStringDimensionTypeOutput { + return o +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToSegmentDefinitionStringDimensionTypeOutputWithContext(ctx context.Context) SegmentDefinitionStringDimensionTypeOutput { + return o +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToSegmentDefinitionStringDimensionTypePtrOutput() SegmentDefinitionStringDimensionTypePtrOutput { + return o.ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionStringDimensionTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionStringDimensionType) *SegmentDefinitionStringDimensionType { + return &v + }).(SegmentDefinitionStringDimensionTypePtrOutput) +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionStringDimensionType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionStringDimensionTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e SegmentDefinitionStringDimensionType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type SegmentDefinitionStringDimensionTypePtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionStringDimensionTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionStringDimensionType)(nil)).Elem() +} + +func (o SegmentDefinitionStringDimensionTypePtrOutput) ToSegmentDefinitionStringDimensionTypePtrOutput() SegmentDefinitionStringDimensionTypePtrOutput { + return o +} + +func (o SegmentDefinitionStringDimensionTypePtrOutput) ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionStringDimensionTypePtrOutput { + return o +} + +func (o SegmentDefinitionStringDimensionTypePtrOutput) Elem() SegmentDefinitionStringDimensionTypeOutput { + return o.ApplyT(func(v *SegmentDefinitionStringDimensionType) SegmentDefinitionStringDimensionType { + if v != nil { + return *v + } + var ret SegmentDefinitionStringDimensionType + return ret + }).(SegmentDefinitionStringDimensionTypeOutput) +} + +func (o SegmentDefinitionStringDimensionTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionStringDimensionTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *SegmentDefinitionStringDimensionType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// SegmentDefinitionStringDimensionTypeInput is an input type that accepts values of the SegmentDefinitionStringDimensionType enum +// A concrete instance of `SegmentDefinitionStringDimensionTypeInput` can be one of the following: +// +// SegmentDefinitionStringDimensionTypeInclusive +// SegmentDefinitionStringDimensionTypeExclusive +// SegmentDefinitionStringDimensionTypeContains +// SegmentDefinitionStringDimensionTypeBeginsWith +// SegmentDefinitionStringDimensionTypeEndsWith +type SegmentDefinitionStringDimensionTypeInput interface { + pulumi.Input + + ToSegmentDefinitionStringDimensionTypeOutput() SegmentDefinitionStringDimensionTypeOutput + ToSegmentDefinitionStringDimensionTypeOutputWithContext(context.Context) SegmentDefinitionStringDimensionTypeOutput +} + +var segmentDefinitionStringDimensionTypePtrType = reflect.TypeOf((**SegmentDefinitionStringDimensionType)(nil)).Elem() + +type SegmentDefinitionStringDimensionTypePtrInput interface { + pulumi.Input + + ToSegmentDefinitionStringDimensionTypePtrOutput() SegmentDefinitionStringDimensionTypePtrOutput + ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(context.Context) SegmentDefinitionStringDimensionTypePtrOutput +} + +type segmentDefinitionStringDimensionTypePtr string + +func SegmentDefinitionStringDimensionTypePtr(v string) SegmentDefinitionStringDimensionTypePtrInput { + return (*segmentDefinitionStringDimensionTypePtr)(&v) +} + +func (*segmentDefinitionStringDimensionTypePtr) ElementType() reflect.Type { + return segmentDefinitionStringDimensionTypePtrType +} + +func (in *segmentDefinitionStringDimensionTypePtr) ToSegmentDefinitionStringDimensionTypePtrOutput() SegmentDefinitionStringDimensionTypePtrOutput { + return pulumi.ToOutput(in).(SegmentDefinitionStringDimensionTypePtrOutput) +} + +func (in *segmentDefinitionStringDimensionTypePtr) ToSegmentDefinitionStringDimensionTypePtrOutputWithContext(ctx context.Context) SegmentDefinitionStringDimensionTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(SegmentDefinitionStringDimensionTypePtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*CalculatedAttributeDefinitionRangeUnitInput)(nil)).Elem(), CalculatedAttributeDefinitionRangeUnit("DAYS")) pulumi.RegisterInputType(reflect.TypeOf((*CalculatedAttributeDefinitionRangeUnitPtrInput)(nil)).Elem(), CalculatedAttributeDefinitionRangeUnit("DAYS")) @@ -3671,6 +4539,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ObjectTypeKeyStandardIdentifiersItemInput)(nil)).Elem(), ObjectTypeKeyStandardIdentifiersItem("PROFILE")) pulumi.RegisterInputType(reflect.TypeOf((*ObjectTypeKeyStandardIdentifiersItemPtrInput)(nil)).Elem(), ObjectTypeKeyStandardIdentifiersItem("PROFILE")) pulumi.RegisterInputType(reflect.TypeOf((*ObjectTypeKeyStandardIdentifiersItemArrayInput)(nil)).Elem(), ObjectTypeKeyStandardIdentifiersItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionAttributeDimensionTypeInput)(nil)).Elem(), SegmentDefinitionAttributeDimensionType("INCLUSIVE")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionAttributeDimensionTypePtrInput)(nil)).Elem(), SegmentDefinitionAttributeDimensionType("INCLUSIVE")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionDateDimensionTypeInput)(nil)).Elem(), SegmentDefinitionDateDimensionType("BEFORE")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionDateDimensionTypePtrInput)(nil)).Elem(), SegmentDefinitionDateDimensionType("BEFORE")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionIncludeOptionsInput)(nil)).Elem(), SegmentDefinitionIncludeOptions("ALL")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionIncludeOptionsPtrInput)(nil)).Elem(), SegmentDefinitionIncludeOptions("ALL")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionRangeOverrideUnitInput)(nil)).Elem(), SegmentDefinitionRangeOverrideUnit("DAYS")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionRangeOverrideUnitPtrInput)(nil)).Elem(), SegmentDefinitionRangeOverrideUnit("DAYS")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionStringDimensionTypeInput)(nil)).Elem(), SegmentDefinitionStringDimensionType("INCLUSIVE")) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionStringDimensionTypePtrInput)(nil)).Elem(), SegmentDefinitionStringDimensionType("INCLUSIVE")) pulumi.RegisterOutputType(CalculatedAttributeDefinitionRangeUnitOutput{}) pulumi.RegisterOutputType(CalculatedAttributeDefinitionRangeUnitPtrOutput{}) pulumi.RegisterOutputType(CalculatedAttributeDefinitionStatisticOutput{}) @@ -3714,4 +4592,14 @@ func init() { pulumi.RegisterOutputType(ObjectTypeKeyStandardIdentifiersItemOutput{}) pulumi.RegisterOutputType(ObjectTypeKeyStandardIdentifiersItemPtrOutput{}) pulumi.RegisterOutputType(ObjectTypeKeyStandardIdentifiersItemArrayOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionAttributeDimensionTypeOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionAttributeDimensionTypePtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionDateDimensionTypeOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionDateDimensionTypePtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionIncludeOptionsOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionIncludeOptionsPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionRangeOverrideUnitOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionRangeOverrideUnitPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionStringDimensionTypeOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionStringDimensionTypePtrOutput{}) } diff --git a/sdk/go/aws/customerprofiles/pulumiTypes.go b/sdk/go/aws/customerprofiles/pulumiTypes.go index 14ea3ac9aa..24060d252a 100644 --- a/sdk/go/aws/customerprofiles/pulumiTypes.go +++ b/sdk/go/aws/customerprofiles/pulumiTypes.go @@ -5791,6 +5791,1777 @@ type ObjectTypeTag struct { Value string `pulumi:"value"` } +// The address based criteria for the segment. +type SegmentDefinitionAddressDimension struct { + City *SegmentDefinitionProfileDimension `pulumi:"city"` + Country *SegmentDefinitionProfileDimension `pulumi:"country"` + County *SegmentDefinitionProfileDimension `pulumi:"county"` + PostalCode *SegmentDefinitionProfileDimension `pulumi:"postalCode"` + Province *SegmentDefinitionProfileDimension `pulumi:"province"` + State *SegmentDefinitionProfileDimension `pulumi:"state"` +} + +// SegmentDefinitionAddressDimensionInput is an input type that accepts SegmentDefinitionAddressDimensionArgs and SegmentDefinitionAddressDimensionOutput values. +// You can construct a concrete instance of `SegmentDefinitionAddressDimensionInput` via: +// +// SegmentDefinitionAddressDimensionArgs{...} +type SegmentDefinitionAddressDimensionInput interface { + pulumi.Input + + ToSegmentDefinitionAddressDimensionOutput() SegmentDefinitionAddressDimensionOutput + ToSegmentDefinitionAddressDimensionOutputWithContext(context.Context) SegmentDefinitionAddressDimensionOutput +} + +// The address based criteria for the segment. +type SegmentDefinitionAddressDimensionArgs struct { + City SegmentDefinitionProfileDimensionPtrInput `pulumi:"city"` + Country SegmentDefinitionProfileDimensionPtrInput `pulumi:"country"` + County SegmentDefinitionProfileDimensionPtrInput `pulumi:"county"` + PostalCode SegmentDefinitionProfileDimensionPtrInput `pulumi:"postalCode"` + Province SegmentDefinitionProfileDimensionPtrInput `pulumi:"province"` + State SegmentDefinitionProfileDimensionPtrInput `pulumi:"state"` +} + +func (SegmentDefinitionAddressDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionAddressDimension)(nil)).Elem() +} + +func (i SegmentDefinitionAddressDimensionArgs) ToSegmentDefinitionAddressDimensionOutput() SegmentDefinitionAddressDimensionOutput { + return i.ToSegmentDefinitionAddressDimensionOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionAddressDimensionArgs) ToSegmentDefinitionAddressDimensionOutputWithContext(ctx context.Context) SegmentDefinitionAddressDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionAddressDimensionOutput) +} + +func (i SegmentDefinitionAddressDimensionArgs) ToSegmentDefinitionAddressDimensionPtrOutput() SegmentDefinitionAddressDimensionPtrOutput { + return i.ToSegmentDefinitionAddressDimensionPtrOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionAddressDimensionArgs) ToSegmentDefinitionAddressDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionAddressDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionAddressDimensionOutput).ToSegmentDefinitionAddressDimensionPtrOutputWithContext(ctx) +} + +// SegmentDefinitionAddressDimensionPtrInput is an input type that accepts SegmentDefinitionAddressDimensionArgs, SegmentDefinitionAddressDimensionPtr and SegmentDefinitionAddressDimensionPtrOutput values. +// You can construct a concrete instance of `SegmentDefinitionAddressDimensionPtrInput` via: +// +// SegmentDefinitionAddressDimensionArgs{...} +// +// or: +// +// nil +type SegmentDefinitionAddressDimensionPtrInput interface { + pulumi.Input + + ToSegmentDefinitionAddressDimensionPtrOutput() SegmentDefinitionAddressDimensionPtrOutput + ToSegmentDefinitionAddressDimensionPtrOutputWithContext(context.Context) SegmentDefinitionAddressDimensionPtrOutput +} + +type segmentDefinitionAddressDimensionPtrType SegmentDefinitionAddressDimensionArgs + +func SegmentDefinitionAddressDimensionPtr(v *SegmentDefinitionAddressDimensionArgs) SegmentDefinitionAddressDimensionPtrInput { + return (*segmentDefinitionAddressDimensionPtrType)(v) +} + +func (*segmentDefinitionAddressDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionAddressDimension)(nil)).Elem() +} + +func (i *segmentDefinitionAddressDimensionPtrType) ToSegmentDefinitionAddressDimensionPtrOutput() SegmentDefinitionAddressDimensionPtrOutput { + return i.ToSegmentDefinitionAddressDimensionPtrOutputWithContext(context.Background()) +} + +func (i *segmentDefinitionAddressDimensionPtrType) ToSegmentDefinitionAddressDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionAddressDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionAddressDimensionPtrOutput) +} + +// The address based criteria for the segment. +type SegmentDefinitionAddressDimensionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionAddressDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionAddressDimension)(nil)).Elem() +} + +func (o SegmentDefinitionAddressDimensionOutput) ToSegmentDefinitionAddressDimensionOutput() SegmentDefinitionAddressDimensionOutput { + return o +} + +func (o SegmentDefinitionAddressDimensionOutput) ToSegmentDefinitionAddressDimensionOutputWithContext(ctx context.Context) SegmentDefinitionAddressDimensionOutput { + return o +} + +func (o SegmentDefinitionAddressDimensionOutput) ToSegmentDefinitionAddressDimensionPtrOutput() SegmentDefinitionAddressDimensionPtrOutput { + return o.ToSegmentDefinitionAddressDimensionPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionAddressDimensionOutput) ToSegmentDefinitionAddressDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionAddressDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionAddressDimension) *SegmentDefinitionAddressDimension { + return &v + }).(SegmentDefinitionAddressDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionOutput) City() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { return v.City }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionOutput) Country() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { return v.Country }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionOutput) County() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { return v.County }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionOutput) PostalCode() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { return v.PostalCode }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionOutput) Province() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { return v.Province }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionOutput) State() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { return v.State }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +type SegmentDefinitionAddressDimensionPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionAddressDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionAddressDimension)(nil)).Elem() +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) ToSegmentDefinitionAddressDimensionPtrOutput() SegmentDefinitionAddressDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) ToSegmentDefinitionAddressDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionAddressDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) Elem() SegmentDefinitionAddressDimensionOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) SegmentDefinitionAddressDimension { + if v != nil { + return *v + } + var ret SegmentDefinitionAddressDimension + return ret + }).(SegmentDefinitionAddressDimensionOutput) +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) City() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { + if v == nil { + return nil + } + return v.City + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) Country() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { + if v == nil { + return nil + } + return v.Country + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) County() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { + if v == nil { + return nil + } + return v.County + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) PostalCode() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { + if v == nil { + return nil + } + return v.PostalCode + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) Province() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { + if v == nil { + return nil + } + return v.Province + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionAddressDimensionPtrOutput) State() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionAddressDimension) *SegmentDefinitionProfileDimension { + if v == nil { + return nil + } + return v.State + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +// Specifies attribute based criteria for a segment. +type SegmentDefinitionAttributeDimension struct { + DimensionType SegmentDefinitionAttributeDimensionType `pulumi:"dimensionType"` + Values []string `pulumi:"values"` +} + +// SegmentDefinitionAttributeDimensionInput is an input type that accepts SegmentDefinitionAttributeDimensionArgs and SegmentDefinitionAttributeDimensionOutput values. +// You can construct a concrete instance of `SegmentDefinitionAttributeDimensionInput` via: +// +// SegmentDefinitionAttributeDimensionArgs{...} +type SegmentDefinitionAttributeDimensionInput interface { + pulumi.Input + + ToSegmentDefinitionAttributeDimensionOutput() SegmentDefinitionAttributeDimensionOutput + ToSegmentDefinitionAttributeDimensionOutputWithContext(context.Context) SegmentDefinitionAttributeDimensionOutput +} + +// Specifies attribute based criteria for a segment. +type SegmentDefinitionAttributeDimensionArgs struct { + DimensionType SegmentDefinitionAttributeDimensionTypeInput `pulumi:"dimensionType"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (SegmentDefinitionAttributeDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionAttributeDimension)(nil)).Elem() +} + +func (i SegmentDefinitionAttributeDimensionArgs) ToSegmentDefinitionAttributeDimensionOutput() SegmentDefinitionAttributeDimensionOutput { + return i.ToSegmentDefinitionAttributeDimensionOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionAttributeDimensionArgs) ToSegmentDefinitionAttributeDimensionOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionAttributeDimensionOutput) +} + +// SegmentDefinitionAttributeDimensionMapInput is an input type that accepts SegmentDefinitionAttributeDimensionMap and SegmentDefinitionAttributeDimensionMapOutput values. +// You can construct a concrete instance of `SegmentDefinitionAttributeDimensionMapInput` via: +// +// SegmentDefinitionAttributeDimensionMap{ "key": SegmentDefinitionAttributeDimensionArgs{...} } +type SegmentDefinitionAttributeDimensionMapInput interface { + pulumi.Input + + ToSegmentDefinitionAttributeDimensionMapOutput() SegmentDefinitionAttributeDimensionMapOutput + ToSegmentDefinitionAttributeDimensionMapOutputWithContext(context.Context) SegmentDefinitionAttributeDimensionMapOutput +} + +type SegmentDefinitionAttributeDimensionMap map[string]SegmentDefinitionAttributeDimensionInput + +func (SegmentDefinitionAttributeDimensionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SegmentDefinitionAttributeDimension)(nil)).Elem() +} + +func (i SegmentDefinitionAttributeDimensionMap) ToSegmentDefinitionAttributeDimensionMapOutput() SegmentDefinitionAttributeDimensionMapOutput { + return i.ToSegmentDefinitionAttributeDimensionMapOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionAttributeDimensionMap) ToSegmentDefinitionAttributeDimensionMapOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionAttributeDimensionMapOutput) +} + +// Specifies attribute based criteria for a segment. +type SegmentDefinitionAttributeDimensionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionAttributeDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionAttributeDimension)(nil)).Elem() +} + +func (o SegmentDefinitionAttributeDimensionOutput) ToSegmentDefinitionAttributeDimensionOutput() SegmentDefinitionAttributeDimensionOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionOutput) ToSegmentDefinitionAttributeDimensionOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionOutput) DimensionType() SegmentDefinitionAttributeDimensionTypeOutput { + return o.ApplyT(func(v SegmentDefinitionAttributeDimension) SegmentDefinitionAttributeDimensionType { + return v.DimensionType + }).(SegmentDefinitionAttributeDimensionTypeOutput) +} + +func (o SegmentDefinitionAttributeDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v SegmentDefinitionAttributeDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type SegmentDefinitionAttributeDimensionMapOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionAttributeDimensionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SegmentDefinitionAttributeDimension)(nil)).Elem() +} + +func (o SegmentDefinitionAttributeDimensionMapOutput) ToSegmentDefinitionAttributeDimensionMapOutput() SegmentDefinitionAttributeDimensionMapOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionMapOutput) ToSegmentDefinitionAttributeDimensionMapOutputWithContext(ctx context.Context) SegmentDefinitionAttributeDimensionMapOutput { + return o +} + +func (o SegmentDefinitionAttributeDimensionMapOutput) MapIndex(k pulumi.StringInput) SegmentDefinitionAttributeDimensionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SegmentDefinitionAttributeDimension { + return vs[0].(map[string]SegmentDefinitionAttributeDimension)[vs[1].(string)] + }).(SegmentDefinitionAttributeDimensionOutput) +} + +// Specifies calculated attribute based criteria for a segment. +type SegmentDefinitionCalculatedAttributeDimension struct { + ConditionOverrides *SegmentDefinitionConditionOverrides `pulumi:"conditionOverrides"` + DimensionType SegmentDefinitionAttributeDimensionType `pulumi:"dimensionType"` + Values []string `pulumi:"values"` +} + +// SegmentDefinitionCalculatedAttributeDimensionInput is an input type that accepts SegmentDefinitionCalculatedAttributeDimensionArgs and SegmentDefinitionCalculatedAttributeDimensionOutput values. +// You can construct a concrete instance of `SegmentDefinitionCalculatedAttributeDimensionInput` via: +// +// SegmentDefinitionCalculatedAttributeDimensionArgs{...} +type SegmentDefinitionCalculatedAttributeDimensionInput interface { + pulumi.Input + + ToSegmentDefinitionCalculatedAttributeDimensionOutput() SegmentDefinitionCalculatedAttributeDimensionOutput + ToSegmentDefinitionCalculatedAttributeDimensionOutputWithContext(context.Context) SegmentDefinitionCalculatedAttributeDimensionOutput +} + +// Specifies calculated attribute based criteria for a segment. +type SegmentDefinitionCalculatedAttributeDimensionArgs struct { + ConditionOverrides SegmentDefinitionConditionOverridesPtrInput `pulumi:"conditionOverrides"` + DimensionType SegmentDefinitionAttributeDimensionTypeInput `pulumi:"dimensionType"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (SegmentDefinitionCalculatedAttributeDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionCalculatedAttributeDimension)(nil)).Elem() +} + +func (i SegmentDefinitionCalculatedAttributeDimensionArgs) ToSegmentDefinitionCalculatedAttributeDimensionOutput() SegmentDefinitionCalculatedAttributeDimensionOutput { + return i.ToSegmentDefinitionCalculatedAttributeDimensionOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionCalculatedAttributeDimensionArgs) ToSegmentDefinitionCalculatedAttributeDimensionOutputWithContext(ctx context.Context) SegmentDefinitionCalculatedAttributeDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionCalculatedAttributeDimensionOutput) +} + +// SegmentDefinitionCalculatedAttributeDimensionMapInput is an input type that accepts SegmentDefinitionCalculatedAttributeDimensionMap and SegmentDefinitionCalculatedAttributeDimensionMapOutput values. +// You can construct a concrete instance of `SegmentDefinitionCalculatedAttributeDimensionMapInput` via: +// +// SegmentDefinitionCalculatedAttributeDimensionMap{ "key": SegmentDefinitionCalculatedAttributeDimensionArgs{...} } +type SegmentDefinitionCalculatedAttributeDimensionMapInput interface { + pulumi.Input + + ToSegmentDefinitionCalculatedAttributeDimensionMapOutput() SegmentDefinitionCalculatedAttributeDimensionMapOutput + ToSegmentDefinitionCalculatedAttributeDimensionMapOutputWithContext(context.Context) SegmentDefinitionCalculatedAttributeDimensionMapOutput +} + +type SegmentDefinitionCalculatedAttributeDimensionMap map[string]SegmentDefinitionCalculatedAttributeDimensionInput + +func (SegmentDefinitionCalculatedAttributeDimensionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SegmentDefinitionCalculatedAttributeDimension)(nil)).Elem() +} + +func (i SegmentDefinitionCalculatedAttributeDimensionMap) ToSegmentDefinitionCalculatedAttributeDimensionMapOutput() SegmentDefinitionCalculatedAttributeDimensionMapOutput { + return i.ToSegmentDefinitionCalculatedAttributeDimensionMapOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionCalculatedAttributeDimensionMap) ToSegmentDefinitionCalculatedAttributeDimensionMapOutputWithContext(ctx context.Context) SegmentDefinitionCalculatedAttributeDimensionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionCalculatedAttributeDimensionMapOutput) +} + +// Specifies calculated attribute based criteria for a segment. +type SegmentDefinitionCalculatedAttributeDimensionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionCalculatedAttributeDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionCalculatedAttributeDimension)(nil)).Elem() +} + +func (o SegmentDefinitionCalculatedAttributeDimensionOutput) ToSegmentDefinitionCalculatedAttributeDimensionOutput() SegmentDefinitionCalculatedAttributeDimensionOutput { + return o +} + +func (o SegmentDefinitionCalculatedAttributeDimensionOutput) ToSegmentDefinitionCalculatedAttributeDimensionOutputWithContext(ctx context.Context) SegmentDefinitionCalculatedAttributeDimensionOutput { + return o +} + +func (o SegmentDefinitionCalculatedAttributeDimensionOutput) ConditionOverrides() SegmentDefinitionConditionOverridesPtrOutput { + return o.ApplyT(func(v SegmentDefinitionCalculatedAttributeDimension) *SegmentDefinitionConditionOverrides { + return v.ConditionOverrides + }).(SegmentDefinitionConditionOverridesPtrOutput) +} + +func (o SegmentDefinitionCalculatedAttributeDimensionOutput) DimensionType() SegmentDefinitionAttributeDimensionTypeOutput { + return o.ApplyT(func(v SegmentDefinitionCalculatedAttributeDimension) SegmentDefinitionAttributeDimensionType { + return v.DimensionType + }).(SegmentDefinitionAttributeDimensionTypeOutput) +} + +func (o SegmentDefinitionCalculatedAttributeDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v SegmentDefinitionCalculatedAttributeDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type SegmentDefinitionCalculatedAttributeDimensionMapOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionCalculatedAttributeDimensionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SegmentDefinitionCalculatedAttributeDimension)(nil)).Elem() +} + +func (o SegmentDefinitionCalculatedAttributeDimensionMapOutput) ToSegmentDefinitionCalculatedAttributeDimensionMapOutput() SegmentDefinitionCalculatedAttributeDimensionMapOutput { + return o +} + +func (o SegmentDefinitionCalculatedAttributeDimensionMapOutput) ToSegmentDefinitionCalculatedAttributeDimensionMapOutputWithContext(ctx context.Context) SegmentDefinitionCalculatedAttributeDimensionMapOutput { + return o +} + +func (o SegmentDefinitionCalculatedAttributeDimensionMapOutput) MapIndex(k pulumi.StringInput) SegmentDefinitionCalculatedAttributeDimensionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SegmentDefinitionCalculatedAttributeDimension { + return vs[0].(map[string]SegmentDefinitionCalculatedAttributeDimension)[vs[1].(string)] + }).(SegmentDefinitionCalculatedAttributeDimensionOutput) +} + +// Overrides the condition block within the original calculated attribute definition. +type SegmentDefinitionConditionOverrides struct { + Range *SegmentDefinitionRangeOverride `pulumi:"range"` +} + +// SegmentDefinitionConditionOverridesInput is an input type that accepts SegmentDefinitionConditionOverridesArgs and SegmentDefinitionConditionOverridesOutput values. +// You can construct a concrete instance of `SegmentDefinitionConditionOverridesInput` via: +// +// SegmentDefinitionConditionOverridesArgs{...} +type SegmentDefinitionConditionOverridesInput interface { + pulumi.Input + + ToSegmentDefinitionConditionOverridesOutput() SegmentDefinitionConditionOverridesOutput + ToSegmentDefinitionConditionOverridesOutputWithContext(context.Context) SegmentDefinitionConditionOverridesOutput +} + +// Overrides the condition block within the original calculated attribute definition. +type SegmentDefinitionConditionOverridesArgs struct { + Range SegmentDefinitionRangeOverridePtrInput `pulumi:"range"` +} + +func (SegmentDefinitionConditionOverridesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionConditionOverrides)(nil)).Elem() +} + +func (i SegmentDefinitionConditionOverridesArgs) ToSegmentDefinitionConditionOverridesOutput() SegmentDefinitionConditionOverridesOutput { + return i.ToSegmentDefinitionConditionOverridesOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionConditionOverridesArgs) ToSegmentDefinitionConditionOverridesOutputWithContext(ctx context.Context) SegmentDefinitionConditionOverridesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionConditionOverridesOutput) +} + +func (i SegmentDefinitionConditionOverridesArgs) ToSegmentDefinitionConditionOverridesPtrOutput() SegmentDefinitionConditionOverridesPtrOutput { + return i.ToSegmentDefinitionConditionOverridesPtrOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionConditionOverridesArgs) ToSegmentDefinitionConditionOverridesPtrOutputWithContext(ctx context.Context) SegmentDefinitionConditionOverridesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionConditionOverridesOutput).ToSegmentDefinitionConditionOverridesPtrOutputWithContext(ctx) +} + +// SegmentDefinitionConditionOverridesPtrInput is an input type that accepts SegmentDefinitionConditionOverridesArgs, SegmentDefinitionConditionOverridesPtr and SegmentDefinitionConditionOverridesPtrOutput values. +// You can construct a concrete instance of `SegmentDefinitionConditionOverridesPtrInput` via: +// +// SegmentDefinitionConditionOverridesArgs{...} +// +// or: +// +// nil +type SegmentDefinitionConditionOverridesPtrInput interface { + pulumi.Input + + ToSegmentDefinitionConditionOverridesPtrOutput() SegmentDefinitionConditionOverridesPtrOutput + ToSegmentDefinitionConditionOverridesPtrOutputWithContext(context.Context) SegmentDefinitionConditionOverridesPtrOutput +} + +type segmentDefinitionConditionOverridesPtrType SegmentDefinitionConditionOverridesArgs + +func SegmentDefinitionConditionOverridesPtr(v *SegmentDefinitionConditionOverridesArgs) SegmentDefinitionConditionOverridesPtrInput { + return (*segmentDefinitionConditionOverridesPtrType)(v) +} + +func (*segmentDefinitionConditionOverridesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionConditionOverrides)(nil)).Elem() +} + +func (i *segmentDefinitionConditionOverridesPtrType) ToSegmentDefinitionConditionOverridesPtrOutput() SegmentDefinitionConditionOverridesPtrOutput { + return i.ToSegmentDefinitionConditionOverridesPtrOutputWithContext(context.Background()) +} + +func (i *segmentDefinitionConditionOverridesPtrType) ToSegmentDefinitionConditionOverridesPtrOutputWithContext(ctx context.Context) SegmentDefinitionConditionOverridesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionConditionOverridesPtrOutput) +} + +// Overrides the condition block within the original calculated attribute definition. +type SegmentDefinitionConditionOverridesOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionConditionOverridesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionConditionOverrides)(nil)).Elem() +} + +func (o SegmentDefinitionConditionOverridesOutput) ToSegmentDefinitionConditionOverridesOutput() SegmentDefinitionConditionOverridesOutput { + return o +} + +func (o SegmentDefinitionConditionOverridesOutput) ToSegmentDefinitionConditionOverridesOutputWithContext(ctx context.Context) SegmentDefinitionConditionOverridesOutput { + return o +} + +func (o SegmentDefinitionConditionOverridesOutput) ToSegmentDefinitionConditionOverridesPtrOutput() SegmentDefinitionConditionOverridesPtrOutput { + return o.ToSegmentDefinitionConditionOverridesPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionConditionOverridesOutput) ToSegmentDefinitionConditionOverridesPtrOutputWithContext(ctx context.Context) SegmentDefinitionConditionOverridesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionConditionOverrides) *SegmentDefinitionConditionOverrides { + return &v + }).(SegmentDefinitionConditionOverridesPtrOutput) +} + +func (o SegmentDefinitionConditionOverridesOutput) Range() SegmentDefinitionRangeOverridePtrOutput { + return o.ApplyT(func(v SegmentDefinitionConditionOverrides) *SegmentDefinitionRangeOverride { return v.Range }).(SegmentDefinitionRangeOverridePtrOutput) +} + +type SegmentDefinitionConditionOverridesPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionConditionOverridesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionConditionOverrides)(nil)).Elem() +} + +func (o SegmentDefinitionConditionOverridesPtrOutput) ToSegmentDefinitionConditionOverridesPtrOutput() SegmentDefinitionConditionOverridesPtrOutput { + return o +} + +func (o SegmentDefinitionConditionOverridesPtrOutput) ToSegmentDefinitionConditionOverridesPtrOutputWithContext(ctx context.Context) SegmentDefinitionConditionOverridesPtrOutput { + return o +} + +func (o SegmentDefinitionConditionOverridesPtrOutput) Elem() SegmentDefinitionConditionOverridesOutput { + return o.ApplyT(func(v *SegmentDefinitionConditionOverrides) SegmentDefinitionConditionOverrides { + if v != nil { + return *v + } + var ret SegmentDefinitionConditionOverrides + return ret + }).(SegmentDefinitionConditionOverridesOutput) +} + +func (o SegmentDefinitionConditionOverridesPtrOutput) Range() SegmentDefinitionRangeOverridePtrOutput { + return o.ApplyT(func(v *SegmentDefinitionConditionOverrides) *SegmentDefinitionRangeOverride { + if v == nil { + return nil + } + return v.Range + }).(SegmentDefinitionRangeOverridePtrOutput) +} + +// Specifies date based criteria for a segment. +type SegmentDefinitionDateDimension struct { + DimensionType SegmentDefinitionDateDimensionType `pulumi:"dimensionType"` + Values []string `pulumi:"values"` +} + +// SegmentDefinitionDateDimensionInput is an input type that accepts SegmentDefinitionDateDimensionArgs and SegmentDefinitionDateDimensionOutput values. +// You can construct a concrete instance of `SegmentDefinitionDateDimensionInput` via: +// +// SegmentDefinitionDateDimensionArgs{...} +type SegmentDefinitionDateDimensionInput interface { + pulumi.Input + + ToSegmentDefinitionDateDimensionOutput() SegmentDefinitionDateDimensionOutput + ToSegmentDefinitionDateDimensionOutputWithContext(context.Context) SegmentDefinitionDateDimensionOutput +} + +// Specifies date based criteria for a segment. +type SegmentDefinitionDateDimensionArgs struct { + DimensionType SegmentDefinitionDateDimensionTypeInput `pulumi:"dimensionType"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (SegmentDefinitionDateDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDateDimension)(nil)).Elem() +} + +func (i SegmentDefinitionDateDimensionArgs) ToSegmentDefinitionDateDimensionOutput() SegmentDefinitionDateDimensionOutput { + return i.ToSegmentDefinitionDateDimensionOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionDateDimensionArgs) ToSegmentDefinitionDateDimensionOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionDateDimensionOutput) +} + +func (i SegmentDefinitionDateDimensionArgs) ToSegmentDefinitionDateDimensionPtrOutput() SegmentDefinitionDateDimensionPtrOutput { + return i.ToSegmentDefinitionDateDimensionPtrOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionDateDimensionArgs) ToSegmentDefinitionDateDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionDateDimensionOutput).ToSegmentDefinitionDateDimensionPtrOutputWithContext(ctx) +} + +// SegmentDefinitionDateDimensionPtrInput is an input type that accepts SegmentDefinitionDateDimensionArgs, SegmentDefinitionDateDimensionPtr and SegmentDefinitionDateDimensionPtrOutput values. +// You can construct a concrete instance of `SegmentDefinitionDateDimensionPtrInput` via: +// +// SegmentDefinitionDateDimensionArgs{...} +// +// or: +// +// nil +type SegmentDefinitionDateDimensionPtrInput interface { + pulumi.Input + + ToSegmentDefinitionDateDimensionPtrOutput() SegmentDefinitionDateDimensionPtrOutput + ToSegmentDefinitionDateDimensionPtrOutputWithContext(context.Context) SegmentDefinitionDateDimensionPtrOutput +} + +type segmentDefinitionDateDimensionPtrType SegmentDefinitionDateDimensionArgs + +func SegmentDefinitionDateDimensionPtr(v *SegmentDefinitionDateDimensionArgs) SegmentDefinitionDateDimensionPtrInput { + return (*segmentDefinitionDateDimensionPtrType)(v) +} + +func (*segmentDefinitionDateDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionDateDimension)(nil)).Elem() +} + +func (i *segmentDefinitionDateDimensionPtrType) ToSegmentDefinitionDateDimensionPtrOutput() SegmentDefinitionDateDimensionPtrOutput { + return i.ToSegmentDefinitionDateDimensionPtrOutputWithContext(context.Background()) +} + +func (i *segmentDefinitionDateDimensionPtrType) ToSegmentDefinitionDateDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionDateDimensionPtrOutput) +} + +// Specifies date based criteria for a segment. +type SegmentDefinitionDateDimensionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionDateDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDateDimension)(nil)).Elem() +} + +func (o SegmentDefinitionDateDimensionOutput) ToSegmentDefinitionDateDimensionOutput() SegmentDefinitionDateDimensionOutput { + return o +} + +func (o SegmentDefinitionDateDimensionOutput) ToSegmentDefinitionDateDimensionOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionOutput { + return o +} + +func (o SegmentDefinitionDateDimensionOutput) ToSegmentDefinitionDateDimensionPtrOutput() SegmentDefinitionDateDimensionPtrOutput { + return o.ToSegmentDefinitionDateDimensionPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionDateDimensionOutput) ToSegmentDefinitionDateDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionDateDimension) *SegmentDefinitionDateDimension { + return &v + }).(SegmentDefinitionDateDimensionPtrOutput) +} + +func (o SegmentDefinitionDateDimensionOutput) DimensionType() SegmentDefinitionDateDimensionTypeOutput { + return o.ApplyT(func(v SegmentDefinitionDateDimension) SegmentDefinitionDateDimensionType { return v.DimensionType }).(SegmentDefinitionDateDimensionTypeOutput) +} + +func (o SegmentDefinitionDateDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v SegmentDefinitionDateDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type SegmentDefinitionDateDimensionPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionDateDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionDateDimension)(nil)).Elem() +} + +func (o SegmentDefinitionDateDimensionPtrOutput) ToSegmentDefinitionDateDimensionPtrOutput() SegmentDefinitionDateDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionDateDimensionPtrOutput) ToSegmentDefinitionDateDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionDateDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionDateDimensionPtrOutput) Elem() SegmentDefinitionDateDimensionOutput { + return o.ApplyT(func(v *SegmentDefinitionDateDimension) SegmentDefinitionDateDimension { + if v != nil { + return *v + } + var ret SegmentDefinitionDateDimension + return ret + }).(SegmentDefinitionDateDimensionOutput) +} + +func (o SegmentDefinitionDateDimensionPtrOutput) DimensionType() SegmentDefinitionDateDimensionTypePtrOutput { + return o.ApplyT(func(v *SegmentDefinitionDateDimension) *SegmentDefinitionDateDimensionType { + if v == nil { + return nil + } + return &v.DimensionType + }).(SegmentDefinitionDateDimensionTypePtrOutput) +} + +func (o SegmentDefinitionDateDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SegmentDefinitionDateDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +// The criteria that define the dimensions for the segment. +type SegmentDefinitionDimension0Properties struct { + ProfileAttributes SegmentDefinitionProfileAttributes `pulumi:"profileAttributes"` +} + +// SegmentDefinitionDimension0PropertiesInput is an input type that accepts SegmentDefinitionDimension0PropertiesArgs and SegmentDefinitionDimension0PropertiesOutput values. +// You can construct a concrete instance of `SegmentDefinitionDimension0PropertiesInput` via: +// +// SegmentDefinitionDimension0PropertiesArgs{...} +type SegmentDefinitionDimension0PropertiesInput interface { + pulumi.Input + + ToSegmentDefinitionDimension0PropertiesOutput() SegmentDefinitionDimension0PropertiesOutput + ToSegmentDefinitionDimension0PropertiesOutputWithContext(context.Context) SegmentDefinitionDimension0PropertiesOutput +} + +// The criteria that define the dimensions for the segment. +type SegmentDefinitionDimension0PropertiesArgs struct { + ProfileAttributes SegmentDefinitionProfileAttributesInput `pulumi:"profileAttributes"` +} + +func (SegmentDefinitionDimension0PropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDimension0Properties)(nil)).Elem() +} + +func (i SegmentDefinitionDimension0PropertiesArgs) ToSegmentDefinitionDimension0PropertiesOutput() SegmentDefinitionDimension0PropertiesOutput { + return i.ToSegmentDefinitionDimension0PropertiesOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionDimension0PropertiesArgs) ToSegmentDefinitionDimension0PropertiesOutputWithContext(ctx context.Context) SegmentDefinitionDimension0PropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionDimension0PropertiesOutput) +} + +// The criteria that define the dimensions for the segment. +type SegmentDefinitionDimension0PropertiesOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionDimension0PropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDimension0Properties)(nil)).Elem() +} + +func (o SegmentDefinitionDimension0PropertiesOutput) ToSegmentDefinitionDimension0PropertiesOutput() SegmentDefinitionDimension0PropertiesOutput { + return o +} + +func (o SegmentDefinitionDimension0PropertiesOutput) ToSegmentDefinitionDimension0PropertiesOutputWithContext(ctx context.Context) SegmentDefinitionDimension0PropertiesOutput { + return o +} + +func (o SegmentDefinitionDimension0PropertiesOutput) ProfileAttributes() SegmentDefinitionProfileAttributesOutput { + return o.ApplyT(func(v SegmentDefinitionDimension0Properties) SegmentDefinitionProfileAttributes { + return v.ProfileAttributes + }).(SegmentDefinitionProfileAttributesOutput) +} + +// The criteria that define the dimensions for the segment. +type SegmentDefinitionDimension1Properties struct { + CalculatedAttributes map[string]SegmentDefinitionCalculatedAttributeDimension `pulumi:"calculatedAttributes"` +} + +// SegmentDefinitionDimension1PropertiesInput is an input type that accepts SegmentDefinitionDimension1PropertiesArgs and SegmentDefinitionDimension1PropertiesOutput values. +// You can construct a concrete instance of `SegmentDefinitionDimension1PropertiesInput` via: +// +// SegmentDefinitionDimension1PropertiesArgs{...} +type SegmentDefinitionDimension1PropertiesInput interface { + pulumi.Input + + ToSegmentDefinitionDimension1PropertiesOutput() SegmentDefinitionDimension1PropertiesOutput + ToSegmentDefinitionDimension1PropertiesOutputWithContext(context.Context) SegmentDefinitionDimension1PropertiesOutput +} + +// The criteria that define the dimensions for the segment. +type SegmentDefinitionDimension1PropertiesArgs struct { + CalculatedAttributes SegmentDefinitionCalculatedAttributeDimensionMapInput `pulumi:"calculatedAttributes"` +} + +func (SegmentDefinitionDimension1PropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDimension1Properties)(nil)).Elem() +} + +func (i SegmentDefinitionDimension1PropertiesArgs) ToSegmentDefinitionDimension1PropertiesOutput() SegmentDefinitionDimension1PropertiesOutput { + return i.ToSegmentDefinitionDimension1PropertiesOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionDimension1PropertiesArgs) ToSegmentDefinitionDimension1PropertiesOutputWithContext(ctx context.Context) SegmentDefinitionDimension1PropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionDimension1PropertiesOutput) +} + +// The criteria that define the dimensions for the segment. +type SegmentDefinitionDimension1PropertiesOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionDimension1PropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionDimension1Properties)(nil)).Elem() +} + +func (o SegmentDefinitionDimension1PropertiesOutput) ToSegmentDefinitionDimension1PropertiesOutput() SegmentDefinitionDimension1PropertiesOutput { + return o +} + +func (o SegmentDefinitionDimension1PropertiesOutput) ToSegmentDefinitionDimension1PropertiesOutputWithContext(ctx context.Context) SegmentDefinitionDimension1PropertiesOutput { + return o +} + +func (o SegmentDefinitionDimension1PropertiesOutput) CalculatedAttributes() SegmentDefinitionCalculatedAttributeDimensionMapOutput { + return o.ApplyT(func(v SegmentDefinitionDimension1Properties) map[string]SegmentDefinitionCalculatedAttributeDimension { + return v.CalculatedAttributes + }).(SegmentDefinitionCalculatedAttributeDimensionMapOutput) +} + +// Specifies criteria for a segment using extended-length string values. +type SegmentDefinitionExtraLengthValueProfileDimension struct { + DimensionType SegmentDefinitionStringDimensionType `pulumi:"dimensionType"` + Values []string `pulumi:"values"` +} + +// SegmentDefinitionExtraLengthValueProfileDimensionInput is an input type that accepts SegmentDefinitionExtraLengthValueProfileDimensionArgs and SegmentDefinitionExtraLengthValueProfileDimensionOutput values. +// You can construct a concrete instance of `SegmentDefinitionExtraLengthValueProfileDimensionInput` via: +// +// SegmentDefinitionExtraLengthValueProfileDimensionArgs{...} +type SegmentDefinitionExtraLengthValueProfileDimensionInput interface { + pulumi.Input + + ToSegmentDefinitionExtraLengthValueProfileDimensionOutput() SegmentDefinitionExtraLengthValueProfileDimensionOutput + ToSegmentDefinitionExtraLengthValueProfileDimensionOutputWithContext(context.Context) SegmentDefinitionExtraLengthValueProfileDimensionOutput +} + +// Specifies criteria for a segment using extended-length string values. +type SegmentDefinitionExtraLengthValueProfileDimensionArgs struct { + DimensionType SegmentDefinitionStringDimensionTypeInput `pulumi:"dimensionType"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (SegmentDefinitionExtraLengthValueProfileDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionExtraLengthValueProfileDimension)(nil)).Elem() +} + +func (i SegmentDefinitionExtraLengthValueProfileDimensionArgs) ToSegmentDefinitionExtraLengthValueProfileDimensionOutput() SegmentDefinitionExtraLengthValueProfileDimensionOutput { + return i.ToSegmentDefinitionExtraLengthValueProfileDimensionOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionExtraLengthValueProfileDimensionArgs) ToSegmentDefinitionExtraLengthValueProfileDimensionOutputWithContext(ctx context.Context) SegmentDefinitionExtraLengthValueProfileDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionExtraLengthValueProfileDimensionOutput) +} + +func (i SegmentDefinitionExtraLengthValueProfileDimensionArgs) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutput() SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return i.ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionExtraLengthValueProfileDimensionArgs) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionExtraLengthValueProfileDimensionOutput).ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(ctx) +} + +// SegmentDefinitionExtraLengthValueProfileDimensionPtrInput is an input type that accepts SegmentDefinitionExtraLengthValueProfileDimensionArgs, SegmentDefinitionExtraLengthValueProfileDimensionPtr and SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput values. +// You can construct a concrete instance of `SegmentDefinitionExtraLengthValueProfileDimensionPtrInput` via: +// +// SegmentDefinitionExtraLengthValueProfileDimensionArgs{...} +// +// or: +// +// nil +type SegmentDefinitionExtraLengthValueProfileDimensionPtrInput interface { + pulumi.Input + + ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutput() SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput + ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(context.Context) SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput +} + +type segmentDefinitionExtraLengthValueProfileDimensionPtrType SegmentDefinitionExtraLengthValueProfileDimensionArgs + +func SegmentDefinitionExtraLengthValueProfileDimensionPtr(v *SegmentDefinitionExtraLengthValueProfileDimensionArgs) SegmentDefinitionExtraLengthValueProfileDimensionPtrInput { + return (*segmentDefinitionExtraLengthValueProfileDimensionPtrType)(v) +} + +func (*segmentDefinitionExtraLengthValueProfileDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionExtraLengthValueProfileDimension)(nil)).Elem() +} + +func (i *segmentDefinitionExtraLengthValueProfileDimensionPtrType) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutput() SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return i.ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(context.Background()) +} + +func (i *segmentDefinitionExtraLengthValueProfileDimensionPtrType) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) +} + +// Specifies criteria for a segment using extended-length string values. +type SegmentDefinitionExtraLengthValueProfileDimensionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionExtraLengthValueProfileDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionExtraLengthValueProfileDimension)(nil)).Elem() +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionOutput) ToSegmentDefinitionExtraLengthValueProfileDimensionOutput() SegmentDefinitionExtraLengthValueProfileDimensionOutput { + return o +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionOutput) ToSegmentDefinitionExtraLengthValueProfileDimensionOutputWithContext(ctx context.Context) SegmentDefinitionExtraLengthValueProfileDimensionOutput { + return o +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionOutput) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutput() SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return o.ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionOutput) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionExtraLengthValueProfileDimension) *SegmentDefinitionExtraLengthValueProfileDimension { + return &v + }).(SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionOutput) DimensionType() SegmentDefinitionStringDimensionTypeOutput { + return o.ApplyT(func(v SegmentDefinitionExtraLengthValueProfileDimension) SegmentDefinitionStringDimensionType { + return v.DimensionType + }).(SegmentDefinitionStringDimensionTypeOutput) +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v SegmentDefinitionExtraLengthValueProfileDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionExtraLengthValueProfileDimension)(nil)).Elem() +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutput() SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) ToSegmentDefinitionExtraLengthValueProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) Elem() SegmentDefinitionExtraLengthValueProfileDimensionOutput { + return o.ApplyT(func(v *SegmentDefinitionExtraLengthValueProfileDimension) SegmentDefinitionExtraLengthValueProfileDimension { + if v != nil { + return *v + } + var ret SegmentDefinitionExtraLengthValueProfileDimension + return ret + }).(SegmentDefinitionExtraLengthValueProfileDimensionOutput) +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) DimensionType() SegmentDefinitionStringDimensionTypePtrOutput { + return o.ApplyT(func(v *SegmentDefinitionExtraLengthValueProfileDimension) *SegmentDefinitionStringDimensionType { + if v == nil { + return nil + } + return &v.DimensionType + }).(SegmentDefinitionStringDimensionTypePtrOutput) +} + +func (o SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SegmentDefinitionExtraLengthValueProfileDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. +type SegmentDefinitionGroup struct { + Dimensions []interface{} `pulumi:"dimensions"` + SourceSegments []SegmentDefinitionSourceSegment `pulumi:"sourceSegments"` + SourceType *SegmentDefinitionIncludeOptions `pulumi:"sourceType"` + Type *SegmentDefinitionIncludeOptions `pulumi:"type"` +} + +// SegmentDefinitionGroupInput is an input type that accepts SegmentDefinitionGroupArgs and SegmentDefinitionGroupOutput values. +// You can construct a concrete instance of `SegmentDefinitionGroupInput` via: +// +// SegmentDefinitionGroupArgs{...} +type SegmentDefinitionGroupInput interface { + pulumi.Input + + ToSegmentDefinitionGroupOutput() SegmentDefinitionGroupOutput + ToSegmentDefinitionGroupOutputWithContext(context.Context) SegmentDefinitionGroupOutput +} + +// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. +type SegmentDefinitionGroupArgs struct { + Dimensions pulumi.ArrayInput `pulumi:"dimensions"` + SourceSegments SegmentDefinitionSourceSegmentArrayInput `pulumi:"sourceSegments"` + SourceType SegmentDefinitionIncludeOptionsPtrInput `pulumi:"sourceType"` + Type SegmentDefinitionIncludeOptionsPtrInput `pulumi:"type"` +} + +func (SegmentDefinitionGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionGroup)(nil)).Elem() +} + +func (i SegmentDefinitionGroupArgs) ToSegmentDefinitionGroupOutput() SegmentDefinitionGroupOutput { + return i.ToSegmentDefinitionGroupOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionGroupArgs) ToSegmentDefinitionGroupOutputWithContext(ctx context.Context) SegmentDefinitionGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionGroupOutput) +} + +// SegmentDefinitionGroupArrayInput is an input type that accepts SegmentDefinitionGroupArray and SegmentDefinitionGroupArrayOutput values. +// You can construct a concrete instance of `SegmentDefinitionGroupArrayInput` via: +// +// SegmentDefinitionGroupArray{ SegmentDefinitionGroupArgs{...} } +type SegmentDefinitionGroupArrayInput interface { + pulumi.Input + + ToSegmentDefinitionGroupArrayOutput() SegmentDefinitionGroupArrayOutput + ToSegmentDefinitionGroupArrayOutputWithContext(context.Context) SegmentDefinitionGroupArrayOutput +} + +type SegmentDefinitionGroupArray []SegmentDefinitionGroupInput + +func (SegmentDefinitionGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SegmentDefinitionGroup)(nil)).Elem() +} + +func (i SegmentDefinitionGroupArray) ToSegmentDefinitionGroupArrayOutput() SegmentDefinitionGroupArrayOutput { + return i.ToSegmentDefinitionGroupArrayOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionGroupArray) ToSegmentDefinitionGroupArrayOutputWithContext(ctx context.Context) SegmentDefinitionGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionGroupArrayOutput) +} + +// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. +type SegmentDefinitionGroupOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionGroup)(nil)).Elem() +} + +func (o SegmentDefinitionGroupOutput) ToSegmentDefinitionGroupOutput() SegmentDefinitionGroupOutput { + return o +} + +func (o SegmentDefinitionGroupOutput) ToSegmentDefinitionGroupOutputWithContext(ctx context.Context) SegmentDefinitionGroupOutput { + return o +} + +func (o SegmentDefinitionGroupOutput) Dimensions() pulumi.ArrayOutput { + return o.ApplyT(func(v SegmentDefinitionGroup) []interface{} { return v.Dimensions }).(pulumi.ArrayOutput) +} + +func (o SegmentDefinitionGroupOutput) SourceSegments() SegmentDefinitionSourceSegmentArrayOutput { + return o.ApplyT(func(v SegmentDefinitionGroup) []SegmentDefinitionSourceSegment { return v.SourceSegments }).(SegmentDefinitionSourceSegmentArrayOutput) +} + +func (o SegmentDefinitionGroupOutput) SourceType() SegmentDefinitionIncludeOptionsPtrOutput { + return o.ApplyT(func(v SegmentDefinitionGroup) *SegmentDefinitionIncludeOptions { return v.SourceType }).(SegmentDefinitionIncludeOptionsPtrOutput) +} + +func (o SegmentDefinitionGroupOutput) Type() SegmentDefinitionIncludeOptionsPtrOutput { + return o.ApplyT(func(v SegmentDefinitionGroup) *SegmentDefinitionIncludeOptions { return v.Type }).(SegmentDefinitionIncludeOptionsPtrOutput) +} + +type SegmentDefinitionGroupArrayOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SegmentDefinitionGroup)(nil)).Elem() +} + +func (o SegmentDefinitionGroupArrayOutput) ToSegmentDefinitionGroupArrayOutput() SegmentDefinitionGroupArrayOutput { + return o +} + +func (o SegmentDefinitionGroupArrayOutput) ToSegmentDefinitionGroupArrayOutputWithContext(ctx context.Context) SegmentDefinitionGroupArrayOutput { + return o +} + +func (o SegmentDefinitionGroupArrayOutput) Index(i pulumi.IntInput) SegmentDefinitionGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SegmentDefinitionGroup { + return vs[0].([]SegmentDefinitionGroup)[vs[1].(int)] + }).(SegmentDefinitionGroupOutput) +} + +// Specifies the dimension settings within profile attributes for a segment. +type SegmentDefinitionProfileAttributes struct { + AccountNumber *SegmentDefinitionProfileDimension `pulumi:"accountNumber"` + AdditionalInformation *SegmentDefinitionExtraLengthValueProfileDimension `pulumi:"additionalInformation"` + Address *SegmentDefinitionAddressDimension `pulumi:"address"` + Attributes map[string]SegmentDefinitionAttributeDimension `pulumi:"attributes"` + BillingAddress *SegmentDefinitionAddressDimension `pulumi:"billingAddress"` + BirthDate *SegmentDefinitionDateDimension `pulumi:"birthDate"` + BusinessEmailAddress *SegmentDefinitionProfileDimension `pulumi:"businessEmailAddress"` + BusinessName *SegmentDefinitionProfileDimension `pulumi:"businessName"` + BusinessPhoneNumber *SegmentDefinitionProfileDimension `pulumi:"businessPhoneNumber"` + EmailAddress *SegmentDefinitionProfileDimension `pulumi:"emailAddress"` + FirstName *SegmentDefinitionProfileDimension `pulumi:"firstName"` + GenderString *SegmentDefinitionProfileDimension `pulumi:"genderString"` + HomePhoneNumber *SegmentDefinitionProfileDimension `pulumi:"homePhoneNumber"` + LastName *SegmentDefinitionProfileDimension `pulumi:"lastName"` + MailingAddress *SegmentDefinitionAddressDimension `pulumi:"mailingAddress"` + MiddleName *SegmentDefinitionProfileDimension `pulumi:"middleName"` + MobilePhoneNumber *SegmentDefinitionProfileDimension `pulumi:"mobilePhoneNumber"` + PartyTypeString *SegmentDefinitionProfileDimension `pulumi:"partyTypeString"` + PersonalEmailAddress *SegmentDefinitionProfileDimension `pulumi:"personalEmailAddress"` + PhoneNumber *SegmentDefinitionProfileDimension `pulumi:"phoneNumber"` + ShippingAddress *SegmentDefinitionAddressDimension `pulumi:"shippingAddress"` +} + +// SegmentDefinitionProfileAttributesInput is an input type that accepts SegmentDefinitionProfileAttributesArgs and SegmentDefinitionProfileAttributesOutput values. +// You can construct a concrete instance of `SegmentDefinitionProfileAttributesInput` via: +// +// SegmentDefinitionProfileAttributesArgs{...} +type SegmentDefinitionProfileAttributesInput interface { + pulumi.Input + + ToSegmentDefinitionProfileAttributesOutput() SegmentDefinitionProfileAttributesOutput + ToSegmentDefinitionProfileAttributesOutputWithContext(context.Context) SegmentDefinitionProfileAttributesOutput +} + +// Specifies the dimension settings within profile attributes for a segment. +type SegmentDefinitionProfileAttributesArgs struct { + AccountNumber SegmentDefinitionProfileDimensionPtrInput `pulumi:"accountNumber"` + AdditionalInformation SegmentDefinitionExtraLengthValueProfileDimensionPtrInput `pulumi:"additionalInformation"` + Address SegmentDefinitionAddressDimensionPtrInput `pulumi:"address"` + Attributes SegmentDefinitionAttributeDimensionMapInput `pulumi:"attributes"` + BillingAddress SegmentDefinitionAddressDimensionPtrInput `pulumi:"billingAddress"` + BirthDate SegmentDefinitionDateDimensionPtrInput `pulumi:"birthDate"` + BusinessEmailAddress SegmentDefinitionProfileDimensionPtrInput `pulumi:"businessEmailAddress"` + BusinessName SegmentDefinitionProfileDimensionPtrInput `pulumi:"businessName"` + BusinessPhoneNumber SegmentDefinitionProfileDimensionPtrInput `pulumi:"businessPhoneNumber"` + EmailAddress SegmentDefinitionProfileDimensionPtrInput `pulumi:"emailAddress"` + FirstName SegmentDefinitionProfileDimensionPtrInput `pulumi:"firstName"` + GenderString SegmentDefinitionProfileDimensionPtrInput `pulumi:"genderString"` + HomePhoneNumber SegmentDefinitionProfileDimensionPtrInput `pulumi:"homePhoneNumber"` + LastName SegmentDefinitionProfileDimensionPtrInput `pulumi:"lastName"` + MailingAddress SegmentDefinitionAddressDimensionPtrInput `pulumi:"mailingAddress"` + MiddleName SegmentDefinitionProfileDimensionPtrInput `pulumi:"middleName"` + MobilePhoneNumber SegmentDefinitionProfileDimensionPtrInput `pulumi:"mobilePhoneNumber"` + PartyTypeString SegmentDefinitionProfileDimensionPtrInput `pulumi:"partyTypeString"` + PersonalEmailAddress SegmentDefinitionProfileDimensionPtrInput `pulumi:"personalEmailAddress"` + PhoneNumber SegmentDefinitionProfileDimensionPtrInput `pulumi:"phoneNumber"` + ShippingAddress SegmentDefinitionAddressDimensionPtrInput `pulumi:"shippingAddress"` +} + +func (SegmentDefinitionProfileAttributesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionProfileAttributes)(nil)).Elem() +} + +func (i SegmentDefinitionProfileAttributesArgs) ToSegmentDefinitionProfileAttributesOutput() SegmentDefinitionProfileAttributesOutput { + return i.ToSegmentDefinitionProfileAttributesOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionProfileAttributesArgs) ToSegmentDefinitionProfileAttributesOutputWithContext(ctx context.Context) SegmentDefinitionProfileAttributesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionProfileAttributesOutput) +} + +// Specifies the dimension settings within profile attributes for a segment. +type SegmentDefinitionProfileAttributesOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionProfileAttributesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionProfileAttributes)(nil)).Elem() +} + +func (o SegmentDefinitionProfileAttributesOutput) ToSegmentDefinitionProfileAttributesOutput() SegmentDefinitionProfileAttributesOutput { + return o +} + +func (o SegmentDefinitionProfileAttributesOutput) ToSegmentDefinitionProfileAttributesOutputWithContext(ctx context.Context) SegmentDefinitionProfileAttributesOutput { + return o +} + +func (o SegmentDefinitionProfileAttributesOutput) AccountNumber() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.AccountNumber }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) AdditionalInformation() SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionExtraLengthValueProfileDimension { + return v.AdditionalInformation + }).(SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) Address() SegmentDefinitionAddressDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionAddressDimension { return v.Address }).(SegmentDefinitionAddressDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) Attributes() SegmentDefinitionAttributeDimensionMapOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) map[string]SegmentDefinitionAttributeDimension { + return v.Attributes + }).(SegmentDefinitionAttributeDimensionMapOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) BillingAddress() SegmentDefinitionAddressDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionAddressDimension { return v.BillingAddress }).(SegmentDefinitionAddressDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) BirthDate() SegmentDefinitionDateDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionDateDimension { return v.BirthDate }).(SegmentDefinitionDateDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) BusinessEmailAddress() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { + return v.BusinessEmailAddress + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) BusinessName() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.BusinessName }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) BusinessPhoneNumber() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { + return v.BusinessPhoneNumber + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) EmailAddress() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.EmailAddress }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) FirstName() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.FirstName }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) GenderString() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.GenderString }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) HomePhoneNumber() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { + return v.HomePhoneNumber + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) LastName() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.LastName }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) MailingAddress() SegmentDefinitionAddressDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionAddressDimension { return v.MailingAddress }).(SegmentDefinitionAddressDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) MiddleName() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.MiddleName }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) MobilePhoneNumber() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { + return v.MobilePhoneNumber + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) PartyTypeString() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { + return v.PartyTypeString + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) PersonalEmailAddress() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { + return v.PersonalEmailAddress + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) PhoneNumber() SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionProfileDimension { return v.PhoneNumber }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileAttributesOutput) ShippingAddress() SegmentDefinitionAddressDimensionPtrOutput { + return o.ApplyT(func(v SegmentDefinitionProfileAttributes) *SegmentDefinitionAddressDimension { + return v.ShippingAddress + }).(SegmentDefinitionAddressDimensionPtrOutput) +} + +// Specifies profile based criteria for a segment. +type SegmentDefinitionProfileDimension struct { + DimensionType SegmentDefinitionStringDimensionType `pulumi:"dimensionType"` + Values []string `pulumi:"values"` +} + +// SegmentDefinitionProfileDimensionInput is an input type that accepts SegmentDefinitionProfileDimensionArgs and SegmentDefinitionProfileDimensionOutput values. +// You can construct a concrete instance of `SegmentDefinitionProfileDimensionInput` via: +// +// SegmentDefinitionProfileDimensionArgs{...} +type SegmentDefinitionProfileDimensionInput interface { + pulumi.Input + + ToSegmentDefinitionProfileDimensionOutput() SegmentDefinitionProfileDimensionOutput + ToSegmentDefinitionProfileDimensionOutputWithContext(context.Context) SegmentDefinitionProfileDimensionOutput +} + +// Specifies profile based criteria for a segment. +type SegmentDefinitionProfileDimensionArgs struct { + DimensionType SegmentDefinitionStringDimensionTypeInput `pulumi:"dimensionType"` + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (SegmentDefinitionProfileDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionProfileDimension)(nil)).Elem() +} + +func (i SegmentDefinitionProfileDimensionArgs) ToSegmentDefinitionProfileDimensionOutput() SegmentDefinitionProfileDimensionOutput { + return i.ToSegmentDefinitionProfileDimensionOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionProfileDimensionArgs) ToSegmentDefinitionProfileDimensionOutputWithContext(ctx context.Context) SegmentDefinitionProfileDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionProfileDimensionOutput) +} + +func (i SegmentDefinitionProfileDimensionArgs) ToSegmentDefinitionProfileDimensionPtrOutput() SegmentDefinitionProfileDimensionPtrOutput { + return i.ToSegmentDefinitionProfileDimensionPtrOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionProfileDimensionArgs) ToSegmentDefinitionProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionProfileDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionProfileDimensionOutput).ToSegmentDefinitionProfileDimensionPtrOutputWithContext(ctx) +} + +// SegmentDefinitionProfileDimensionPtrInput is an input type that accepts SegmentDefinitionProfileDimensionArgs, SegmentDefinitionProfileDimensionPtr and SegmentDefinitionProfileDimensionPtrOutput values. +// You can construct a concrete instance of `SegmentDefinitionProfileDimensionPtrInput` via: +// +// SegmentDefinitionProfileDimensionArgs{...} +// +// or: +// +// nil +type SegmentDefinitionProfileDimensionPtrInput interface { + pulumi.Input + + ToSegmentDefinitionProfileDimensionPtrOutput() SegmentDefinitionProfileDimensionPtrOutput + ToSegmentDefinitionProfileDimensionPtrOutputWithContext(context.Context) SegmentDefinitionProfileDimensionPtrOutput +} + +type segmentDefinitionProfileDimensionPtrType SegmentDefinitionProfileDimensionArgs + +func SegmentDefinitionProfileDimensionPtr(v *SegmentDefinitionProfileDimensionArgs) SegmentDefinitionProfileDimensionPtrInput { + return (*segmentDefinitionProfileDimensionPtrType)(v) +} + +func (*segmentDefinitionProfileDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionProfileDimension)(nil)).Elem() +} + +func (i *segmentDefinitionProfileDimensionPtrType) ToSegmentDefinitionProfileDimensionPtrOutput() SegmentDefinitionProfileDimensionPtrOutput { + return i.ToSegmentDefinitionProfileDimensionPtrOutputWithContext(context.Background()) +} + +func (i *segmentDefinitionProfileDimensionPtrType) ToSegmentDefinitionProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionProfileDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionProfileDimensionPtrOutput) +} + +// Specifies profile based criteria for a segment. +type SegmentDefinitionProfileDimensionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionProfileDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionProfileDimension)(nil)).Elem() +} + +func (o SegmentDefinitionProfileDimensionOutput) ToSegmentDefinitionProfileDimensionOutput() SegmentDefinitionProfileDimensionOutput { + return o +} + +func (o SegmentDefinitionProfileDimensionOutput) ToSegmentDefinitionProfileDimensionOutputWithContext(ctx context.Context) SegmentDefinitionProfileDimensionOutput { + return o +} + +func (o SegmentDefinitionProfileDimensionOutput) ToSegmentDefinitionProfileDimensionPtrOutput() SegmentDefinitionProfileDimensionPtrOutput { + return o.ToSegmentDefinitionProfileDimensionPtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionProfileDimensionOutput) ToSegmentDefinitionProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionProfileDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionProfileDimension) *SegmentDefinitionProfileDimension { + return &v + }).(SegmentDefinitionProfileDimensionPtrOutput) +} + +func (o SegmentDefinitionProfileDimensionOutput) DimensionType() SegmentDefinitionStringDimensionTypeOutput { + return o.ApplyT(func(v SegmentDefinitionProfileDimension) SegmentDefinitionStringDimensionType { return v.DimensionType }).(SegmentDefinitionStringDimensionTypeOutput) +} + +func (o SegmentDefinitionProfileDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v SegmentDefinitionProfileDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type SegmentDefinitionProfileDimensionPtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionProfileDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionProfileDimension)(nil)).Elem() +} + +func (o SegmentDefinitionProfileDimensionPtrOutput) ToSegmentDefinitionProfileDimensionPtrOutput() SegmentDefinitionProfileDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionProfileDimensionPtrOutput) ToSegmentDefinitionProfileDimensionPtrOutputWithContext(ctx context.Context) SegmentDefinitionProfileDimensionPtrOutput { + return o +} + +func (o SegmentDefinitionProfileDimensionPtrOutput) Elem() SegmentDefinitionProfileDimensionOutput { + return o.ApplyT(func(v *SegmentDefinitionProfileDimension) SegmentDefinitionProfileDimension { + if v != nil { + return *v + } + var ret SegmentDefinitionProfileDimension + return ret + }).(SegmentDefinitionProfileDimensionOutput) +} + +func (o SegmentDefinitionProfileDimensionPtrOutput) DimensionType() SegmentDefinitionStringDimensionTypePtrOutput { + return o.ApplyT(func(v *SegmentDefinitionProfileDimension) *SegmentDefinitionStringDimensionType { + if v == nil { + return nil + } + return &v.DimensionType + }).(SegmentDefinitionStringDimensionTypePtrOutput) +} + +func (o SegmentDefinitionProfileDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SegmentDefinitionProfileDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +// Defines the range to be applied to the calculated attribute definition. +type SegmentDefinitionRangeOverride struct { + // The ending point for this overridden range. + End *int `pulumi:"end"` + // The starting point for this overridden range. + Start int `pulumi:"start"` + // The unit to be applied to the range. + Unit SegmentDefinitionRangeOverrideUnit `pulumi:"unit"` +} + +// SegmentDefinitionRangeOverrideInput is an input type that accepts SegmentDefinitionRangeOverrideArgs and SegmentDefinitionRangeOverrideOutput values. +// You can construct a concrete instance of `SegmentDefinitionRangeOverrideInput` via: +// +// SegmentDefinitionRangeOverrideArgs{...} +type SegmentDefinitionRangeOverrideInput interface { + pulumi.Input + + ToSegmentDefinitionRangeOverrideOutput() SegmentDefinitionRangeOverrideOutput + ToSegmentDefinitionRangeOverrideOutputWithContext(context.Context) SegmentDefinitionRangeOverrideOutput +} + +// Defines the range to be applied to the calculated attribute definition. +type SegmentDefinitionRangeOverrideArgs struct { + // The ending point for this overridden range. + End pulumi.IntPtrInput `pulumi:"end"` + // The starting point for this overridden range. + Start pulumi.IntInput `pulumi:"start"` + // The unit to be applied to the range. + Unit SegmentDefinitionRangeOverrideUnitInput `pulumi:"unit"` +} + +func (SegmentDefinitionRangeOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionRangeOverride)(nil)).Elem() +} + +func (i SegmentDefinitionRangeOverrideArgs) ToSegmentDefinitionRangeOverrideOutput() SegmentDefinitionRangeOverrideOutput { + return i.ToSegmentDefinitionRangeOverrideOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionRangeOverrideArgs) ToSegmentDefinitionRangeOverrideOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionRangeOverrideOutput) +} + +func (i SegmentDefinitionRangeOverrideArgs) ToSegmentDefinitionRangeOverridePtrOutput() SegmentDefinitionRangeOverridePtrOutput { + return i.ToSegmentDefinitionRangeOverridePtrOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionRangeOverrideArgs) ToSegmentDefinitionRangeOverridePtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionRangeOverrideOutput).ToSegmentDefinitionRangeOverridePtrOutputWithContext(ctx) +} + +// SegmentDefinitionRangeOverridePtrInput is an input type that accepts SegmentDefinitionRangeOverrideArgs, SegmentDefinitionRangeOverridePtr and SegmentDefinitionRangeOverridePtrOutput values. +// You can construct a concrete instance of `SegmentDefinitionRangeOverridePtrInput` via: +// +// SegmentDefinitionRangeOverrideArgs{...} +// +// or: +// +// nil +type SegmentDefinitionRangeOverridePtrInput interface { + pulumi.Input + + ToSegmentDefinitionRangeOverridePtrOutput() SegmentDefinitionRangeOverridePtrOutput + ToSegmentDefinitionRangeOverridePtrOutputWithContext(context.Context) SegmentDefinitionRangeOverridePtrOutput +} + +type segmentDefinitionRangeOverridePtrType SegmentDefinitionRangeOverrideArgs + +func SegmentDefinitionRangeOverridePtr(v *SegmentDefinitionRangeOverrideArgs) SegmentDefinitionRangeOverridePtrInput { + return (*segmentDefinitionRangeOverridePtrType)(v) +} + +func (*segmentDefinitionRangeOverridePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionRangeOverride)(nil)).Elem() +} + +func (i *segmentDefinitionRangeOverridePtrType) ToSegmentDefinitionRangeOverridePtrOutput() SegmentDefinitionRangeOverridePtrOutput { + return i.ToSegmentDefinitionRangeOverridePtrOutputWithContext(context.Background()) +} + +func (i *segmentDefinitionRangeOverridePtrType) ToSegmentDefinitionRangeOverridePtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverridePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionRangeOverridePtrOutput) +} + +// Defines the range to be applied to the calculated attribute definition. +type SegmentDefinitionRangeOverrideOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionRangeOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionRangeOverride)(nil)).Elem() +} + +func (o SegmentDefinitionRangeOverrideOutput) ToSegmentDefinitionRangeOverrideOutput() SegmentDefinitionRangeOverrideOutput { + return o +} + +func (o SegmentDefinitionRangeOverrideOutput) ToSegmentDefinitionRangeOverrideOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverrideOutput { + return o +} + +func (o SegmentDefinitionRangeOverrideOutput) ToSegmentDefinitionRangeOverridePtrOutput() SegmentDefinitionRangeOverridePtrOutput { + return o.ToSegmentDefinitionRangeOverridePtrOutputWithContext(context.Background()) +} + +func (o SegmentDefinitionRangeOverrideOutput) ToSegmentDefinitionRangeOverridePtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverridePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SegmentDefinitionRangeOverride) *SegmentDefinitionRangeOverride { + return &v + }).(SegmentDefinitionRangeOverridePtrOutput) +} + +// The ending point for this overridden range. +func (o SegmentDefinitionRangeOverrideOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v SegmentDefinitionRangeOverride) *int { return v.End }).(pulumi.IntPtrOutput) +} + +// The starting point for this overridden range. +func (o SegmentDefinitionRangeOverrideOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v SegmentDefinitionRangeOverride) int { return v.Start }).(pulumi.IntOutput) +} + +// The unit to be applied to the range. +func (o SegmentDefinitionRangeOverrideOutput) Unit() SegmentDefinitionRangeOverrideUnitOutput { + return o.ApplyT(func(v SegmentDefinitionRangeOverride) SegmentDefinitionRangeOverrideUnit { return v.Unit }).(SegmentDefinitionRangeOverrideUnitOutput) +} + +type SegmentDefinitionRangeOverridePtrOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionRangeOverridePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinitionRangeOverride)(nil)).Elem() +} + +func (o SegmentDefinitionRangeOverridePtrOutput) ToSegmentDefinitionRangeOverridePtrOutput() SegmentDefinitionRangeOverridePtrOutput { + return o +} + +func (o SegmentDefinitionRangeOverridePtrOutput) ToSegmentDefinitionRangeOverridePtrOutputWithContext(ctx context.Context) SegmentDefinitionRangeOverridePtrOutput { + return o +} + +func (o SegmentDefinitionRangeOverridePtrOutput) Elem() SegmentDefinitionRangeOverrideOutput { + return o.ApplyT(func(v *SegmentDefinitionRangeOverride) SegmentDefinitionRangeOverride { + if v != nil { + return *v + } + var ret SegmentDefinitionRangeOverride + return ret + }).(SegmentDefinitionRangeOverrideOutput) +} + +// The ending point for this overridden range. +func (o SegmentDefinitionRangeOverridePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionRangeOverride) *int { + if v == nil { + return nil + } + return v.End + }).(pulumi.IntPtrOutput) +} + +// The starting point for this overridden range. +func (o SegmentDefinitionRangeOverridePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionRangeOverride) *int { + if v == nil { + return nil + } + return &v.Start + }).(pulumi.IntPtrOutput) +} + +// The unit to be applied to the range. +func (o SegmentDefinitionRangeOverridePtrOutput) Unit() SegmentDefinitionRangeOverrideUnitPtrOutput { + return o.ApplyT(func(v *SegmentDefinitionRangeOverride) *SegmentDefinitionRangeOverrideUnit { + if v == nil { + return nil + } + return &v.Unit + }).(SegmentDefinitionRangeOverrideUnitPtrOutput) +} + +type SegmentDefinitionSegmentGroup struct { + Groups []SegmentDefinitionGroup `pulumi:"groups"` + Include *SegmentDefinitionIncludeOptions `pulumi:"include"` +} + +// SegmentDefinitionSegmentGroupInput is an input type that accepts SegmentDefinitionSegmentGroupArgs and SegmentDefinitionSegmentGroupOutput values. +// You can construct a concrete instance of `SegmentDefinitionSegmentGroupInput` via: +// +// SegmentDefinitionSegmentGroupArgs{...} +type SegmentDefinitionSegmentGroupInput interface { + pulumi.Input + + ToSegmentDefinitionSegmentGroupOutput() SegmentDefinitionSegmentGroupOutput + ToSegmentDefinitionSegmentGroupOutputWithContext(context.Context) SegmentDefinitionSegmentGroupOutput +} + +type SegmentDefinitionSegmentGroupArgs struct { + Groups SegmentDefinitionGroupArrayInput `pulumi:"groups"` + Include SegmentDefinitionIncludeOptionsPtrInput `pulumi:"include"` +} + +func (SegmentDefinitionSegmentGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionSegmentGroup)(nil)).Elem() +} + +func (i SegmentDefinitionSegmentGroupArgs) ToSegmentDefinitionSegmentGroupOutput() SegmentDefinitionSegmentGroupOutput { + return i.ToSegmentDefinitionSegmentGroupOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionSegmentGroupArgs) ToSegmentDefinitionSegmentGroupOutputWithContext(ctx context.Context) SegmentDefinitionSegmentGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionSegmentGroupOutput) +} + +type SegmentDefinitionSegmentGroupOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionSegmentGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionSegmentGroup)(nil)).Elem() +} + +func (o SegmentDefinitionSegmentGroupOutput) ToSegmentDefinitionSegmentGroupOutput() SegmentDefinitionSegmentGroupOutput { + return o +} + +func (o SegmentDefinitionSegmentGroupOutput) ToSegmentDefinitionSegmentGroupOutputWithContext(ctx context.Context) SegmentDefinitionSegmentGroupOutput { + return o +} + +func (o SegmentDefinitionSegmentGroupOutput) Groups() SegmentDefinitionGroupArrayOutput { + return o.ApplyT(func(v SegmentDefinitionSegmentGroup) []SegmentDefinitionGroup { return v.Groups }).(SegmentDefinitionGroupArrayOutput) +} + +func (o SegmentDefinitionSegmentGroupOutput) Include() SegmentDefinitionIncludeOptionsPtrOutput { + return o.ApplyT(func(v SegmentDefinitionSegmentGroup) *SegmentDefinitionIncludeOptions { return v.Include }).(SegmentDefinitionIncludeOptionsPtrOutput) +} + +// The base segment to build the segment on. +type SegmentDefinitionSourceSegment struct { + SegmentDefinitionName *string `pulumi:"segmentDefinitionName"` +} + +// SegmentDefinitionSourceSegmentInput is an input type that accepts SegmentDefinitionSourceSegmentArgs and SegmentDefinitionSourceSegmentOutput values. +// You can construct a concrete instance of `SegmentDefinitionSourceSegmentInput` via: +// +// SegmentDefinitionSourceSegmentArgs{...} +type SegmentDefinitionSourceSegmentInput interface { + pulumi.Input + + ToSegmentDefinitionSourceSegmentOutput() SegmentDefinitionSourceSegmentOutput + ToSegmentDefinitionSourceSegmentOutputWithContext(context.Context) SegmentDefinitionSourceSegmentOutput +} + +// The base segment to build the segment on. +type SegmentDefinitionSourceSegmentArgs struct { + SegmentDefinitionName pulumi.StringPtrInput `pulumi:"segmentDefinitionName"` +} + +func (SegmentDefinitionSourceSegmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionSourceSegment)(nil)).Elem() +} + +func (i SegmentDefinitionSourceSegmentArgs) ToSegmentDefinitionSourceSegmentOutput() SegmentDefinitionSourceSegmentOutput { + return i.ToSegmentDefinitionSourceSegmentOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionSourceSegmentArgs) ToSegmentDefinitionSourceSegmentOutputWithContext(ctx context.Context) SegmentDefinitionSourceSegmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionSourceSegmentOutput) +} + +// SegmentDefinitionSourceSegmentArrayInput is an input type that accepts SegmentDefinitionSourceSegmentArray and SegmentDefinitionSourceSegmentArrayOutput values. +// You can construct a concrete instance of `SegmentDefinitionSourceSegmentArrayInput` via: +// +// SegmentDefinitionSourceSegmentArray{ SegmentDefinitionSourceSegmentArgs{...} } +type SegmentDefinitionSourceSegmentArrayInput interface { + pulumi.Input + + ToSegmentDefinitionSourceSegmentArrayOutput() SegmentDefinitionSourceSegmentArrayOutput + ToSegmentDefinitionSourceSegmentArrayOutputWithContext(context.Context) SegmentDefinitionSourceSegmentArrayOutput +} + +type SegmentDefinitionSourceSegmentArray []SegmentDefinitionSourceSegmentInput + +func (SegmentDefinitionSourceSegmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SegmentDefinitionSourceSegment)(nil)).Elem() +} + +func (i SegmentDefinitionSourceSegmentArray) ToSegmentDefinitionSourceSegmentArrayOutput() SegmentDefinitionSourceSegmentArrayOutput { + return i.ToSegmentDefinitionSourceSegmentArrayOutputWithContext(context.Background()) +} + +func (i SegmentDefinitionSourceSegmentArray) ToSegmentDefinitionSourceSegmentArrayOutputWithContext(ctx context.Context) SegmentDefinitionSourceSegmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionSourceSegmentArrayOutput) +} + +// The base segment to build the segment on. +type SegmentDefinitionSourceSegmentOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionSourceSegmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SegmentDefinitionSourceSegment)(nil)).Elem() +} + +func (o SegmentDefinitionSourceSegmentOutput) ToSegmentDefinitionSourceSegmentOutput() SegmentDefinitionSourceSegmentOutput { + return o +} + +func (o SegmentDefinitionSourceSegmentOutput) ToSegmentDefinitionSourceSegmentOutputWithContext(ctx context.Context) SegmentDefinitionSourceSegmentOutput { + return o +} + +func (o SegmentDefinitionSourceSegmentOutput) SegmentDefinitionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SegmentDefinitionSourceSegment) *string { return v.SegmentDefinitionName }).(pulumi.StringPtrOutput) +} + +type SegmentDefinitionSourceSegmentArrayOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionSourceSegmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SegmentDefinitionSourceSegment)(nil)).Elem() +} + +func (o SegmentDefinitionSourceSegmentArrayOutput) ToSegmentDefinitionSourceSegmentArrayOutput() SegmentDefinitionSourceSegmentArrayOutput { + return o +} + +func (o SegmentDefinitionSourceSegmentArrayOutput) ToSegmentDefinitionSourceSegmentArrayOutputWithContext(ctx context.Context) SegmentDefinitionSourceSegmentArrayOutput { + return o +} + +func (o SegmentDefinitionSourceSegmentArrayOutput) Index(i pulumi.IntInput) SegmentDefinitionSourceSegmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SegmentDefinitionSourceSegment { + return vs[0].([]SegmentDefinitionSourceSegment)[vs[1].(int)] + }).(SegmentDefinitionSourceSegmentOutput) +} + +// A key-value pair to associate with a resource. +type SegmentDefinitionTag 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"` +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*CalculatedAttributeDefinitionAttributeDetailsInput)(nil)).Elem(), CalculatedAttributeDefinitionAttributeDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CalculatedAttributeDefinitionAttributeItemInput)(nil)).Elem(), CalculatedAttributeDefinitionAttributeItemArgs{}) @@ -5861,6 +7632,30 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ObjectTypeKeyArrayInput)(nil)).Elem(), ObjectTypeKeyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ObjectTypeKeyMapInput)(nil)).Elem(), ObjectTypeKeyMapArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ObjectTypeKeyMapArrayInput)(nil)).Elem(), ObjectTypeKeyMapArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionAddressDimensionInput)(nil)).Elem(), SegmentDefinitionAddressDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionAddressDimensionPtrInput)(nil)).Elem(), SegmentDefinitionAddressDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionAttributeDimensionInput)(nil)).Elem(), SegmentDefinitionAttributeDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionAttributeDimensionMapInput)(nil)).Elem(), SegmentDefinitionAttributeDimensionMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionCalculatedAttributeDimensionInput)(nil)).Elem(), SegmentDefinitionCalculatedAttributeDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionCalculatedAttributeDimensionMapInput)(nil)).Elem(), SegmentDefinitionCalculatedAttributeDimensionMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionConditionOverridesInput)(nil)).Elem(), SegmentDefinitionConditionOverridesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionConditionOverridesPtrInput)(nil)).Elem(), SegmentDefinitionConditionOverridesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionDateDimensionInput)(nil)).Elem(), SegmentDefinitionDateDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionDateDimensionPtrInput)(nil)).Elem(), SegmentDefinitionDateDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionDimension0PropertiesInput)(nil)).Elem(), SegmentDefinitionDimension0PropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionDimension1PropertiesInput)(nil)).Elem(), SegmentDefinitionDimension1PropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionExtraLengthValueProfileDimensionInput)(nil)).Elem(), SegmentDefinitionExtraLengthValueProfileDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionExtraLengthValueProfileDimensionPtrInput)(nil)).Elem(), SegmentDefinitionExtraLengthValueProfileDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionGroupInput)(nil)).Elem(), SegmentDefinitionGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionGroupArrayInput)(nil)).Elem(), SegmentDefinitionGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionProfileAttributesInput)(nil)).Elem(), SegmentDefinitionProfileAttributesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionProfileDimensionInput)(nil)).Elem(), SegmentDefinitionProfileDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionProfileDimensionPtrInput)(nil)).Elem(), SegmentDefinitionProfileDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionRangeOverrideInput)(nil)).Elem(), SegmentDefinitionRangeOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionRangeOverridePtrInput)(nil)).Elem(), SegmentDefinitionRangeOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionSegmentGroupInput)(nil)).Elem(), SegmentDefinitionSegmentGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionSourceSegmentInput)(nil)).Elem(), SegmentDefinitionSourceSegmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionSourceSegmentArrayInput)(nil)).Elem(), SegmentDefinitionSourceSegmentArray{}) pulumi.RegisterOutputType(CalculatedAttributeDefinitionAttributeDetailsOutput{}) pulumi.RegisterOutputType(CalculatedAttributeDefinitionAttributeDetailsPtrOutput{}) pulumi.RegisterOutputType(CalculatedAttributeDefinitionAttributeItemOutput{}) @@ -5935,4 +7730,28 @@ func init() { pulumi.RegisterOutputType(ObjectTypeKeyArrayOutput{}) pulumi.RegisterOutputType(ObjectTypeKeyMapOutput{}) pulumi.RegisterOutputType(ObjectTypeKeyMapArrayOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionAddressDimensionOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionAddressDimensionPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionAttributeDimensionOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionAttributeDimensionMapOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionCalculatedAttributeDimensionOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionCalculatedAttributeDimensionMapOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionConditionOverridesOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionConditionOverridesPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionDateDimensionOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionDateDimensionPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionDimension0PropertiesOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionDimension1PropertiesOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionExtraLengthValueProfileDimensionOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionExtraLengthValueProfileDimensionPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionGroupOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionGroupArrayOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionProfileAttributesOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionProfileDimensionOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionProfileDimensionPtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionRangeOverrideOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionRangeOverridePtrOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionSegmentGroupOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionSourceSegmentOutput{}) + pulumi.RegisterOutputType(SegmentDefinitionSourceSegmentArrayOutput{}) } diff --git a/sdk/go/aws/customerprofiles/segmentDefinition.go b/sdk/go/aws/customerprofiles/segmentDefinition.go new file mode 100644 index 0000000000..473bdf4895 --- /dev/null +++ b/sdk/go/aws/customerprofiles/segmentDefinition.go @@ -0,0 +1,204 @@ +// 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 customerprofiles + +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" +) + +// A segment definition resource of Amazon Connect Customer Profiles +type SegmentDefinition struct { + pulumi.CustomResourceState + + // The time of this segment definition got created. + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // The description of the segment definition. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The display name of the segment definition. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The unique name of the domain. + DomainName pulumi.StringOutput `pulumi:"domainName"` + // The Amazon Resource Name (ARN) of the segment definition. + SegmentDefinitionArn pulumi.StringOutput `pulumi:"segmentDefinitionArn"` + // The unique name of the segment definition. + SegmentDefinitionName pulumi.StringOutput `pulumi:"segmentDefinitionName"` + // An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + SegmentGroups SegmentDefinitionSegmentGroupOutput `pulumi:"segmentGroups"` + // The tags used to organize, track, or control access for this resource. + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewSegmentDefinition registers a new resource with the given unique name, arguments, and options. +func NewSegmentDefinition(ctx *pulumi.Context, + name string, args *SegmentDefinitionArgs, opts ...pulumi.ResourceOption) (*SegmentDefinition, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.DomainName == nil { + return nil, errors.New("invalid value for required argument 'DomainName'") + } + if args.SegmentGroups == nil { + return nil, errors.New("invalid value for required argument 'SegmentGroups'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "displayName", + "domainName", + "segmentDefinitionName", + "segmentGroups", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource SegmentDefinition + err := ctx.RegisterResource("aws-native:customerprofiles:SegmentDefinition", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSegmentDefinition gets an existing SegmentDefinition 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 GetSegmentDefinition(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SegmentDefinitionState, opts ...pulumi.ResourceOption) (*SegmentDefinition, error) { + var resource SegmentDefinition + err := ctx.ReadResource("aws-native:customerprofiles:SegmentDefinition", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SegmentDefinition resources. +type segmentDefinitionState struct { +} + +type SegmentDefinitionState struct { +} + +func (SegmentDefinitionState) ElementType() reflect.Type { + return reflect.TypeOf((*segmentDefinitionState)(nil)).Elem() +} + +type segmentDefinitionArgs struct { + // The description of the segment definition. + Description *string `pulumi:"description"` + // The display name of the segment definition. + DisplayName string `pulumi:"displayName"` + // The unique name of the domain. + DomainName string `pulumi:"domainName"` + // The unique name of the segment definition. + SegmentDefinitionName *string `pulumi:"segmentDefinitionName"` + // An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + SegmentGroups SegmentDefinitionSegmentGroup `pulumi:"segmentGroups"` + // The tags used to organize, track, or control access for this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a SegmentDefinition resource. +type SegmentDefinitionArgs struct { + // The description of the segment definition. + Description pulumi.StringPtrInput + // The display name of the segment definition. + DisplayName pulumi.StringInput + // The unique name of the domain. + DomainName pulumi.StringInput + // The unique name of the segment definition. + SegmentDefinitionName pulumi.StringPtrInput + // An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + SegmentGroups SegmentDefinitionSegmentGroupInput + // The tags used to organize, track, or control access for this resource. + Tags aws.TagArrayInput +} + +func (SegmentDefinitionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*segmentDefinitionArgs)(nil)).Elem() +} + +type SegmentDefinitionInput interface { + pulumi.Input + + ToSegmentDefinitionOutput() SegmentDefinitionOutput + ToSegmentDefinitionOutputWithContext(ctx context.Context) SegmentDefinitionOutput +} + +func (*SegmentDefinition) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinition)(nil)).Elem() +} + +func (i *SegmentDefinition) ToSegmentDefinitionOutput() SegmentDefinitionOutput { + return i.ToSegmentDefinitionOutputWithContext(context.Background()) +} + +func (i *SegmentDefinition) ToSegmentDefinitionOutputWithContext(ctx context.Context) SegmentDefinitionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SegmentDefinitionOutput) +} + +type SegmentDefinitionOutput struct{ *pulumi.OutputState } + +func (SegmentDefinitionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SegmentDefinition)(nil)).Elem() +} + +func (o SegmentDefinitionOutput) ToSegmentDefinitionOutput() SegmentDefinitionOutput { + return o +} + +func (o SegmentDefinitionOutput) ToSegmentDefinitionOutputWithContext(ctx context.Context) SegmentDefinitionOutput { + return o +} + +// The time of this segment definition got created. +func (o SegmentDefinitionOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *SegmentDefinition) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// The description of the segment definition. +func (o SegmentDefinitionOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SegmentDefinition) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name of the segment definition. +func (o SegmentDefinitionOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *SegmentDefinition) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The unique name of the domain. +func (o SegmentDefinitionOutput) DomainName() pulumi.StringOutput { + return o.ApplyT(func(v *SegmentDefinition) pulumi.StringOutput { return v.DomainName }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the segment definition. +func (o SegmentDefinitionOutput) SegmentDefinitionArn() pulumi.StringOutput { + return o.ApplyT(func(v *SegmentDefinition) pulumi.StringOutput { return v.SegmentDefinitionArn }).(pulumi.StringOutput) +} + +// The unique name of the segment definition. +func (o SegmentDefinitionOutput) SegmentDefinitionName() pulumi.StringOutput { + return o.ApplyT(func(v *SegmentDefinition) pulumi.StringOutput { return v.SegmentDefinitionName }).(pulumi.StringOutput) +} + +// An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. +func (o SegmentDefinitionOutput) SegmentGroups() SegmentDefinitionSegmentGroupOutput { + return o.ApplyT(func(v *SegmentDefinition) SegmentDefinitionSegmentGroupOutput { return v.SegmentGroups }).(SegmentDefinitionSegmentGroupOutput) +} + +// The tags used to organize, track, or control access for this resource. +func (o SegmentDefinitionOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *SegmentDefinition) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SegmentDefinitionInput)(nil)).Elem(), &SegmentDefinition{}) + pulumi.RegisterOutputType(SegmentDefinitionOutput{}) +} diff --git a/sdk/go/aws/dynamodb/pulumiTypes.go b/sdk/go/aws/dynamodb/pulumiTypes.go index 976216d139..e78722aa86 100644 --- a/sdk/go/aws/dynamodb/pulumiTypes.go +++ b/sdk/go/aws/dynamodb/pulumiTypes.go @@ -4027,7 +4027,7 @@ type TableGlobalSecondaryIndex struct { // Represents the provisioned throughput settings for the specified global secondary index. // For current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide*. ProvisionedThroughput *TableProvisionedThroughput `pulumi:"provisionedThroughput"` - // Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + // Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. WarmThroughput *TableWarmThroughput `pulumi:"warmThroughput"` } @@ -4062,7 +4062,7 @@ type TableGlobalSecondaryIndexArgs struct { // Represents the provisioned throughput settings for the specified global secondary index. // For current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide*. ProvisionedThroughput TableProvisionedThroughputPtrInput `pulumi:"provisionedThroughput"` - // Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + // Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. WarmThroughput TableWarmThroughputPtrInput `pulumi:"warmThroughput"` } @@ -4159,7 +4159,7 @@ func (o TableGlobalSecondaryIndexOutput) ProvisionedThroughput() TableProvisione return o.ApplyT(func(v TableGlobalSecondaryIndex) *TableProvisionedThroughput { return v.ProvisionedThroughput }).(TableProvisionedThroughputPtrOutput) } -// Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. +// Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify “ReadUnitsPerSecond“, “WriteUnitsPerSecond“, or both. func (o TableGlobalSecondaryIndexOutput) WarmThroughput() TableWarmThroughputPtrOutput { return o.ApplyT(func(v TableGlobalSecondaryIndex) *TableWarmThroughput { return v.WarmThroughput }).(TableWarmThroughputPtrOutput) } @@ -6415,6 +6415,7 @@ func (o TableTimeToLiveSpecificationPtrOutput) Enabled() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +// Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the “UpdateTable“ operation to meet the throughput requirements of an upcoming peak event. type TableWarmThroughput struct { // Represents the number of read operations your base table can instantaneously support. ReadUnitsPerSecond *int `pulumi:"readUnitsPerSecond"` @@ -6433,6 +6434,7 @@ type TableWarmThroughputInput interface { ToTableWarmThroughputOutputWithContext(context.Context) TableWarmThroughputOutput } +// Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the “UpdateTable“ operation to meet the throughput requirements of an upcoming peak event. type TableWarmThroughputArgs struct { // Represents the number of read operations your base table can instantaneously support. ReadUnitsPerSecond pulumi.IntPtrInput `pulumi:"readUnitsPerSecond"` @@ -6493,6 +6495,7 @@ func (i *tableWarmThroughputPtrType) ToTableWarmThroughputPtrOutputWithContext(c return pulumi.ToOutputWithContext(ctx, i).(TableWarmThroughputPtrOutput) } +// Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the “UpdateTable“ operation to meet the throughput requirements of an upcoming peak event. type TableWarmThroughputOutput struct{ *pulumi.OutputState } func (TableWarmThroughputOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/ec2/getVpcBlockPublicAccessExclusion.go b/sdk/go/aws/ec2/getVpcBlockPublicAccessExclusion.go new file mode 100644 index 0000000000..e807e32733 --- /dev/null +++ b/sdk/go/aws/ec2/getVpcBlockPublicAccessExclusion.go @@ -0,0 +1,101 @@ +// 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 ec2 + +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::EC2::VPCBlockPublicAccessExclusion. +func LookupVpcBlockPublicAccessExclusion(ctx *pulumi.Context, args *LookupVpcBlockPublicAccessExclusionArgs, opts ...pulumi.InvokeOption) (*LookupVpcBlockPublicAccessExclusionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcBlockPublicAccessExclusionResult + err := ctx.Invoke("aws-native:ec2:getVpcBlockPublicAccessExclusion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupVpcBlockPublicAccessExclusionArgs struct { + // The ID of the exclusion + ExclusionId string `pulumi:"exclusionId"` +} + +type LookupVpcBlockPublicAccessExclusionResult struct { + // The ID of the exclusion + ExclusionId *string `pulumi:"exclusionId"` + // The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + InternetGatewayExclusionMode *VpcBlockPublicAccessExclusionInternetGatewayExclusionMode `pulumi:"internetGatewayExclusionMode"` + // An array of key-value pairs to apply to this resource. + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupVpcBlockPublicAccessExclusionOutput(ctx *pulumi.Context, args LookupVpcBlockPublicAccessExclusionOutputArgs, opts ...pulumi.InvokeOption) LookupVpcBlockPublicAccessExclusionResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVpcBlockPublicAccessExclusionResultOutput, error) { + args := v.(LookupVpcBlockPublicAccessExclusionArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcBlockPublicAccessExclusionResult + secret, err := ctx.InvokePackageRaw("aws-native:ec2:getVpcBlockPublicAccessExclusion", args, &rv, "", opts...) + if err != nil { + return LookupVpcBlockPublicAccessExclusionResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupVpcBlockPublicAccessExclusionResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupVpcBlockPublicAccessExclusionResultOutput), nil + } + return output, nil + }).(LookupVpcBlockPublicAccessExclusionResultOutput) +} + +type LookupVpcBlockPublicAccessExclusionOutputArgs struct { + // The ID of the exclusion + ExclusionId pulumi.StringInput `pulumi:"exclusionId"` +} + +func (LookupVpcBlockPublicAccessExclusionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcBlockPublicAccessExclusionArgs)(nil)).Elem() +} + +type LookupVpcBlockPublicAccessExclusionResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcBlockPublicAccessExclusionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcBlockPublicAccessExclusionResult)(nil)).Elem() +} + +func (o LookupVpcBlockPublicAccessExclusionResultOutput) ToLookupVpcBlockPublicAccessExclusionResultOutput() LookupVpcBlockPublicAccessExclusionResultOutput { + return o +} + +func (o LookupVpcBlockPublicAccessExclusionResultOutput) ToLookupVpcBlockPublicAccessExclusionResultOutputWithContext(ctx context.Context) LookupVpcBlockPublicAccessExclusionResultOutput { + return o +} + +// The ID of the exclusion +func (o LookupVpcBlockPublicAccessExclusionResultOutput) ExclusionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVpcBlockPublicAccessExclusionResult) *string { return v.ExclusionId }).(pulumi.StringPtrOutput) +} + +// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. +func (o LookupVpcBlockPublicAccessExclusionResultOutput) InternetGatewayExclusionMode() VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return o.ApplyT(func(v LookupVpcBlockPublicAccessExclusionResult) *VpcBlockPublicAccessExclusionInternetGatewayExclusionMode { + return v.InternetGatewayExclusionMode + }).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o LookupVpcBlockPublicAccessExclusionResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupVpcBlockPublicAccessExclusionResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcBlockPublicAccessExclusionResultOutput{}) +} diff --git a/sdk/go/aws/ec2/getVpcBlockPublicAccessOptions.go b/sdk/go/aws/ec2/getVpcBlockPublicAccessOptions.go new file mode 100644 index 0000000000..bb9b9981c1 --- /dev/null +++ b/sdk/go/aws/ec2/getVpcBlockPublicAccessOptions.go @@ -0,0 +1,93 @@ +// 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 ec2 + +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::EC2::VPCBlockPublicAccessOptions +func LookupVpcBlockPublicAccessOptions(ctx *pulumi.Context, args *LookupVpcBlockPublicAccessOptionsArgs, opts ...pulumi.InvokeOption) (*LookupVpcBlockPublicAccessOptionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcBlockPublicAccessOptionsResult + err := ctx.Invoke("aws-native:ec2:getVpcBlockPublicAccessOptions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupVpcBlockPublicAccessOptionsArgs struct { + // The identifier for the specified AWS account. + AccountId string `pulumi:"accountId"` +} + +type LookupVpcBlockPublicAccessOptionsResult struct { + // The identifier for the specified AWS account. + AccountId *string `pulumi:"accountId"` + // The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + InternetGatewayBlockMode *VpcBlockPublicAccessOptionsInternetGatewayBlockMode `pulumi:"internetGatewayBlockMode"` +} + +func LookupVpcBlockPublicAccessOptionsOutput(ctx *pulumi.Context, args LookupVpcBlockPublicAccessOptionsOutputArgs, opts ...pulumi.InvokeOption) LookupVpcBlockPublicAccessOptionsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVpcBlockPublicAccessOptionsResultOutput, error) { + args := v.(LookupVpcBlockPublicAccessOptionsArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcBlockPublicAccessOptionsResult + secret, err := ctx.InvokePackageRaw("aws-native:ec2:getVpcBlockPublicAccessOptions", args, &rv, "", opts...) + if err != nil { + return LookupVpcBlockPublicAccessOptionsResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupVpcBlockPublicAccessOptionsResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupVpcBlockPublicAccessOptionsResultOutput), nil + } + return output, nil + }).(LookupVpcBlockPublicAccessOptionsResultOutput) +} + +type LookupVpcBlockPublicAccessOptionsOutputArgs struct { + // The identifier for the specified AWS account. + AccountId pulumi.StringInput `pulumi:"accountId"` +} + +func (LookupVpcBlockPublicAccessOptionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcBlockPublicAccessOptionsArgs)(nil)).Elem() +} + +type LookupVpcBlockPublicAccessOptionsResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcBlockPublicAccessOptionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcBlockPublicAccessOptionsResult)(nil)).Elem() +} + +func (o LookupVpcBlockPublicAccessOptionsResultOutput) ToLookupVpcBlockPublicAccessOptionsResultOutput() LookupVpcBlockPublicAccessOptionsResultOutput { + return o +} + +func (o LookupVpcBlockPublicAccessOptionsResultOutput) ToLookupVpcBlockPublicAccessOptionsResultOutputWithContext(ctx context.Context) LookupVpcBlockPublicAccessOptionsResultOutput { + return o +} + +// The identifier for the specified AWS account. +func (o LookupVpcBlockPublicAccessOptionsResultOutput) AccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVpcBlockPublicAccessOptionsResult) *string { return v.AccountId }).(pulumi.StringPtrOutput) +} + +// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value +func (o LookupVpcBlockPublicAccessOptionsResultOutput) InternetGatewayBlockMode() VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return o.ApplyT(func(v LookupVpcBlockPublicAccessOptionsResult) *VpcBlockPublicAccessOptionsInternetGatewayBlockMode { + return v.InternetGatewayBlockMode + }).(VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcBlockPublicAccessOptionsResultOutput{}) +} diff --git a/sdk/go/aws/ec2/init.go b/sdk/go/aws/ec2/init.go index 60acb41945..d83e75bced 100644 --- a/sdk/go/aws/ec2/init.go +++ b/sdk/go/aws/ec2/init.go @@ -165,6 +165,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &VolumeAttachment{} case "aws-native:ec2:Vpc": r = &Vpc{} + case "aws-native:ec2:VpcBlockPublicAccessExclusion": + r = &VpcBlockPublicAccessExclusion{} + case "aws-native:ec2:VpcBlockPublicAccessOptions": + r = &VpcBlockPublicAccessOptions{} case "aws-native:ec2:VpcCidrBlock": r = &VpcCidrBlock{} case "aws-native:ec2:VpcEndpoint": diff --git a/sdk/go/aws/ec2/pulumiEnums.go b/sdk/go/aws/ec2/pulumiEnums.go index cf42f2e00f..17630e5296 100644 --- a/sdk/go/aws/ec2/pulumiEnums.go +++ b/sdk/go/aws/ec2/pulumiEnums.go @@ -10575,6 +10575,338 @@ func (in *spotFleetTagSpecificationResourceTypePtr) ToSpotFleetTagSpecificationR return pulumi.ToOutputWithContext(ctx, in).(SpotFleetTagSpecificationResourceTypePtrOutput) } +// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. +type VpcBlockPublicAccessExclusionInternetGatewayExclusionMode string + +const ( + VpcBlockPublicAccessExclusionInternetGatewayExclusionModeAllowBidirectional = VpcBlockPublicAccessExclusionInternetGatewayExclusionMode("allow-bidirectional") + VpcBlockPublicAccessExclusionInternetGatewayExclusionModeAllowEgress = VpcBlockPublicAccessExclusionInternetGatewayExclusionMode("allow-egress") +) + +func (VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessExclusionInternetGatewayExclusionMode)(nil)).Elem() +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return pulumi.ToOutput(e).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return e.ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(context.Background()) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return VpcBlockPublicAccessExclusionInternetGatewayExclusionMode(e).ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutputWithContext(ctx).ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(ctx) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessExclusionInternetGatewayExclusionMode)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return o.ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) *VpcBlockPublicAccessExclusionInternetGatewayExclusionMode { + return &v + }).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusionInternetGatewayExclusionMode)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) Elem() VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) VpcBlockPublicAccessExclusionInternetGatewayExclusionMode { + if v != nil { + return *v + } + var ret VpcBlockPublicAccessExclusionInternetGatewayExclusionMode + return ret + }).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *VpcBlockPublicAccessExclusionInternetGatewayExclusionMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// VpcBlockPublicAccessExclusionInternetGatewayExclusionModeInput is an input type that accepts values of the VpcBlockPublicAccessExclusionInternetGatewayExclusionMode enum +// A concrete instance of `VpcBlockPublicAccessExclusionInternetGatewayExclusionModeInput` can be one of the following: +// +// VpcBlockPublicAccessExclusionInternetGatewayExclusionModeAllowBidirectional +// VpcBlockPublicAccessExclusionInternetGatewayExclusionModeAllowEgress +type VpcBlockPublicAccessExclusionInternetGatewayExclusionModeInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput + ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutputWithContext(context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput +} + +var vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrType = reflect.TypeOf((**VpcBlockPublicAccessExclusionInternetGatewayExclusionMode)(nil)).Elem() + +type VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput + ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput +} + +type vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtr string + +func VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtr(v string) VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrInput { + return (*vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtr)(&v) +} + +func (*vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtr) ElementType() reflect.Type { + return vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrType +} + +func (in *vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtr) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput() VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return pulumi.ToOutput(in).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) +} + +func (in *vpcBlockPublicAccessExclusionInternetGatewayExclusionModePtr) ToVpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput) +} + +// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value +type VpcBlockPublicAccessOptionsInternetGatewayBlockMode string + +const ( + VpcBlockPublicAccessOptionsInternetGatewayBlockModeBlockBidirectional = VpcBlockPublicAccessOptionsInternetGatewayBlockMode("block-bidirectional") + VpcBlockPublicAccessOptionsInternetGatewayBlockModeBlockIngress = VpcBlockPublicAccessOptionsInternetGatewayBlockMode("block-ingress") +) + +func (VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessOptionsInternetGatewayBlockMode)(nil)).Elem() +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return pulumi.ToOutput(e).(VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return e.ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(context.Background()) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return VpcBlockPublicAccessOptionsInternetGatewayBlockMode(e).ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutputWithContext(ctx).ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(ctx) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessOptionsInternetGatewayBlockMode)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return o.ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessOptionsInternetGatewayBlockMode) *VpcBlockPublicAccessOptionsInternetGatewayBlockMode { + return &v + }).(VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e VpcBlockPublicAccessOptionsInternetGatewayBlockMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptionsInternetGatewayBlockMode)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) Elem() VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsInternetGatewayBlockMode) VpcBlockPublicAccessOptionsInternetGatewayBlockMode { + if v != nil { + return *v + } + var ret VpcBlockPublicAccessOptionsInternetGatewayBlockMode + return ret + }).(VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *VpcBlockPublicAccessOptionsInternetGatewayBlockMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// VpcBlockPublicAccessOptionsInternetGatewayBlockModeInput is an input type that accepts values of the VpcBlockPublicAccessOptionsInternetGatewayBlockMode enum +// A concrete instance of `VpcBlockPublicAccessOptionsInternetGatewayBlockModeInput` can be one of the following: +// +// VpcBlockPublicAccessOptionsInternetGatewayBlockModeBlockBidirectional +// VpcBlockPublicAccessOptionsInternetGatewayBlockModeBlockIngress +type VpcBlockPublicAccessOptionsInternetGatewayBlockModeInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput + ToVpcBlockPublicAccessOptionsInternetGatewayBlockModeOutputWithContext(context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput +} + +var vpcBlockPublicAccessOptionsInternetGatewayBlockModePtrType = reflect.TypeOf((**VpcBlockPublicAccessOptionsInternetGatewayBlockMode)(nil)).Elem() + +type VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput + ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput +} + +type vpcBlockPublicAccessOptionsInternetGatewayBlockModePtr string + +func VpcBlockPublicAccessOptionsInternetGatewayBlockModePtr(v string) VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrInput { + return (*vpcBlockPublicAccessOptionsInternetGatewayBlockModePtr)(&v) +} + +func (*vpcBlockPublicAccessOptionsInternetGatewayBlockModePtr) ElementType() reflect.Type { + return vpcBlockPublicAccessOptionsInternetGatewayBlockModePtrType +} + +func (in *vpcBlockPublicAccessOptionsInternetGatewayBlockModePtr) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput() VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return pulumi.ToOutput(in).(VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) +} + +func (in *vpcBlockPublicAccessOptionsInternetGatewayBlockModePtr) ToVpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput) +} + // The type of endpoint. // // Default: Gateway @@ -12221,6 +12553,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetSpotPlacementTenancyPtrInput)(nil)).Elem(), SpotFleetSpotPlacementTenancy("dedicated")) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetTagSpecificationResourceTypeInput)(nil)).Elem(), SpotFleetTagSpecificationResourceType("client-vpn-endpoint")) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetTagSpecificationResourceTypePtrInput)(nil)).Elem(), SpotFleetTagSpecificationResourceType("client-vpn-endpoint")) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionInternetGatewayExclusionModeInput)(nil)).Elem(), VpcBlockPublicAccessExclusionInternetGatewayExclusionMode("allow-bidirectional")) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrInput)(nil)).Elem(), VpcBlockPublicAccessExclusionInternetGatewayExclusionMode("allow-bidirectional")) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsInternetGatewayBlockModeInput)(nil)).Elem(), VpcBlockPublicAccessOptionsInternetGatewayBlockMode("block-bidirectional")) + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrInput)(nil)).Elem(), VpcBlockPublicAccessOptionsInternetGatewayBlockMode("block-bidirectional")) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointTypeInput)(nil)).Elem(), VpcEndpointType("Interface")) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointTypePtrInput)(nil)).Elem(), VpcEndpointType("Interface")) pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatInput)(nil)).Elem(), VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat("json")) @@ -12374,6 +12710,10 @@ func init() { pulumi.RegisterOutputType(SpotFleetSpotPlacementTenancyPtrOutput{}) pulumi.RegisterOutputType(SpotFleetTagSpecificationResourceTypeOutput{}) pulumi.RegisterOutputType(SpotFleetTagSpecificationResourceTypePtrOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionInternetGatewayExclusionModePtrOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsInternetGatewayBlockModePtrOutput{}) pulumi.RegisterOutputType(VpcEndpointTypeOutput{}) pulumi.RegisterOutputType(VpcEndpointTypePtrOutput{}) pulumi.RegisterOutputType(VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormatOutput{}) diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index c307e26dc3..d3c9629cb3 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -9347,6 +9347,139 @@ func (o LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutp }).(pulumi.IntPtrOutput) } +type LaunchTemplateBaselinePerformanceFactors struct { + Cpu *LaunchTemplateCpu `pulumi:"cpu"` +} + +// LaunchTemplateBaselinePerformanceFactorsInput is an input type that accepts LaunchTemplateBaselinePerformanceFactorsArgs and LaunchTemplateBaselinePerformanceFactorsOutput values. +// You can construct a concrete instance of `LaunchTemplateBaselinePerformanceFactorsInput` via: +// +// LaunchTemplateBaselinePerformanceFactorsArgs{...} +type LaunchTemplateBaselinePerformanceFactorsInput interface { + pulumi.Input + + ToLaunchTemplateBaselinePerformanceFactorsOutput() LaunchTemplateBaselinePerformanceFactorsOutput + ToLaunchTemplateBaselinePerformanceFactorsOutputWithContext(context.Context) LaunchTemplateBaselinePerformanceFactorsOutput +} + +type LaunchTemplateBaselinePerformanceFactorsArgs struct { + Cpu LaunchTemplateCpuPtrInput `pulumi:"cpu"` +} + +func (LaunchTemplateBaselinePerformanceFactorsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateBaselinePerformanceFactors)(nil)).Elem() +} + +func (i LaunchTemplateBaselinePerformanceFactorsArgs) ToLaunchTemplateBaselinePerformanceFactorsOutput() LaunchTemplateBaselinePerformanceFactorsOutput { + return i.ToLaunchTemplateBaselinePerformanceFactorsOutputWithContext(context.Background()) +} + +func (i LaunchTemplateBaselinePerformanceFactorsArgs) ToLaunchTemplateBaselinePerformanceFactorsOutputWithContext(ctx context.Context) LaunchTemplateBaselinePerformanceFactorsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBaselinePerformanceFactorsOutput) +} + +func (i LaunchTemplateBaselinePerformanceFactorsArgs) ToLaunchTemplateBaselinePerformanceFactorsPtrOutput() LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return i.ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(context.Background()) +} + +func (i LaunchTemplateBaselinePerformanceFactorsArgs) ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(ctx context.Context) LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBaselinePerformanceFactorsOutput).ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(ctx) +} + +// LaunchTemplateBaselinePerformanceFactorsPtrInput is an input type that accepts LaunchTemplateBaselinePerformanceFactorsArgs, LaunchTemplateBaselinePerformanceFactorsPtr and LaunchTemplateBaselinePerformanceFactorsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateBaselinePerformanceFactorsPtrInput` via: +// +// LaunchTemplateBaselinePerformanceFactorsArgs{...} +// +// or: +// +// nil +type LaunchTemplateBaselinePerformanceFactorsPtrInput interface { + pulumi.Input + + ToLaunchTemplateBaselinePerformanceFactorsPtrOutput() LaunchTemplateBaselinePerformanceFactorsPtrOutput + ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(context.Context) LaunchTemplateBaselinePerformanceFactorsPtrOutput +} + +type launchTemplateBaselinePerformanceFactorsPtrType LaunchTemplateBaselinePerformanceFactorsArgs + +func LaunchTemplateBaselinePerformanceFactorsPtr(v *LaunchTemplateBaselinePerformanceFactorsArgs) LaunchTemplateBaselinePerformanceFactorsPtrInput { + return (*launchTemplateBaselinePerformanceFactorsPtrType)(v) +} + +func (*launchTemplateBaselinePerformanceFactorsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateBaselinePerformanceFactors)(nil)).Elem() +} + +func (i *launchTemplateBaselinePerformanceFactorsPtrType) ToLaunchTemplateBaselinePerformanceFactorsPtrOutput() LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return i.ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(context.Background()) +} + +func (i *launchTemplateBaselinePerformanceFactorsPtrType) ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(ctx context.Context) LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBaselinePerformanceFactorsPtrOutput) +} + +type LaunchTemplateBaselinePerformanceFactorsOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateBaselinePerformanceFactorsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateBaselinePerformanceFactors)(nil)).Elem() +} + +func (o LaunchTemplateBaselinePerformanceFactorsOutput) ToLaunchTemplateBaselinePerformanceFactorsOutput() LaunchTemplateBaselinePerformanceFactorsOutput { + return o +} + +func (o LaunchTemplateBaselinePerformanceFactorsOutput) ToLaunchTemplateBaselinePerformanceFactorsOutputWithContext(ctx context.Context) LaunchTemplateBaselinePerformanceFactorsOutput { + return o +} + +func (o LaunchTemplateBaselinePerformanceFactorsOutput) ToLaunchTemplateBaselinePerformanceFactorsPtrOutput() LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return o.ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(context.Background()) +} + +func (o LaunchTemplateBaselinePerformanceFactorsOutput) ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(ctx context.Context) LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateBaselinePerformanceFactors) *LaunchTemplateBaselinePerformanceFactors { + return &v + }).(LaunchTemplateBaselinePerformanceFactorsPtrOutput) +} + +func (o LaunchTemplateBaselinePerformanceFactorsOutput) Cpu() LaunchTemplateCpuPtrOutput { + return o.ApplyT(func(v LaunchTemplateBaselinePerformanceFactors) *LaunchTemplateCpu { return v.Cpu }).(LaunchTemplateCpuPtrOutput) +} + +type LaunchTemplateBaselinePerformanceFactorsPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateBaselinePerformanceFactorsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateBaselinePerformanceFactors)(nil)).Elem() +} + +func (o LaunchTemplateBaselinePerformanceFactorsPtrOutput) ToLaunchTemplateBaselinePerformanceFactorsPtrOutput() LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return o +} + +func (o LaunchTemplateBaselinePerformanceFactorsPtrOutput) ToLaunchTemplateBaselinePerformanceFactorsPtrOutputWithContext(ctx context.Context) LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return o +} + +func (o LaunchTemplateBaselinePerformanceFactorsPtrOutput) Elem() LaunchTemplateBaselinePerformanceFactorsOutput { + return o.ApplyT(func(v *LaunchTemplateBaselinePerformanceFactors) LaunchTemplateBaselinePerformanceFactors { + if v != nil { + return *v + } + var ret LaunchTemplateBaselinePerformanceFactors + return ret + }).(LaunchTemplateBaselinePerformanceFactorsOutput) +} + +func (o LaunchTemplateBaselinePerformanceFactorsPtrOutput) Cpu() LaunchTemplateCpuPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBaselinePerformanceFactors) *LaunchTemplateCpu { + if v == nil { + return nil + } + return v.Cpu + }).(LaunchTemplateCpuPtrOutput) +} + // Specifies a block device mapping for a launch template. You must specify “DeviceName“ plus exactly one of the following properties: “Ebs“, “NoDevice“, or “VirtualName“. // // ``BlockDeviceMapping`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html). @@ -9998,6 +10131,139 @@ func (o LaunchTemplateConnectionTrackingSpecificationPtrOutput) UdpTimeout() pul }).(pulumi.IntPtrOutput) } +type LaunchTemplateCpu struct { + References []LaunchTemplateReference `pulumi:"references"` +} + +// LaunchTemplateCpuInput is an input type that accepts LaunchTemplateCpuArgs and LaunchTemplateCpuOutput values. +// You can construct a concrete instance of `LaunchTemplateCpuInput` via: +// +// LaunchTemplateCpuArgs{...} +type LaunchTemplateCpuInput interface { + pulumi.Input + + ToLaunchTemplateCpuOutput() LaunchTemplateCpuOutput + ToLaunchTemplateCpuOutputWithContext(context.Context) LaunchTemplateCpuOutput +} + +type LaunchTemplateCpuArgs struct { + References LaunchTemplateReferenceArrayInput `pulumi:"references"` +} + +func (LaunchTemplateCpuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCpu)(nil)).Elem() +} + +func (i LaunchTemplateCpuArgs) ToLaunchTemplateCpuOutput() LaunchTemplateCpuOutput { + return i.ToLaunchTemplateCpuOutputWithContext(context.Background()) +} + +func (i LaunchTemplateCpuArgs) ToLaunchTemplateCpuOutputWithContext(ctx context.Context) LaunchTemplateCpuOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOutput) +} + +func (i LaunchTemplateCpuArgs) ToLaunchTemplateCpuPtrOutput() LaunchTemplateCpuPtrOutput { + return i.ToLaunchTemplateCpuPtrOutputWithContext(context.Background()) +} + +func (i LaunchTemplateCpuArgs) ToLaunchTemplateCpuPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOutput).ToLaunchTemplateCpuPtrOutputWithContext(ctx) +} + +// LaunchTemplateCpuPtrInput is an input type that accepts LaunchTemplateCpuArgs, LaunchTemplateCpuPtr and LaunchTemplateCpuPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateCpuPtrInput` via: +// +// LaunchTemplateCpuArgs{...} +// +// or: +// +// nil +type LaunchTemplateCpuPtrInput interface { + pulumi.Input + + ToLaunchTemplateCpuPtrOutput() LaunchTemplateCpuPtrOutput + ToLaunchTemplateCpuPtrOutputWithContext(context.Context) LaunchTemplateCpuPtrOutput +} + +type launchTemplateCpuPtrType LaunchTemplateCpuArgs + +func LaunchTemplateCpuPtr(v *LaunchTemplateCpuArgs) LaunchTemplateCpuPtrInput { + return (*launchTemplateCpuPtrType)(v) +} + +func (*launchTemplateCpuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCpu)(nil)).Elem() +} + +func (i *launchTemplateCpuPtrType) ToLaunchTemplateCpuPtrOutput() LaunchTemplateCpuPtrOutput { + return i.ToLaunchTemplateCpuPtrOutputWithContext(context.Background()) +} + +func (i *launchTemplateCpuPtrType) ToLaunchTemplateCpuPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuPtrOutput) +} + +type LaunchTemplateCpuOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateCpuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCpu)(nil)).Elem() +} + +func (o LaunchTemplateCpuOutput) ToLaunchTemplateCpuOutput() LaunchTemplateCpuOutput { + return o +} + +func (o LaunchTemplateCpuOutput) ToLaunchTemplateCpuOutputWithContext(ctx context.Context) LaunchTemplateCpuOutput { + return o +} + +func (o LaunchTemplateCpuOutput) ToLaunchTemplateCpuPtrOutput() LaunchTemplateCpuPtrOutput { + return o.ToLaunchTemplateCpuPtrOutputWithContext(context.Background()) +} + +func (o LaunchTemplateCpuOutput) ToLaunchTemplateCpuPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCpu) *LaunchTemplateCpu { + return &v + }).(LaunchTemplateCpuPtrOutput) +} + +func (o LaunchTemplateCpuOutput) References() LaunchTemplateReferenceArrayOutput { + return o.ApplyT(func(v LaunchTemplateCpu) []LaunchTemplateReference { return v.References }).(LaunchTemplateReferenceArrayOutput) +} + +type LaunchTemplateCpuPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateCpuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCpu)(nil)).Elem() +} + +func (o LaunchTemplateCpuPtrOutput) ToLaunchTemplateCpuPtrOutput() LaunchTemplateCpuPtrOutput { + return o +} + +func (o LaunchTemplateCpuPtrOutput) ToLaunchTemplateCpuPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuPtrOutput { + return o +} + +func (o LaunchTemplateCpuPtrOutput) Elem() LaunchTemplateCpuOutput { + return o.ApplyT(func(v *LaunchTemplateCpu) LaunchTemplateCpu { + if v != nil { + return *v + } + var ret LaunchTemplateCpu + return ret + }).(LaunchTemplateCpuOutput) +} + +func (o LaunchTemplateCpuPtrOutput) References() LaunchTemplateReferenceArrayOutput { + return o.ApplyT(func(v *LaunchTemplateCpu) []LaunchTemplateReference { + if v == nil { + return nil + } + return v.References + }).(LaunchTemplateReferenceArrayOutput) +} + // Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*. // // ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html). @@ -12334,7 +12600,8 @@ type LaunchTemplateInstanceRequirements struct { BareMetal *string `pulumi:"bareMetal"` // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*. // Default: No minimum or maximum limits - BaselineEbsBandwidthMbps *LaunchTemplateBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` + BaselineEbsBandwidthMbps *LaunchTemplateBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` + BaselinePerformanceFactors *LaunchTemplateBaselinePerformanceFactors `pulumi:"baselinePerformanceFactors"` // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). // + To include burstable performance instance types, specify ``included``. // + To require only burstable performance instance types, specify ``required``. @@ -12492,7 +12759,8 @@ type LaunchTemplateInstanceRequirementsArgs struct { BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*. // Default: No minimum or maximum limits - BaselineEbsBandwidthMbps LaunchTemplateBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` + BaselineEbsBandwidthMbps LaunchTemplateBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` + BaselinePerformanceFactors LaunchTemplateBaselinePerformanceFactorsPtrInput `pulumi:"baselinePerformanceFactors"` // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). // + To include burstable performance instance types, specify ``included``. // + To require only burstable performance instance types, specify ``required``. @@ -12771,6 +13039,12 @@ func (o LaunchTemplateInstanceRequirementsOutput) BaselineEbsBandwidthMbps() Lau }).(LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput) } +func (o LaunchTemplateInstanceRequirementsOutput) BaselinePerformanceFactors() LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateBaselinePerformanceFactors { + return v.BaselinePerformanceFactors + }).(LaunchTemplateBaselinePerformanceFactorsPtrOutput) +} + // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). // // - To include burstable performance instance types, specify “included“. @@ -13096,6 +13370,15 @@ func (o LaunchTemplateInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() }).(LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput) } +func (o LaunchTemplateInstanceRequirementsPtrOutput) BaselinePerformanceFactors() LaunchTemplateBaselinePerformanceFactorsPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateBaselinePerformanceFactors { + if v == nil { + return nil + } + return v.BaselinePerformanceFactors + }).(LaunchTemplateBaselinePerformanceFactorsPtrOutput) +} + // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). // // - To include burstable performance instance types, specify “included“. @@ -15850,6 +16133,103 @@ func (o LaunchTemplatePrivateIpAddArrayOutput) Index(i pulumi.IntInput) LaunchTe }).(LaunchTemplatePrivateIpAddOutput) } +type LaunchTemplateReference struct { + // The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + InstanceFamily *string `pulumi:"instanceFamily"` +} + +// LaunchTemplateReferenceInput is an input type that accepts LaunchTemplateReferenceArgs and LaunchTemplateReferenceOutput values. +// You can construct a concrete instance of `LaunchTemplateReferenceInput` via: +// +// LaunchTemplateReferenceArgs{...} +type LaunchTemplateReferenceInput interface { + pulumi.Input + + ToLaunchTemplateReferenceOutput() LaunchTemplateReferenceOutput + ToLaunchTemplateReferenceOutputWithContext(context.Context) LaunchTemplateReferenceOutput +} + +type LaunchTemplateReferenceArgs struct { + // The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + InstanceFamily pulumi.StringPtrInput `pulumi:"instanceFamily"` +} + +func (LaunchTemplateReferenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateReference)(nil)).Elem() +} + +func (i LaunchTemplateReferenceArgs) ToLaunchTemplateReferenceOutput() LaunchTemplateReferenceOutput { + return i.ToLaunchTemplateReferenceOutputWithContext(context.Background()) +} + +func (i LaunchTemplateReferenceArgs) ToLaunchTemplateReferenceOutputWithContext(ctx context.Context) LaunchTemplateReferenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateReferenceOutput) +} + +// LaunchTemplateReferenceArrayInput is an input type that accepts LaunchTemplateReferenceArray and LaunchTemplateReferenceArrayOutput values. +// You can construct a concrete instance of `LaunchTemplateReferenceArrayInput` via: +// +// LaunchTemplateReferenceArray{ LaunchTemplateReferenceArgs{...} } +type LaunchTemplateReferenceArrayInput interface { + pulumi.Input + + ToLaunchTemplateReferenceArrayOutput() LaunchTemplateReferenceArrayOutput + ToLaunchTemplateReferenceArrayOutputWithContext(context.Context) LaunchTemplateReferenceArrayOutput +} + +type LaunchTemplateReferenceArray []LaunchTemplateReferenceInput + +func (LaunchTemplateReferenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateReference)(nil)).Elem() +} + +func (i LaunchTemplateReferenceArray) ToLaunchTemplateReferenceArrayOutput() LaunchTemplateReferenceArrayOutput { + return i.ToLaunchTemplateReferenceArrayOutputWithContext(context.Background()) +} + +func (i LaunchTemplateReferenceArray) ToLaunchTemplateReferenceArrayOutputWithContext(ctx context.Context) LaunchTemplateReferenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateReferenceArrayOutput) +} + +type LaunchTemplateReferenceOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateReferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateReference)(nil)).Elem() +} + +func (o LaunchTemplateReferenceOutput) ToLaunchTemplateReferenceOutput() LaunchTemplateReferenceOutput { + return o +} + +func (o LaunchTemplateReferenceOutput) ToLaunchTemplateReferenceOutputWithContext(ctx context.Context) LaunchTemplateReferenceOutput { + return o +} + +// The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. +func (o LaunchTemplateReferenceOutput) InstanceFamily() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateReference) *string { return v.InstanceFamily }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateReferenceArrayOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateReferenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateReference)(nil)).Elem() +} + +func (o LaunchTemplateReferenceArrayOutput) ToLaunchTemplateReferenceArrayOutput() LaunchTemplateReferenceArrayOutput { + return o +} + +func (o LaunchTemplateReferenceArrayOutput) ToLaunchTemplateReferenceArrayOutputWithContext(ctx context.Context) LaunchTemplateReferenceArrayOutput { + return o +} + +func (o LaunchTemplateReferenceArrayOutput) Index(i pulumi.IntInput) LaunchTemplateReferenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateReference { + return vs[0].([]LaunchTemplateReference)[vs[1].(int)] + }).(LaunchTemplateReferenceOutput) +} + // Specifies options for Spot Instances. // // ``SpotOptions`` is a property of [AWS::EC2::LaunchTemplate InstanceMarketOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html). @@ -30705,6 +31085,14 @@ type VolumeTag struct { Value string `pulumi:"value"` } +// A key-value pair to associate with a resource. +type VpcBlockPublicAccessExclusionTag 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"` +} + // A key-value pair to associate with a resource. type VpcPeeringConnectionTag 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 -. @@ -32295,6 +32683,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateAcceleratorTotalMemoryMiBPtrInput)(nil)).Elem(), LaunchTemplateAcceleratorTotalMemoryMiBArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateBaselineEbsBandwidthMbpsInput)(nil)).Elem(), LaunchTemplateBaselineEbsBandwidthMbpsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateBaselineEbsBandwidthMbpsPtrInput)(nil)).Elem(), LaunchTemplateBaselineEbsBandwidthMbpsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateBaselinePerformanceFactorsInput)(nil)).Elem(), LaunchTemplateBaselinePerformanceFactorsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateBaselinePerformanceFactorsPtrInput)(nil)).Elem(), LaunchTemplateBaselinePerformanceFactorsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateBlockDeviceMappingInput)(nil)).Elem(), LaunchTemplateBlockDeviceMappingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateBlockDeviceMappingArrayInput)(nil)).Elem(), LaunchTemplateBlockDeviceMappingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCapacityReservationSpecificationInput)(nil)).Elem(), LaunchTemplateCapacityReservationSpecificationArgs{}) @@ -32303,6 +32693,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCapacityReservationTargetPtrInput)(nil)).Elem(), LaunchTemplateCapacityReservationTargetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateConnectionTrackingSpecificationInput)(nil)).Elem(), LaunchTemplateConnectionTrackingSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateConnectionTrackingSpecificationPtrInput)(nil)).Elem(), LaunchTemplateConnectionTrackingSpecificationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCpuInput)(nil)).Elem(), LaunchTemplateCpuArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCpuPtrInput)(nil)).Elem(), LaunchTemplateCpuArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCpuOptionsInput)(nil)).Elem(), LaunchTemplateCpuOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCpuOptionsPtrInput)(nil)).Elem(), LaunchTemplateCpuOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateCreditSpecificationInput)(nil)).Elem(), LaunchTemplateCreditSpecificationArgs{}) @@ -32358,6 +32750,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplatePrivateDnsNameOptionsPtrInput)(nil)).Elem(), LaunchTemplatePrivateDnsNameOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplatePrivateIpAddInput)(nil)).Elem(), LaunchTemplatePrivateIpAddArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplatePrivateIpAddArrayInput)(nil)).Elem(), LaunchTemplatePrivateIpAddArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateReferenceInput)(nil)).Elem(), LaunchTemplateReferenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateReferenceArrayInput)(nil)).Elem(), LaunchTemplateReferenceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateSpotOptionsInput)(nil)).Elem(), LaunchTemplateSpotOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateSpotOptionsPtrInput)(nil)).Elem(), LaunchTemplateSpotOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateTagInput)(nil)).Elem(), LaunchTemplateTagArgs{}) @@ -32626,6 +33020,8 @@ func init() { pulumi.RegisterOutputType(LaunchTemplateAcceleratorTotalMemoryMiBPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplateBaselineEbsBandwidthMbpsOutput{}) pulumi.RegisterOutputType(LaunchTemplateBaselineEbsBandwidthMbpsPtrOutput{}) + pulumi.RegisterOutputType(LaunchTemplateBaselinePerformanceFactorsOutput{}) + pulumi.RegisterOutputType(LaunchTemplateBaselinePerformanceFactorsPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplateBlockDeviceMappingOutput{}) pulumi.RegisterOutputType(LaunchTemplateBlockDeviceMappingArrayOutput{}) pulumi.RegisterOutputType(LaunchTemplateCapacityReservationSpecificationOutput{}) @@ -32634,6 +33030,8 @@ func init() { pulumi.RegisterOutputType(LaunchTemplateCapacityReservationTargetPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplateConnectionTrackingSpecificationOutput{}) pulumi.RegisterOutputType(LaunchTemplateConnectionTrackingSpecificationPtrOutput{}) + pulumi.RegisterOutputType(LaunchTemplateCpuOutput{}) + pulumi.RegisterOutputType(LaunchTemplateCpuPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplateCpuOptionsOutput{}) pulumi.RegisterOutputType(LaunchTemplateCpuOptionsPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplateCreditSpecificationOutput{}) @@ -32689,6 +33087,8 @@ func init() { pulumi.RegisterOutputType(LaunchTemplatePrivateDnsNameOptionsPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplatePrivateIpAddOutput{}) pulumi.RegisterOutputType(LaunchTemplatePrivateIpAddArrayOutput{}) + pulumi.RegisterOutputType(LaunchTemplateReferenceOutput{}) + pulumi.RegisterOutputType(LaunchTemplateReferenceArrayOutput{}) pulumi.RegisterOutputType(LaunchTemplateSpotOptionsOutput{}) pulumi.RegisterOutputType(LaunchTemplateSpotOptionsPtrOutput{}) pulumi.RegisterOutputType(LaunchTemplateTagOutput{}) diff --git a/sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go b/sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go new file mode 100644 index 0000000000..a5bb060714 --- /dev/null +++ b/sdk/go/aws/ec2/vpcBlockPublicAccessExclusion.go @@ -0,0 +1,169 @@ +// 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 ec2 + +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::EC2::VPCBlockPublicAccessExclusion. +type VpcBlockPublicAccessExclusion struct { + pulumi.CustomResourceState + + // The ID of the exclusion + ExclusionId pulumi.StringOutput `pulumi:"exclusionId"` + // The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + InternetGatewayExclusionMode VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput `pulumi:"internetGatewayExclusionMode"` + // The ID of the subnet. Required only if you don't specify VpcId + SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` + // An array of key-value pairs to apply to this resource. + Tags aws.TagArrayOutput `pulumi:"tags"` + // The ID of the vpc. Required only if you don't specify SubnetId. + VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` +} + +// NewVpcBlockPublicAccessExclusion registers a new resource with the given unique name, arguments, and options. +func NewVpcBlockPublicAccessExclusion(ctx *pulumi.Context, + name string, args *VpcBlockPublicAccessExclusionArgs, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessExclusion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InternetGatewayExclusionMode == nil { + return nil, errors.New("invalid value for required argument 'InternetGatewayExclusionMode'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "subnetId", + "vpcId", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcBlockPublicAccessExclusion + err := ctx.RegisterResource("aws-native:ec2:VpcBlockPublicAccessExclusion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcBlockPublicAccessExclusion gets an existing VpcBlockPublicAccessExclusion 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 GetVpcBlockPublicAccessExclusion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcBlockPublicAccessExclusionState, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessExclusion, error) { + var resource VpcBlockPublicAccessExclusion + err := ctx.ReadResource("aws-native:ec2:VpcBlockPublicAccessExclusion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcBlockPublicAccessExclusion resources. +type vpcBlockPublicAccessExclusionState struct { +} + +type VpcBlockPublicAccessExclusionState struct { +} + +func (VpcBlockPublicAccessExclusionState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessExclusionState)(nil)).Elem() +} + +type vpcBlockPublicAccessExclusionArgs struct { + // The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + InternetGatewayExclusionMode VpcBlockPublicAccessExclusionInternetGatewayExclusionMode `pulumi:"internetGatewayExclusionMode"` + // The ID of the subnet. Required only if you don't specify VpcId + SubnetId *string `pulumi:"subnetId"` + // An array of key-value pairs to apply to this resource. + Tags []aws.Tag `pulumi:"tags"` + // The ID of the vpc. Required only if you don't specify SubnetId. + VpcId *string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a VpcBlockPublicAccessExclusion resource. +type VpcBlockPublicAccessExclusionArgs struct { + // The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + InternetGatewayExclusionMode VpcBlockPublicAccessExclusionInternetGatewayExclusionModeInput + // The ID of the subnet. Required only if you don't specify VpcId + SubnetId pulumi.StringPtrInput + // An array of key-value pairs to apply to this resource. + Tags aws.TagArrayInput + // The ID of the vpc. Required only if you don't specify SubnetId. + VpcId pulumi.StringPtrInput +} + +func (VpcBlockPublicAccessExclusionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessExclusionArgs)(nil)).Elem() +} + +type VpcBlockPublicAccessExclusionInput interface { + pulumi.Input + + ToVpcBlockPublicAccessExclusionOutput() VpcBlockPublicAccessExclusionOutput + ToVpcBlockPublicAccessExclusionOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionOutput +} + +func (*VpcBlockPublicAccessExclusion) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (i *VpcBlockPublicAccessExclusion) ToVpcBlockPublicAccessExclusionOutput() VpcBlockPublicAccessExclusionOutput { + return i.ToVpcBlockPublicAccessExclusionOutputWithContext(context.Background()) +} + +func (i *VpcBlockPublicAccessExclusion) ToVpcBlockPublicAccessExclusionOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionOutput) +} + +type VpcBlockPublicAccessExclusionOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessExclusionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusion)(nil)).Elem() +} + +func (o VpcBlockPublicAccessExclusionOutput) ToVpcBlockPublicAccessExclusionOutput() VpcBlockPublicAccessExclusionOutput { + return o +} + +func (o VpcBlockPublicAccessExclusionOutput) ToVpcBlockPublicAccessExclusionOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionOutput { + return o +} + +// The ID of the exclusion +func (o VpcBlockPublicAccessExclusionOutput) ExclusionId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringOutput { return v.ExclusionId }).(pulumi.StringOutput) +} + +// The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. +func (o VpcBlockPublicAccessExclusionOutput) InternetGatewayExclusionMode() VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput { + return v.InternetGatewayExclusionMode + }).(VpcBlockPublicAccessExclusionInternetGatewayExclusionModeOutput) +} + +// The ID of the subnet. Required only if you don't specify VpcId +func (o VpcBlockPublicAccessExclusionOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o VpcBlockPublicAccessExclusionOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +// The ID of the vpc. Required only if you don't specify SubnetId. +func (o VpcBlockPublicAccessExclusionOutput) VpcId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusion) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionInput)(nil)).Elem(), &VpcBlockPublicAccessExclusion{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionOutput{}) +} diff --git a/sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go b/sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go new file mode 100644 index 0000000000..ccf09d1807 --- /dev/null +++ b/sdk/go/aws/ec2/vpcBlockPublicAccessOptions.go @@ -0,0 +1,130 @@ +// 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 ec2 + +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::EC2::VPCBlockPublicAccessOptions +type VpcBlockPublicAccessOptions struct { + pulumi.CustomResourceState + + // The identifier for the specified AWS account. + AccountId pulumi.StringOutput `pulumi:"accountId"` + // The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + InternetGatewayBlockMode VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput `pulumi:"internetGatewayBlockMode"` +} + +// NewVpcBlockPublicAccessOptions registers a new resource with the given unique name, arguments, and options. +func NewVpcBlockPublicAccessOptions(ctx *pulumi.Context, + name string, args *VpcBlockPublicAccessOptionsArgs, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessOptions, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.InternetGatewayBlockMode == nil { + return nil, errors.New("invalid value for required argument 'InternetGatewayBlockMode'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcBlockPublicAccessOptions + err := ctx.RegisterResource("aws-native:ec2:VpcBlockPublicAccessOptions", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcBlockPublicAccessOptions gets an existing VpcBlockPublicAccessOptions 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 GetVpcBlockPublicAccessOptions(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcBlockPublicAccessOptionsState, opts ...pulumi.ResourceOption) (*VpcBlockPublicAccessOptions, error) { + var resource VpcBlockPublicAccessOptions + err := ctx.ReadResource("aws-native:ec2:VpcBlockPublicAccessOptions", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcBlockPublicAccessOptions resources. +type vpcBlockPublicAccessOptionsState struct { +} + +type VpcBlockPublicAccessOptionsState struct { +} + +func (VpcBlockPublicAccessOptionsState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessOptionsState)(nil)).Elem() +} + +type vpcBlockPublicAccessOptionsArgs struct { + // The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + InternetGatewayBlockMode VpcBlockPublicAccessOptionsInternetGatewayBlockMode `pulumi:"internetGatewayBlockMode"` +} + +// The set of arguments for constructing a VpcBlockPublicAccessOptions resource. +type VpcBlockPublicAccessOptionsArgs struct { + // The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + InternetGatewayBlockMode VpcBlockPublicAccessOptionsInternetGatewayBlockModeInput +} + +func (VpcBlockPublicAccessOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcBlockPublicAccessOptionsArgs)(nil)).Elem() +} + +type VpcBlockPublicAccessOptionsInput interface { + pulumi.Input + + ToVpcBlockPublicAccessOptionsOutput() VpcBlockPublicAccessOptionsOutput + ToVpcBlockPublicAccessOptionsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsOutput +} + +func (*VpcBlockPublicAccessOptions) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (i *VpcBlockPublicAccessOptions) ToVpcBlockPublicAccessOptionsOutput() VpcBlockPublicAccessOptionsOutput { + return i.ToVpcBlockPublicAccessOptionsOutputWithContext(context.Background()) +} + +func (i *VpcBlockPublicAccessOptions) ToVpcBlockPublicAccessOptionsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsOutput) +} + +type VpcBlockPublicAccessOptionsOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptions)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsOutput) ToVpcBlockPublicAccessOptionsOutput() VpcBlockPublicAccessOptionsOutput { + return o +} + +func (o VpcBlockPublicAccessOptionsOutput) ToVpcBlockPublicAccessOptionsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsOutput { + return o +} + +// The identifier for the specified AWS account. +func (o VpcBlockPublicAccessOptionsOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptions) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +// The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value +func (o VpcBlockPublicAccessOptionsOutput) InternetGatewayBlockMode() VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptions) VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput { + return v.InternetGatewayBlockMode + }).(VpcBlockPublicAccessOptionsInternetGatewayBlockModeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsInput)(nil)).Elem(), &VpcBlockPublicAccessOptions{}) + pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsOutput{}) +} diff --git a/sdk/go/aws/ecs/pulumiEnums.go b/sdk/go/aws/ecs/pulumiEnums.go index ac79e4345d..f04a2f8b4b 100644 --- a/sdk/go/aws/ecs/pulumiEnums.go +++ b/sdk/go/aws/ecs/pulumiEnums.go @@ -2365,6 +2365,7 @@ func (in *taskDefinitionAuthorizationConfigIamPtr) ToTaskDefinitionAuthorization return pulumi.ToOutputWithContext(ctx, in).(TaskDefinitionAuthorizationConfigIamPtrOutput) } +// Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . type TaskDefinitionContainerDefinitionVersionConsistency string const ( diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index c97705946a..f567e7e097 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -6181,7 +6181,8 @@ type TaskDefinitionContainerDefinition struct { // + ``uid:group`` // // This parameter is not supported for Windows containers. - User *string `pulumi:"user"` + User *string `pulumi:"user"` + // Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . VersionConsistency *TaskDefinitionContainerDefinitionVersionConsistency `pulumi:"versionConsistency"` // Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run. VolumesFrom []TaskDefinitionVolumeFrom `pulumi:"volumesFrom"` @@ -6366,7 +6367,8 @@ type TaskDefinitionContainerDefinitionArgs struct { // + ``uid:group`` // // This parameter is not supported for Windows containers. - User pulumi.StringPtrInput `pulumi:"user"` + User pulumi.StringPtrInput `pulumi:"user"` + // Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . VersionConsistency TaskDefinitionContainerDefinitionVersionConsistencyPtrInput `pulumi:"versionConsistency"` // Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run. VolumesFrom TaskDefinitionVolumeFromArrayInput `pulumi:"volumesFrom"` @@ -6740,6 +6742,7 @@ func (o TaskDefinitionContainerDefinitionOutput) User() pulumi.StringPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *string { return v.User }).(pulumi.StringPtrOutput) } +// Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . func (o TaskDefinitionContainerDefinitionOutput) VersionConsistency() TaskDefinitionContainerDefinitionVersionConsistencyPtrOutput { return o.ApplyT(func(v TaskDefinitionContainerDefinition) *TaskDefinitionContainerDefinitionVersionConsistency { return v.VersionConsistency diff --git a/sdk/go/aws/efs/pulumiTypes.go b/sdk/go/aws/efs/pulumiTypes.go index fdf479f76b..5a96733338 100644 --- a/sdk/go/aws/efs/pulumiTypes.go +++ b/sdk/go/aws/efs/pulumiTypes.go @@ -1151,7 +1151,10 @@ type FileSystemReplicationDestination struct { KmsKeyId *string `pulumi:"kmsKeyId"` // The AWS-Region in which the destination file system is located. // For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. - Region *string `pulumi:"region"` + Region *string `pulumi:"region"` + RoleArn *string `pulumi:"roleArn"` + Status *string `pulumi:"status"` + StatusMessage *string `pulumi:"statusMessage"` } // FileSystemReplicationDestinationInput is an input type that accepts FileSystemReplicationDestinationArgs and FileSystemReplicationDestinationOutput values. @@ -1177,7 +1180,10 @@ type FileSystemReplicationDestinationArgs struct { KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` // The AWS-Region in which the destination file system is located. // For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. - Region pulumi.StringPtrInput `pulumi:"region"` + Region pulumi.StringPtrInput `pulumi:"region"` + RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` + Status pulumi.StringPtrInput `pulumi:"status"` + StatusMessage pulumi.StringPtrInput `pulumi:"statusMessage"` } func (FileSystemReplicationDestinationArgs) ElementType() reflect.Type { @@ -1257,6 +1263,18 @@ func (o FileSystemReplicationDestinationOutput) Region() pulumi.StringPtrOutput return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.Region }).(pulumi.StringPtrOutput) } +func (o FileSystemReplicationDestinationOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.RoleArn }).(pulumi.StringPtrOutput) +} + +func (o FileSystemReplicationDestinationOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func (o FileSystemReplicationDestinationOutput) StatusMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.StatusMessage }).(pulumi.StringPtrOutput) +} + type FileSystemReplicationDestinationArrayOutput struct{ *pulumi.OutputState } func (FileSystemReplicationDestinationArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/aws/iot/getThingType.go b/sdk/go/aws/iot/getThingType.go index f4dd789640..4945f48e01 100644 --- a/sdk/go/aws/iot/getThingType.go +++ b/sdk/go/aws/iot/getThingType.go @@ -39,6 +39,8 @@ type LookupThingTypeResult struct { Id *string `pulumi:"id"` // An array of key-value pairs to apply to this resource. Tags []aws.Tag `pulumi:"tags"` + // The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . + ThingTypeProperties *ThingTypePropertiesProperties `pulumi:"thingTypeProperties"` } func LookupThingTypeOutput(ctx *pulumi.Context, args LookupThingTypeOutputArgs, opts ...pulumi.InvokeOption) LookupThingTypeResultOutput { @@ -105,6 +107,11 @@ func (o LookupThingTypeResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupThingTypeResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) } +// The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . +func (o LookupThingTypeResultOutput) ThingTypeProperties() ThingTypePropertiesPropertiesPtrOutput { + return o.ApplyT(func(v LookupThingTypeResult) *ThingTypePropertiesProperties { return v.ThingTypeProperties }).(ThingTypePropertiesPropertiesPtrOutput) +} + func init() { pulumi.RegisterOutputType(LookupThingTypeResultOutput{}) } diff --git a/sdk/go/aws/iot/pulumiEnums.go b/sdk/go/aws/iot/pulumiEnums.go index 462036cc0a..cf70603d47 100644 --- a/sdk/go/aws/iot/pulumiEnums.go +++ b/sdk/go/aws/iot/pulumiEnums.go @@ -5425,6 +5425,171 @@ func (o SoftwarePackageVersionPackageVersionStatusPtrOutput) ToStringPtrOutputWi }).(pulumi.StringPtrOutput) } +type ThingTypePropagatingAttributeConnectionAttribute string + +const ( + ThingTypePropagatingAttributeConnectionAttributeIotClientId = ThingTypePropagatingAttributeConnectionAttribute("iot:ClientId") + ThingTypePropagatingAttributeConnectionAttributeIotThingThingName = ThingTypePropagatingAttributeConnectionAttribute("iot:Thing.ThingName") +) + +func (ThingTypePropagatingAttributeConnectionAttribute) ElementType() reflect.Type { + return reflect.TypeOf((*ThingTypePropagatingAttributeConnectionAttribute)(nil)).Elem() +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToThingTypePropagatingAttributeConnectionAttributeOutput() ThingTypePropagatingAttributeConnectionAttributeOutput { + return pulumi.ToOutput(e).(ThingTypePropagatingAttributeConnectionAttributeOutput) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToThingTypePropagatingAttributeConnectionAttributeOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeConnectionAttributeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ThingTypePropagatingAttributeConnectionAttributeOutput) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToThingTypePropagatingAttributeConnectionAttributePtrOutput() ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return e.ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(context.Background()) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return ThingTypePropagatingAttributeConnectionAttribute(e).ToThingTypePropagatingAttributeConnectionAttributeOutputWithContext(ctx).ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(ctx) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ThingTypePropagatingAttributeConnectionAttribute) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ThingTypePropagatingAttributeConnectionAttributeOutput struct{ *pulumi.OutputState } + +func (ThingTypePropagatingAttributeConnectionAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ThingTypePropagatingAttributeConnectionAttribute)(nil)).Elem() +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToThingTypePropagatingAttributeConnectionAttributeOutput() ThingTypePropagatingAttributeConnectionAttributeOutput { + return o +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToThingTypePropagatingAttributeConnectionAttributeOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeConnectionAttributeOutput { + return o +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToThingTypePropagatingAttributeConnectionAttributePtrOutput() ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return o.ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(context.Background()) +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ThingTypePropagatingAttributeConnectionAttribute) *ThingTypePropagatingAttributeConnectionAttribute { + return &v + }).(ThingTypePropagatingAttributeConnectionAttributePtrOutput) +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ThingTypePropagatingAttributeConnectionAttribute) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ThingTypePropagatingAttributeConnectionAttributeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ThingTypePropagatingAttributeConnectionAttribute) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ThingTypePropagatingAttributeConnectionAttributePtrOutput struct{ *pulumi.OutputState } + +func (ThingTypePropagatingAttributeConnectionAttributePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ThingTypePropagatingAttributeConnectionAttribute)(nil)).Elem() +} + +func (o ThingTypePropagatingAttributeConnectionAttributePtrOutput) ToThingTypePropagatingAttributeConnectionAttributePtrOutput() ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return o +} + +func (o ThingTypePropagatingAttributeConnectionAttributePtrOutput) ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return o +} + +func (o ThingTypePropagatingAttributeConnectionAttributePtrOutput) Elem() ThingTypePropagatingAttributeConnectionAttributeOutput { + return o.ApplyT(func(v *ThingTypePropagatingAttributeConnectionAttribute) ThingTypePropagatingAttributeConnectionAttribute { + if v != nil { + return *v + } + var ret ThingTypePropagatingAttributeConnectionAttribute + return ret + }).(ThingTypePropagatingAttributeConnectionAttributeOutput) +} + +func (o ThingTypePropagatingAttributeConnectionAttributePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ThingTypePropagatingAttributeConnectionAttributePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ThingTypePropagatingAttributeConnectionAttribute) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ThingTypePropagatingAttributeConnectionAttributeInput is an input type that accepts values of the ThingTypePropagatingAttributeConnectionAttribute enum +// A concrete instance of `ThingTypePropagatingAttributeConnectionAttributeInput` can be one of the following: +// +// ThingTypePropagatingAttributeConnectionAttributeIotClientId +// ThingTypePropagatingAttributeConnectionAttributeIotThingThingName +type ThingTypePropagatingAttributeConnectionAttributeInput interface { + pulumi.Input + + ToThingTypePropagatingAttributeConnectionAttributeOutput() ThingTypePropagatingAttributeConnectionAttributeOutput + ToThingTypePropagatingAttributeConnectionAttributeOutputWithContext(context.Context) ThingTypePropagatingAttributeConnectionAttributeOutput +} + +var thingTypePropagatingAttributeConnectionAttributePtrType = reflect.TypeOf((**ThingTypePropagatingAttributeConnectionAttribute)(nil)).Elem() + +type ThingTypePropagatingAttributeConnectionAttributePtrInput interface { + pulumi.Input + + ToThingTypePropagatingAttributeConnectionAttributePtrOutput() ThingTypePropagatingAttributeConnectionAttributePtrOutput + ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(context.Context) ThingTypePropagatingAttributeConnectionAttributePtrOutput +} + +type thingTypePropagatingAttributeConnectionAttributePtr string + +func ThingTypePropagatingAttributeConnectionAttributePtr(v string) ThingTypePropagatingAttributeConnectionAttributePtrInput { + return (*thingTypePropagatingAttributeConnectionAttributePtr)(&v) +} + +func (*thingTypePropagatingAttributeConnectionAttributePtr) ElementType() reflect.Type { + return thingTypePropagatingAttributeConnectionAttributePtrType +} + +func (in *thingTypePropagatingAttributeConnectionAttributePtr) ToThingTypePropagatingAttributeConnectionAttributePtrOutput() ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return pulumi.ToOutput(in).(ThingTypePropagatingAttributeConnectionAttributePtrOutput) +} + +func (in *thingTypePropagatingAttributeConnectionAttributePtr) ToThingTypePropagatingAttributeConnectionAttributePtrOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ThingTypePropagatingAttributeConnectionAttributePtrOutput) +} + type TopicRuleCannedAccessControlList string const ( @@ -5831,6 +5996,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SecurityProfileMetricDimensionOperatorPtrInput)(nil)).Elem(), SecurityProfileMetricDimensionOperator("IN")) pulumi.RegisterInputType(reflect.TypeOf((*SecurityProfileStatisticalThresholdStatisticInput)(nil)).Elem(), SecurityProfileStatisticalThresholdStatistic("Average")) pulumi.RegisterInputType(reflect.TypeOf((*SecurityProfileStatisticalThresholdStatisticPtrInput)(nil)).Elem(), SecurityProfileStatisticalThresholdStatistic("Average")) + pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropagatingAttributeConnectionAttributeInput)(nil)).Elem(), ThingTypePropagatingAttributeConnectionAttribute("iot:ClientId")) + pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropagatingAttributeConnectionAttributePtrInput)(nil)).Elem(), ThingTypePropagatingAttributeConnectionAttribute("iot:ClientId")) pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleCannedAccessControlListInput)(nil)).Elem(), TopicRuleCannedAccessControlList("private")) pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleCannedAccessControlListPtrInput)(nil)).Elem(), TopicRuleCannedAccessControlList("private")) pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleDestinationStatusInput)(nil)).Elem(), TopicRuleDestinationStatus("ENABLED")) @@ -5902,6 +6069,8 @@ func init() { pulumi.RegisterOutputType(SecurityProfileStatisticalThresholdStatisticPtrOutput{}) pulumi.RegisterOutputType(SoftwarePackageVersionPackageVersionStatusOutput{}) pulumi.RegisterOutputType(SoftwarePackageVersionPackageVersionStatusPtrOutput{}) + pulumi.RegisterOutputType(ThingTypePropagatingAttributeConnectionAttributeOutput{}) + pulumi.RegisterOutputType(ThingTypePropagatingAttributeConnectionAttributePtrOutput{}) pulumi.RegisterOutputType(TopicRuleCannedAccessControlListOutput{}) pulumi.RegisterOutputType(TopicRuleCannedAccessControlListPtrOutput{}) pulumi.RegisterOutputType(TopicRuleDestinationStatusOutput{}) diff --git a/sdk/go/aws/iot/pulumiTypes.go b/sdk/go/aws/iot/pulumiTypes.go index 48c172422e..a279fee02d 100644 --- a/sdk/go/aws/iot/pulumiTypes.go +++ b/sdk/go/aws/iot/pulumiTypes.go @@ -6568,8 +6568,117 @@ type ThingGroupTag struct { Value string `pulumi:"value"` } +type ThingTypePropagatingAttribute struct { + ConnectionAttribute *ThingTypePropagatingAttributeConnectionAttribute `pulumi:"connectionAttribute"` + ThingAttribute *string `pulumi:"thingAttribute"` + UserPropertyKey string `pulumi:"userPropertyKey"` +} + +// ThingTypePropagatingAttributeInput is an input type that accepts ThingTypePropagatingAttributeArgs and ThingTypePropagatingAttributeOutput values. +// You can construct a concrete instance of `ThingTypePropagatingAttributeInput` via: +// +// ThingTypePropagatingAttributeArgs{...} +type ThingTypePropagatingAttributeInput interface { + pulumi.Input + + ToThingTypePropagatingAttributeOutput() ThingTypePropagatingAttributeOutput + ToThingTypePropagatingAttributeOutputWithContext(context.Context) ThingTypePropagatingAttributeOutput +} + +type ThingTypePropagatingAttributeArgs struct { + ConnectionAttribute ThingTypePropagatingAttributeConnectionAttributePtrInput `pulumi:"connectionAttribute"` + ThingAttribute pulumi.StringPtrInput `pulumi:"thingAttribute"` + UserPropertyKey pulumi.StringInput `pulumi:"userPropertyKey"` +} + +func (ThingTypePropagatingAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ThingTypePropagatingAttribute)(nil)).Elem() +} + +func (i ThingTypePropagatingAttributeArgs) ToThingTypePropagatingAttributeOutput() ThingTypePropagatingAttributeOutput { + return i.ToThingTypePropagatingAttributeOutputWithContext(context.Background()) +} + +func (i ThingTypePropagatingAttributeArgs) ToThingTypePropagatingAttributeOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ThingTypePropagatingAttributeOutput) +} + +// ThingTypePropagatingAttributeArrayInput is an input type that accepts ThingTypePropagatingAttributeArray and ThingTypePropagatingAttributeArrayOutput values. +// You can construct a concrete instance of `ThingTypePropagatingAttributeArrayInput` via: +// +// ThingTypePropagatingAttributeArray{ ThingTypePropagatingAttributeArgs{...} } +type ThingTypePropagatingAttributeArrayInput interface { + pulumi.Input + + ToThingTypePropagatingAttributeArrayOutput() ThingTypePropagatingAttributeArrayOutput + ToThingTypePropagatingAttributeArrayOutputWithContext(context.Context) ThingTypePropagatingAttributeArrayOutput +} + +type ThingTypePropagatingAttributeArray []ThingTypePropagatingAttributeInput + +func (ThingTypePropagatingAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ThingTypePropagatingAttribute)(nil)).Elem() +} + +func (i ThingTypePropagatingAttributeArray) ToThingTypePropagatingAttributeArrayOutput() ThingTypePropagatingAttributeArrayOutput { + return i.ToThingTypePropagatingAttributeArrayOutputWithContext(context.Background()) +} + +func (i ThingTypePropagatingAttributeArray) ToThingTypePropagatingAttributeArrayOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ThingTypePropagatingAttributeArrayOutput) +} + +type ThingTypePropagatingAttributeOutput struct{ *pulumi.OutputState } + +func (ThingTypePropagatingAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ThingTypePropagatingAttribute)(nil)).Elem() +} + +func (o ThingTypePropagatingAttributeOutput) ToThingTypePropagatingAttributeOutput() ThingTypePropagatingAttributeOutput { + return o +} + +func (o ThingTypePropagatingAttributeOutput) ToThingTypePropagatingAttributeOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeOutput { + return o +} + +func (o ThingTypePropagatingAttributeOutput) ConnectionAttribute() ThingTypePropagatingAttributeConnectionAttributePtrOutput { + return o.ApplyT(func(v ThingTypePropagatingAttribute) *ThingTypePropagatingAttributeConnectionAttribute { + return v.ConnectionAttribute + }).(ThingTypePropagatingAttributeConnectionAttributePtrOutput) +} + +func (o ThingTypePropagatingAttributeOutput) ThingAttribute() pulumi.StringPtrOutput { + return o.ApplyT(func(v ThingTypePropagatingAttribute) *string { return v.ThingAttribute }).(pulumi.StringPtrOutput) +} + +func (o ThingTypePropagatingAttributeOutput) UserPropertyKey() pulumi.StringOutput { + return o.ApplyT(func(v ThingTypePropagatingAttribute) string { return v.UserPropertyKey }).(pulumi.StringOutput) +} + +type ThingTypePropagatingAttributeArrayOutput struct{ *pulumi.OutputState } + +func (ThingTypePropagatingAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ThingTypePropagatingAttribute)(nil)).Elem() +} + +func (o ThingTypePropagatingAttributeArrayOutput) ToThingTypePropagatingAttributeArrayOutput() ThingTypePropagatingAttributeArrayOutput { + return o +} + +func (o ThingTypePropagatingAttributeArrayOutput) ToThingTypePropagatingAttributeArrayOutputWithContext(ctx context.Context) ThingTypePropagatingAttributeArrayOutput { + return o +} + +func (o ThingTypePropagatingAttributeArrayOutput) Index(i pulumi.IntInput) ThingTypePropagatingAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ThingTypePropagatingAttribute { + return vs[0].([]ThingTypePropagatingAttribute)[vs[1].(int)] + }).(ThingTypePropagatingAttributeOutput) +} + // The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . type ThingTypePropertiesProperties struct { + Mqtt5Configuration *ThingTypePropertiesPropertiesMqtt5ConfigurationProperties `pulumi:"mqtt5Configuration"` // A list of searchable thing attribute names. SearchableAttributes []string `pulumi:"searchableAttributes"` // The description of the thing type. @@ -6589,6 +6698,7 @@ type ThingTypePropertiesPropertiesInput interface { // The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . type ThingTypePropertiesPropertiesArgs struct { + Mqtt5Configuration ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrInput `pulumi:"mqtt5Configuration"` // A list of searchable thing attribute names. SearchableAttributes pulumi.StringArrayInput `pulumi:"searchableAttributes"` // The description of the thing type. @@ -6673,6 +6783,12 @@ func (o ThingTypePropertiesPropertiesOutput) ToThingTypePropertiesPropertiesPtrO }).(ThingTypePropertiesPropertiesPtrOutput) } +func (o ThingTypePropertiesPropertiesOutput) Mqtt5Configuration() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v ThingTypePropertiesProperties) *ThingTypePropertiesPropertiesMqtt5ConfigurationProperties { + return v.Mqtt5Configuration + }).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) +} + // A list of searchable thing attribute names. func (o ThingTypePropertiesPropertiesOutput) SearchableAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v ThingTypePropertiesProperties) []string { return v.SearchableAttributes }).(pulumi.StringArrayOutput) @@ -6707,6 +6823,15 @@ func (o ThingTypePropertiesPropertiesPtrOutput) Elem() ThingTypePropertiesProper }).(ThingTypePropertiesPropertiesOutput) } +func (o ThingTypePropertiesPropertiesPtrOutput) Mqtt5Configuration() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v *ThingTypePropertiesProperties) *ThingTypePropertiesPropertiesMqtt5ConfigurationProperties { + if v == nil { + return nil + } + return v.Mqtt5Configuration + }).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) +} + // A list of searchable thing attribute names. func (o ThingTypePropertiesPropertiesPtrOutput) SearchableAttributes() pulumi.StringArrayOutput { return o.ApplyT(func(v *ThingTypePropertiesProperties) []string { @@ -6727,6 +6852,141 @@ func (o ThingTypePropertiesPropertiesPtrOutput) ThingTypeDescription() pulumi.St }).(pulumi.StringPtrOutput) } +type ThingTypePropertiesPropertiesMqtt5ConfigurationProperties struct { + PropagatingAttributes []ThingTypePropagatingAttribute `pulumi:"propagatingAttributes"` +} + +// ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesInput is an input type that accepts ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs and ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput values. +// You can construct a concrete instance of `ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesInput` via: +// +// ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs{...} +type ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesInput interface { + pulumi.Input + + ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput + ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutputWithContext(context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput +} + +type ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs struct { + PropagatingAttributes ThingTypePropagatingAttributeArrayInput `pulumi:"propagatingAttributes"` +} + +func (ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ThingTypePropertiesPropertiesMqtt5ConfigurationProperties)(nil)).Elem() +} + +func (i ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput { + return i.ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutputWithContext(context.Background()) +} + +func (i ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutputWithContext(ctx context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) +} + +func (i ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return i.ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(context.Background()) +} + +func (i ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(ctx context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput).ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(ctx) +} + +// ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrInput is an input type that accepts ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs, ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtr and ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput values. +// You can construct a concrete instance of `ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrInput` via: +// +// ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs{...} +// +// or: +// +// nil +type ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrInput interface { + pulumi.Input + + ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput + ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput +} + +type thingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrType ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs + +func ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtr(v *ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrInput { + return (*thingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrType)(v) +} + +func (*thingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ThingTypePropertiesPropertiesMqtt5ConfigurationProperties)(nil)).Elem() +} + +func (i *thingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrType) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return i.ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *thingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrType) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(ctx context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) +} + +type ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput struct{ *pulumi.OutputState } + +func (ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ThingTypePropertiesPropertiesMqtt5ConfigurationProperties)(nil)).Elem() +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput { + return o +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutputWithContext(ctx context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput { + return o +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return o.ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(context.Background()) +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(ctx context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ThingTypePropertiesPropertiesMqtt5ConfigurationProperties) *ThingTypePropertiesPropertiesMqtt5ConfigurationProperties { + return &v + }).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) PropagatingAttributes() ThingTypePropagatingAttributeArrayOutput { + return o.ApplyT(func(v ThingTypePropertiesPropertiesMqtt5ConfigurationProperties) []ThingTypePropagatingAttribute { + return v.PropagatingAttributes + }).(ThingTypePropagatingAttributeArrayOutput) +} + +type ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ThingTypePropertiesPropertiesMqtt5ConfigurationProperties)(nil)).Elem() +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return o +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) ToThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutputWithContext(ctx context.Context) ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput { + return o +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) Elem() ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput { + return o.ApplyT(func(v *ThingTypePropertiesPropertiesMqtt5ConfigurationProperties) ThingTypePropertiesPropertiesMqtt5ConfigurationProperties { + if v != nil { + return *v + } + var ret ThingTypePropertiesPropertiesMqtt5ConfigurationProperties + return ret + }).(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput) +} + +func (o ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput) PropagatingAttributes() ThingTypePropagatingAttributeArrayOutput { + return o.ApplyT(func(v *ThingTypePropertiesPropertiesMqtt5ConfigurationProperties) []ThingTypePropagatingAttribute { + if v == nil { + return nil + } + return v.PropagatingAttributes + }).(ThingTypePropagatingAttributeArrayOutput) +} + // A key-value pair to associate with a resource. type ThingTypeTag 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 -. @@ -14304,8 +14564,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ThingGroupAttributePayloadPtrInput)(nil)).Elem(), ThingGroupAttributePayloadArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ThingGroupPropertiesPropertiesInput)(nil)).Elem(), ThingGroupPropertiesPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ThingGroupPropertiesPropertiesPtrInput)(nil)).Elem(), ThingGroupPropertiesPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropagatingAttributeInput)(nil)).Elem(), ThingTypePropagatingAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropagatingAttributeArrayInput)(nil)).Elem(), ThingTypePropagatingAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropertiesPropertiesInput)(nil)).Elem(), ThingTypePropertiesPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropertiesPropertiesPtrInput)(nil)).Elem(), ThingTypePropertiesPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesInput)(nil)).Elem(), ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrInput)(nil)).Elem(), ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TimeoutConfigPropertiesInput)(nil)).Elem(), TimeoutConfigPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TimeoutConfigPropertiesPtrInput)(nil)).Elem(), TimeoutConfigPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicRuleActionInput)(nil)).Elem(), TopicRuleActionArgs{}) @@ -14468,8 +14732,12 @@ func init() { pulumi.RegisterOutputType(ThingGroupAttributePayloadPtrOutput{}) pulumi.RegisterOutputType(ThingGroupPropertiesPropertiesOutput{}) pulumi.RegisterOutputType(ThingGroupPropertiesPropertiesPtrOutput{}) + pulumi.RegisterOutputType(ThingTypePropagatingAttributeOutput{}) + pulumi.RegisterOutputType(ThingTypePropagatingAttributeArrayOutput{}) pulumi.RegisterOutputType(ThingTypePropertiesPropertiesOutput{}) pulumi.RegisterOutputType(ThingTypePropertiesPropertiesPtrOutput{}) + pulumi.RegisterOutputType(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesOutput{}) + pulumi.RegisterOutputType(ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesPtrOutput{}) pulumi.RegisterOutputType(TimeoutConfigPropertiesOutput{}) pulumi.RegisterOutputType(TimeoutConfigPropertiesPtrOutput{}) pulumi.RegisterOutputType(TopicRuleActionOutput{}) diff --git a/sdk/go/aws/iot/thingType.go b/sdk/go/aws/iot/thingType.go index 74aaccc8a8..09aaa3210e 100644 --- a/sdk/go/aws/iot/thingType.go +++ b/sdk/go/aws/iot/thingType.go @@ -41,7 +41,6 @@ func NewThingType(ctx *pulumi.Context, replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "thingTypeName", - "thingTypeProperties", }) opts = append(opts, replaceOnChanges) opts = internal.PkgResourceDefaultOpts(opts) diff --git a/sdk/go/aws/iotsitewise/getPortal.go b/sdk/go/aws/iotsitewise/getPortal.go index 41a55d53d5..e623fbc31b 100644 --- a/sdk/go/aws/iotsitewise/getPortal.go +++ b/sdk/go/aws/iotsitewise/getPortal.go @@ -46,7 +46,8 @@ type LookupPortalResult struct { // A friendly name for the portal. PortalName *string `pulumi:"portalName"` // The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal. - PortalStartUrl *string `pulumi:"portalStartUrl"` + PortalStartUrl *string `pulumi:"portalStartUrl"` + PortalTypeConfiguration map[string]PortalTypeEntry `pulumi:"portalTypeConfiguration"` // The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. RoleArn *string `pulumi:"roleArn"` // A list of key-value pairs that contain metadata for the portal. @@ -140,6 +141,10 @@ func (o LookupPortalResultOutput) PortalStartUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupPortalResult) *string { return v.PortalStartUrl }).(pulumi.StringPtrOutput) } +func (o LookupPortalResultOutput) PortalTypeConfiguration() PortalTypeEntryMapOutput { + return o.ApplyT(func(v LookupPortalResult) map[string]PortalTypeEntry { return v.PortalTypeConfiguration }).(PortalTypeEntryMapOutput) +} + // The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. func (o LookupPortalResultOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupPortalResult) *string { return v.RoleArn }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/iotsitewise/portal.go b/sdk/go/aws/iotsitewise/portal.go index 85ef7dd9b1..f3a83a949f 100644 --- a/sdk/go/aws/iotsitewise/portal.go +++ b/sdk/go/aws/iotsitewise/portal.go @@ -37,6 +37,9 @@ type Portal struct { PortalName pulumi.StringOutput `pulumi:"portalName"` // The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal. PortalStartUrl pulumi.StringOutput `pulumi:"portalStartUrl"` + // The type of portal + PortalType PortalTypePtrOutput `pulumi:"portalType"` + PortalTypeConfiguration PortalTypeEntryMapOutput `pulumi:"portalTypeConfiguration"` // The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. RoleArn pulumi.StringOutput `pulumi:"roleArn"` // A list of key-value pairs that contain metadata for the portal. @@ -58,6 +61,7 @@ func NewPortal(ctx *pulumi.Context, } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "portalAuthMode", + "portalType", }) opts = append(opts, replaceOnChanges) opts = internal.PkgResourceDefaultOpts(opts) @@ -105,6 +109,9 @@ type portalArgs struct { PortalDescription *string `pulumi:"portalDescription"` // A friendly name for the portal. PortalName *string `pulumi:"portalName"` + // The type of portal + PortalType *PortalType `pulumi:"portalType"` + PortalTypeConfiguration map[string]PortalTypeEntry `pulumi:"portalTypeConfiguration"` // The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. RoleArn string `pulumi:"roleArn"` // A list of key-value pairs that contain metadata for the portal. @@ -125,6 +132,9 @@ type PortalArgs struct { PortalDescription pulumi.StringPtrInput // A friendly name for the portal. PortalName pulumi.StringPtrInput + // The type of portal + PortalType PortalTypePtrInput + PortalTypeConfiguration PortalTypeEntryMapInput // The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. RoleArn pulumi.StringInput // A list of key-value pairs that contain metadata for the portal. @@ -218,6 +228,15 @@ func (o PortalOutput) PortalStartUrl() pulumi.StringOutput { return o.ApplyT(func(v *Portal) pulumi.StringOutput { return v.PortalStartUrl }).(pulumi.StringOutput) } +// The type of portal +func (o PortalOutput) PortalType() PortalTypePtrOutput { + return o.ApplyT(func(v *Portal) PortalTypePtrOutput { return v.PortalType }).(PortalTypePtrOutput) +} + +func (o PortalOutput) PortalTypeConfiguration() PortalTypeEntryMapOutput { + return o.ApplyT(func(v *Portal) PortalTypeEntryMapOutput { return v.PortalTypeConfiguration }).(PortalTypeEntryMapOutput) +} + // The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. func (o PortalOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v *Portal) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/iotsitewise/pulumiEnums.go b/sdk/go/aws/iotsitewise/pulumiEnums.go index a23d01ec44..446255eaf6 100644 --- a/sdk/go/aws/iotsitewise/pulumiEnums.go +++ b/sdk/go/aws/iotsitewise/pulumiEnums.go @@ -679,6 +679,172 @@ func (in *assetPropertyNotificationStatePtr) ToAssetPropertyNotificationStatePtr return pulumi.ToOutputWithContext(ctx, in).(AssetPropertyNotificationStatePtrOutput) } +// The type of portal +type PortalType string + +const ( + PortalTypeSitewisePortalV1 = PortalType("SITEWISE_PORTAL_V1") + PortalTypeSitewisePortalV2 = PortalType("SITEWISE_PORTAL_V2") +) + +func (PortalType) ElementType() reflect.Type { + return reflect.TypeOf((*PortalType)(nil)).Elem() +} + +func (e PortalType) ToPortalTypeOutput() PortalTypeOutput { + return pulumi.ToOutput(e).(PortalTypeOutput) +} + +func (e PortalType) ToPortalTypeOutputWithContext(ctx context.Context) PortalTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(PortalTypeOutput) +} + +func (e PortalType) ToPortalTypePtrOutput() PortalTypePtrOutput { + return e.ToPortalTypePtrOutputWithContext(context.Background()) +} + +func (e PortalType) ToPortalTypePtrOutputWithContext(ctx context.Context) PortalTypePtrOutput { + return PortalType(e).ToPortalTypeOutputWithContext(ctx).ToPortalTypePtrOutputWithContext(ctx) +} + +func (e PortalType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PortalType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PortalType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e PortalType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type PortalTypeOutput struct{ *pulumi.OutputState } + +func (PortalTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PortalType)(nil)).Elem() +} + +func (o PortalTypeOutput) ToPortalTypeOutput() PortalTypeOutput { + return o +} + +func (o PortalTypeOutput) ToPortalTypeOutputWithContext(ctx context.Context) PortalTypeOutput { + return o +} + +func (o PortalTypeOutput) ToPortalTypePtrOutput() PortalTypePtrOutput { + return o.ToPortalTypePtrOutputWithContext(context.Background()) +} + +func (o PortalTypeOutput) ToPortalTypePtrOutputWithContext(ctx context.Context) PortalTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PortalType) *PortalType { + return &v + }).(PortalTypePtrOutput) +} + +func (o PortalTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o PortalTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PortalType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o PortalTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PortalTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PortalType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type PortalTypePtrOutput struct{ *pulumi.OutputState } + +func (PortalTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PortalType)(nil)).Elem() +} + +func (o PortalTypePtrOutput) ToPortalTypePtrOutput() PortalTypePtrOutput { + return o +} + +func (o PortalTypePtrOutput) ToPortalTypePtrOutputWithContext(ctx context.Context) PortalTypePtrOutput { + return o +} + +func (o PortalTypePtrOutput) Elem() PortalTypeOutput { + return o.ApplyT(func(v *PortalType) PortalType { + if v != nil { + return *v + } + var ret PortalType + return ret + }).(PortalTypeOutput) +} + +func (o PortalTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PortalTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *PortalType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// PortalTypeInput is an input type that accepts values of the PortalType enum +// A concrete instance of `PortalTypeInput` can be one of the following: +// +// PortalTypeSitewisePortalV1 +// PortalTypeSitewisePortalV2 +type PortalTypeInput interface { + pulumi.Input + + ToPortalTypeOutput() PortalTypeOutput + ToPortalTypeOutputWithContext(context.Context) PortalTypeOutput +} + +var portalTypePtrType = reflect.TypeOf((**PortalType)(nil)).Elem() + +type PortalTypePtrInput interface { + pulumi.Input + + ToPortalTypePtrOutput() PortalTypePtrOutput + ToPortalTypePtrOutputWithContext(context.Context) PortalTypePtrOutput +} + +type portalTypePtr string + +func PortalTypePtr(v string) PortalTypePtrInput { + return (*portalTypePtr)(&v) +} + +func (*portalTypePtr) ElementType() reflect.Type { + return portalTypePtrType +} + +func (in *portalTypePtr) ToPortalTypePtrOutput() PortalTypePtrOutput { + return pulumi.ToOutput(in).(PortalTypePtrOutput) +} + +func (in *portalTypePtr) ToPortalTypePtrOutputWithContext(ctx context.Context) PortalTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(PortalTypePtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AssetModelDataTypeInput)(nil)).Elem(), AssetModelDataType("STRING")) pulumi.RegisterInputType(reflect.TypeOf((*AssetModelDataTypePtrInput)(nil)).Elem(), AssetModelDataType("STRING")) @@ -688,6 +854,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AssetModelTypeNamePtrInput)(nil)).Elem(), AssetModelTypeName("Measurement")) pulumi.RegisterInputType(reflect.TypeOf((*AssetPropertyNotificationStateInput)(nil)).Elem(), AssetPropertyNotificationState("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*AssetPropertyNotificationStatePtrInput)(nil)).Elem(), AssetPropertyNotificationState("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*PortalTypeInput)(nil)).Elem(), PortalType("SITEWISE_PORTAL_V1")) + pulumi.RegisterInputType(reflect.TypeOf((*PortalTypePtrInput)(nil)).Elem(), PortalType("SITEWISE_PORTAL_V1")) pulumi.RegisterOutputType(AssetModelDataTypeOutput{}) pulumi.RegisterOutputType(AssetModelDataTypePtrOutput{}) pulumi.RegisterOutputType(AssetModelDataTypeSpecOutput{}) @@ -696,4 +864,6 @@ func init() { pulumi.RegisterOutputType(AssetModelTypeNamePtrOutput{}) pulumi.RegisterOutputType(AssetPropertyNotificationStateOutput{}) pulumi.RegisterOutputType(AssetPropertyNotificationStatePtrOutput{}) + pulumi.RegisterOutputType(PortalTypeOutput{}) + pulumi.RegisterOutputType(PortalTypePtrOutput{}) } diff --git a/sdk/go/aws/iotsitewise/pulumiTypes.go b/sdk/go/aws/iotsitewise/pulumiTypes.go index 8af1b41252..e01c650d8f 100644 --- a/sdk/go/aws/iotsitewise/pulumiTypes.go +++ b/sdk/go/aws/iotsitewise/pulumiTypes.go @@ -3761,6 +3761,103 @@ type PortalTag struct { Value string `pulumi:"value"` } +// Container associated a certain PortalType. +type PortalTypeEntry struct { + PortalTools []string `pulumi:"portalTools"` +} + +// PortalTypeEntryInput is an input type that accepts PortalTypeEntryArgs and PortalTypeEntryOutput values. +// You can construct a concrete instance of `PortalTypeEntryInput` via: +// +// PortalTypeEntryArgs{...} +type PortalTypeEntryInput interface { + pulumi.Input + + ToPortalTypeEntryOutput() PortalTypeEntryOutput + ToPortalTypeEntryOutputWithContext(context.Context) PortalTypeEntryOutput +} + +// Container associated a certain PortalType. +type PortalTypeEntryArgs struct { + PortalTools pulumi.StringArrayInput `pulumi:"portalTools"` +} + +func (PortalTypeEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PortalTypeEntry)(nil)).Elem() +} + +func (i PortalTypeEntryArgs) ToPortalTypeEntryOutput() PortalTypeEntryOutput { + return i.ToPortalTypeEntryOutputWithContext(context.Background()) +} + +func (i PortalTypeEntryArgs) ToPortalTypeEntryOutputWithContext(ctx context.Context) PortalTypeEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(PortalTypeEntryOutput) +} + +// PortalTypeEntryMapInput is an input type that accepts PortalTypeEntryMap and PortalTypeEntryMapOutput values. +// You can construct a concrete instance of `PortalTypeEntryMapInput` via: +// +// PortalTypeEntryMap{ "key": PortalTypeEntryArgs{...} } +type PortalTypeEntryMapInput interface { + pulumi.Input + + ToPortalTypeEntryMapOutput() PortalTypeEntryMapOutput + ToPortalTypeEntryMapOutputWithContext(context.Context) PortalTypeEntryMapOutput +} + +type PortalTypeEntryMap map[string]PortalTypeEntryInput + +func (PortalTypeEntryMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PortalTypeEntry)(nil)).Elem() +} + +func (i PortalTypeEntryMap) ToPortalTypeEntryMapOutput() PortalTypeEntryMapOutput { + return i.ToPortalTypeEntryMapOutputWithContext(context.Background()) +} + +func (i PortalTypeEntryMap) ToPortalTypeEntryMapOutputWithContext(ctx context.Context) PortalTypeEntryMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PortalTypeEntryMapOutput) +} + +// Container associated a certain PortalType. +type PortalTypeEntryOutput struct{ *pulumi.OutputState } + +func (PortalTypeEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PortalTypeEntry)(nil)).Elem() +} + +func (o PortalTypeEntryOutput) ToPortalTypeEntryOutput() PortalTypeEntryOutput { + return o +} + +func (o PortalTypeEntryOutput) ToPortalTypeEntryOutputWithContext(ctx context.Context) PortalTypeEntryOutput { + return o +} + +func (o PortalTypeEntryOutput) PortalTools() pulumi.StringArrayOutput { + return o.ApplyT(func(v PortalTypeEntry) []string { return v.PortalTools }).(pulumi.StringArrayOutput) +} + +type PortalTypeEntryMapOutput struct{ *pulumi.OutputState } + +func (PortalTypeEntryMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PortalTypeEntry)(nil)).Elem() +} + +func (o PortalTypeEntryMapOutput) ToPortalTypeEntryMapOutput() PortalTypeEntryMapOutput { + return o +} + +func (o PortalTypeEntryMapOutput) ToPortalTypeEntryMapOutputWithContext(ctx context.Context) PortalTypeEntryMapOutput { + return o +} + +func (o PortalTypeEntryMapOutput) MapIndex(k pulumi.StringInput) PortalTypeEntryOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PortalTypeEntry { + return vs[0].(map[string]PortalTypeEntry)[vs[1].(string)] + }).(PortalTypeEntryOutput) +} + // To add or update tag, provide both key and value. To delete tag, provide only tag key to be deleted type ProjectTag struct { // The key or name that identifies the tag. @@ -3819,6 +3916,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GatewayPlatformInput)(nil)).Elem(), GatewayPlatformArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewaySiemensIeInput)(nil)).Elem(), GatewaySiemensIeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewaySiemensIePtrInput)(nil)).Elem(), GatewaySiemensIeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PortalTypeEntryInput)(nil)).Elem(), PortalTypeEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PortalTypeEntryMapInput)(nil)).Elem(), PortalTypeEntryMap{}) pulumi.RegisterOutputType(AccessPolicyIamRoleOutput{}) pulumi.RegisterOutputType(AccessPolicyIamRolePtrOutput{}) pulumi.RegisterOutputType(AccessPolicyIamUserOutput{}) @@ -3870,4 +3969,6 @@ func init() { pulumi.RegisterOutputType(GatewayPlatformOutput{}) pulumi.RegisterOutputType(GatewaySiemensIeOutput{}) pulumi.RegisterOutputType(GatewaySiemensIePtrOutput{}) + pulumi.RegisterOutputType(PortalTypeEntryOutput{}) + pulumi.RegisterOutputType(PortalTypeEntryMapOutput{}) } diff --git a/sdk/go/aws/lambda/eventSourceMapping.go b/sdk/go/aws/lambda/eventSourceMapping.go index a5f38a90b9..26bec71e83 100644 --- a/sdk/go/aws/lambda/eventSourceMapping.go +++ b/sdk/go/aws/lambda/eventSourceMapping.go @@ -83,9 +83,11 @@ type EventSourceMapping struct { // The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed MaximumRecordAgeInSeconds pulumi.IntPtrOutput `pulumi:"maximumRecordAgeInSeconds"` // (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. - MaximumRetryAttempts pulumi.IntPtrOutput `pulumi:"maximumRetryAttempts"` + MaximumRetryAttempts pulumi.IntPtrOutput `pulumi:"maximumRetryAttempts"` + MetricsConfig EventSourceMappingMetricsConfigPtrOutput `pulumi:"metricsConfig"` // (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. - ParallelizationFactor pulumi.IntPtrOutput `pulumi:"parallelizationFactor"` + ParallelizationFactor pulumi.IntPtrOutput `pulumi:"parallelizationFactor"` + ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrOutput `pulumi:"provisionedPollerConfig"` // (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. Queues pulumi.StringArrayOutput `pulumi:"queues"` // (Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). @@ -217,9 +219,11 @@ type eventSourceMappingArgs struct { // The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed MaximumRecordAgeInSeconds *int `pulumi:"maximumRecordAgeInSeconds"` // (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. - MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + MetricsConfig *EventSourceMappingMetricsConfig `pulumi:"metricsConfig"` // (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. - ParallelizationFactor *int `pulumi:"parallelizationFactor"` + ParallelizationFactor *int `pulumi:"parallelizationFactor"` + ProvisionedPollerConfig *EventSourceMappingProvisionedPollerConfig `pulumi:"provisionedPollerConfig"` // (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. Queues []string `pulumi:"queues"` // (Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). @@ -302,8 +306,10 @@ type EventSourceMappingArgs struct { MaximumRecordAgeInSeconds pulumi.IntPtrInput // (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. MaximumRetryAttempts pulumi.IntPtrInput + MetricsConfig EventSourceMappingMetricsConfigPtrInput // (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. - ParallelizationFactor pulumi.IntPtrInput + ParallelizationFactor pulumi.IntPtrInput + ProvisionedPollerConfig EventSourceMappingProvisionedPollerConfigPtrInput // (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. Queues pulumi.StringArrayInput // (Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). @@ -484,11 +490,21 @@ func (o EventSourceMappingOutput) MaximumRetryAttempts() pulumi.IntPtrOutput { return o.ApplyT(func(v *EventSourceMapping) pulumi.IntPtrOutput { return v.MaximumRetryAttempts }).(pulumi.IntPtrOutput) } +func (o EventSourceMappingOutput) MetricsConfig() EventSourceMappingMetricsConfigPtrOutput { + return o.ApplyT(func(v *EventSourceMapping) EventSourceMappingMetricsConfigPtrOutput { return v.MetricsConfig }).(EventSourceMappingMetricsConfigPtrOutput) +} + // (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. func (o EventSourceMappingOutput) ParallelizationFactor() pulumi.IntPtrOutput { return o.ApplyT(func(v *EventSourceMapping) pulumi.IntPtrOutput { return v.ParallelizationFactor }).(pulumi.IntPtrOutput) } +func (o EventSourceMappingOutput) ProvisionedPollerConfig() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ApplyT(func(v *EventSourceMapping) EventSourceMappingProvisionedPollerConfigPtrOutput { + return v.ProvisionedPollerConfig + }).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + // (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. func (o EventSourceMappingOutput) Queues() pulumi.StringArrayOutput { return o.ApplyT(func(v *EventSourceMapping) pulumi.StringArrayOutput { return v.Queues }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/lambda/getEventSourceMapping.go b/sdk/go/aws/lambda/getEventSourceMapping.go index 0c19d3349c..c0e88cf9ca 100644 --- a/sdk/go/aws/lambda/getEventSourceMapping.go +++ b/sdk/go/aws/lambda/getEventSourceMapping.go @@ -85,9 +85,11 @@ type LookupEventSourceMappingResult struct { // The minimum valid value for maximum record age is 60s. Although values less than 60 and greater than -1 fall within the parameter's absolute range, they are not allowed MaximumRecordAgeInSeconds *int `pulumi:"maximumRecordAgeInSeconds"` // (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. - MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + MetricsConfig *EventSourceMappingMetricsConfig `pulumi:"metricsConfig"` // (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. - ParallelizationFactor *int `pulumi:"parallelizationFactor"` + ParallelizationFactor *int `pulumi:"parallelizationFactor"` + ProvisionedPollerConfig *EventSourceMappingProvisionedPollerConfig `pulumi:"provisionedPollerConfig"` // (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. Queues []string `pulumi:"queues"` // (Amazon SQS only) The scaling configuration for the event source. For more information, see [Configuring maximum concurrency for Amazon SQS event sources](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#events-sqs-max-concurrency). @@ -246,11 +248,21 @@ func (o LookupEventSourceMappingResultOutput) MaximumRetryAttempts() pulumi.IntP return o.ApplyT(func(v LookupEventSourceMappingResult) *int { return v.MaximumRetryAttempts }).(pulumi.IntPtrOutput) } +func (o LookupEventSourceMappingResultOutput) MetricsConfig() EventSourceMappingMetricsConfigPtrOutput { + return o.ApplyT(func(v LookupEventSourceMappingResult) *EventSourceMappingMetricsConfig { return v.MetricsConfig }).(EventSourceMappingMetricsConfigPtrOutput) +} + // (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. func (o LookupEventSourceMappingResultOutput) ParallelizationFactor() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupEventSourceMappingResult) *int { return v.ParallelizationFactor }).(pulumi.IntPtrOutput) } +func (o LookupEventSourceMappingResultOutput) ProvisionedPollerConfig() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ApplyT(func(v LookupEventSourceMappingResult) *EventSourceMappingProvisionedPollerConfig { + return v.ProvisionedPollerConfig + }).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + // (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. func (o LookupEventSourceMappingResultOutput) Queues() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupEventSourceMappingResult) []string { return v.Queues }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/lambda/pulumiEnums.go b/sdk/go/aws/lambda/pulumiEnums.go index 0188f409f9..c328a60593 100644 --- a/sdk/go/aws/lambda/pulumiEnums.go +++ b/sdk/go/aws/lambda/pulumiEnums.go @@ -550,6 +550,214 @@ func (o EventSourceMappingFunctionResponseTypesItemArrayOutput) Index(i pulumi.I }).(EventSourceMappingFunctionResponseTypesItemOutput) } +type EventSourceMappingMetricsConfigMetricsItem string + +const ( + EventSourceMappingMetricsConfigMetricsItemEventCount = EventSourceMappingMetricsConfigMetricsItem("EventCount") +) + +func (EventSourceMappingMetricsConfigMetricsItem) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingMetricsConfigMetricsItem)(nil)).Elem() +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToEventSourceMappingMetricsConfigMetricsItemOutput() EventSourceMappingMetricsConfigMetricsItemOutput { + return pulumi.ToOutput(e).(EventSourceMappingMetricsConfigMetricsItemOutput) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToEventSourceMappingMetricsConfigMetricsItemOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemOutput { + return pulumi.ToOutputWithContext(ctx, e).(EventSourceMappingMetricsConfigMetricsItemOutput) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToEventSourceMappingMetricsConfigMetricsItemPtrOutput() EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return e.ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(context.Background()) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return EventSourceMappingMetricsConfigMetricsItem(e).ToEventSourceMappingMetricsConfigMetricsItemOutputWithContext(ctx).ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(ctx) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e EventSourceMappingMetricsConfigMetricsItem) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type EventSourceMappingMetricsConfigMetricsItemOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigMetricsItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingMetricsConfigMetricsItem)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToEventSourceMappingMetricsConfigMetricsItemOutput() EventSourceMappingMetricsConfigMetricsItemOutput { + return o +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToEventSourceMappingMetricsConfigMetricsItemOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemOutput { + return o +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToEventSourceMappingMetricsConfigMetricsItemPtrOutput() EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return o.ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventSourceMappingMetricsConfigMetricsItem) *EventSourceMappingMetricsConfigMetricsItem { + return &v + }).(EventSourceMappingMetricsConfigMetricsItemPtrOutput) +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e EventSourceMappingMetricsConfigMetricsItem) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingMetricsConfigMetricsItemOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e EventSourceMappingMetricsConfigMetricsItem) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type EventSourceMappingMetricsConfigMetricsItemPtrOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigMetricsItemPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingMetricsConfigMetricsItem)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigMetricsItemPtrOutput) ToEventSourceMappingMetricsConfigMetricsItemPtrOutput() EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return o +} + +func (o EventSourceMappingMetricsConfigMetricsItemPtrOutput) ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return o +} + +func (o EventSourceMappingMetricsConfigMetricsItemPtrOutput) Elem() EventSourceMappingMetricsConfigMetricsItemOutput { + return o.ApplyT(func(v *EventSourceMappingMetricsConfigMetricsItem) EventSourceMappingMetricsConfigMetricsItem { + if v != nil { + return *v + } + var ret EventSourceMappingMetricsConfigMetricsItem + return ret + }).(EventSourceMappingMetricsConfigMetricsItemOutput) +} + +func (o EventSourceMappingMetricsConfigMetricsItemPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingMetricsConfigMetricsItemPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *EventSourceMappingMetricsConfigMetricsItem) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// EventSourceMappingMetricsConfigMetricsItemInput is an input type that accepts values of the EventSourceMappingMetricsConfigMetricsItem enum +// A concrete instance of `EventSourceMappingMetricsConfigMetricsItemInput` can be one of the following: +// +// EventSourceMappingMetricsConfigMetricsItemEventCount +type EventSourceMappingMetricsConfigMetricsItemInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigMetricsItemOutput() EventSourceMappingMetricsConfigMetricsItemOutput + ToEventSourceMappingMetricsConfigMetricsItemOutputWithContext(context.Context) EventSourceMappingMetricsConfigMetricsItemOutput +} + +var eventSourceMappingMetricsConfigMetricsItemPtrType = reflect.TypeOf((**EventSourceMappingMetricsConfigMetricsItem)(nil)).Elem() + +type EventSourceMappingMetricsConfigMetricsItemPtrInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigMetricsItemPtrOutput() EventSourceMappingMetricsConfigMetricsItemPtrOutput + ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(context.Context) EventSourceMappingMetricsConfigMetricsItemPtrOutput +} + +type eventSourceMappingMetricsConfigMetricsItemPtr string + +func EventSourceMappingMetricsConfigMetricsItemPtr(v string) EventSourceMappingMetricsConfigMetricsItemPtrInput { + return (*eventSourceMappingMetricsConfigMetricsItemPtr)(&v) +} + +func (*eventSourceMappingMetricsConfigMetricsItemPtr) ElementType() reflect.Type { + return eventSourceMappingMetricsConfigMetricsItemPtrType +} + +func (in *eventSourceMappingMetricsConfigMetricsItemPtr) ToEventSourceMappingMetricsConfigMetricsItemPtrOutput() EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return pulumi.ToOutput(in).(EventSourceMappingMetricsConfigMetricsItemPtrOutput) +} + +func (in *eventSourceMappingMetricsConfigMetricsItemPtr) ToEventSourceMappingMetricsConfigMetricsItemPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(EventSourceMappingMetricsConfigMetricsItemPtrOutput) +} + +// EventSourceMappingMetricsConfigMetricsItemArrayInput is an input type that accepts EventSourceMappingMetricsConfigMetricsItemArray and EventSourceMappingMetricsConfigMetricsItemArrayOutput values. +// You can construct a concrete instance of `EventSourceMappingMetricsConfigMetricsItemArrayInput` via: +// +// EventSourceMappingMetricsConfigMetricsItemArray{ EventSourceMappingMetricsConfigMetricsItemArgs{...} } +type EventSourceMappingMetricsConfigMetricsItemArrayInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigMetricsItemArrayOutput() EventSourceMappingMetricsConfigMetricsItemArrayOutput + ToEventSourceMappingMetricsConfigMetricsItemArrayOutputWithContext(context.Context) EventSourceMappingMetricsConfigMetricsItemArrayOutput +} + +type EventSourceMappingMetricsConfigMetricsItemArray []EventSourceMappingMetricsConfigMetricsItem + +func (EventSourceMappingMetricsConfigMetricsItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]EventSourceMappingMetricsConfigMetricsItem)(nil)).Elem() +} + +func (i EventSourceMappingMetricsConfigMetricsItemArray) ToEventSourceMappingMetricsConfigMetricsItemArrayOutput() EventSourceMappingMetricsConfigMetricsItemArrayOutput { + return i.ToEventSourceMappingMetricsConfigMetricsItemArrayOutputWithContext(context.Background()) +} + +func (i EventSourceMappingMetricsConfigMetricsItemArray) ToEventSourceMappingMetricsConfigMetricsItemArrayOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigMetricsItemArrayOutput) +} + +type EventSourceMappingMetricsConfigMetricsItemArrayOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigMetricsItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EventSourceMappingMetricsConfigMetricsItem)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigMetricsItemArrayOutput) ToEventSourceMappingMetricsConfigMetricsItemArrayOutput() EventSourceMappingMetricsConfigMetricsItemArrayOutput { + return o +} + +func (o EventSourceMappingMetricsConfigMetricsItemArrayOutput) ToEventSourceMappingMetricsConfigMetricsItemArrayOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigMetricsItemArrayOutput { + return o +} + +func (o EventSourceMappingMetricsConfigMetricsItemArrayOutput) Index(i pulumi.IntInput) EventSourceMappingMetricsConfigMetricsItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EventSourceMappingMetricsConfigMetricsItem { + return vs[0].([]EventSourceMappingMetricsConfigMetricsItem)[vs[1].(int)] + }).(EventSourceMappingMetricsConfigMetricsItemOutput) +} + // The type of authentication protocol, VPC components, or virtual host for your event source. For example: “"Type":"SASL_SCRAM_512_AUTH"“. // - “BASIC_AUTH“ – (Amazon MQ) The ASMlong secret that stores your broker credentials. // - “BASIC_AUTH“ – (Self-managed Apache Kafka) The Secrets Manager ARN of your secret key used for SASL/PLAIN authentication of your Apache Kafka brokers. @@ -3203,6 +3411,9 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFunctionResponseTypesItemInput)(nil)).Elem(), EventSourceMappingFunctionResponseTypesItem("ReportBatchItemFailures")) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFunctionResponseTypesItemPtrInput)(nil)).Elem(), EventSourceMappingFunctionResponseTypesItem("ReportBatchItemFailures")) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFunctionResponseTypesItemArrayInput)(nil)).Elem(), EventSourceMappingFunctionResponseTypesItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigMetricsItemInput)(nil)).Elem(), EventSourceMappingMetricsConfigMetricsItem("EventCount")) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigMetricsItemPtrInput)(nil)).Elem(), EventSourceMappingMetricsConfigMetricsItem("EventCount")) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigMetricsItemArrayInput)(nil)).Elem(), EventSourceMappingMetricsConfigMetricsItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingSourceAccessConfigurationTypeInput)(nil)).Elem(), EventSourceMappingSourceAccessConfigurationType("BASIC_AUTH")) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingSourceAccessConfigurationTypePtrInput)(nil)).Elem(), EventSourceMappingSourceAccessConfigurationType("BASIC_AUTH")) pulumi.RegisterInputType(reflect.TypeOf((*FunctionArchitecturesItemInput)(nil)).Elem(), FunctionArchitecturesItem("x86_64")) @@ -3240,6 +3451,9 @@ func init() { pulumi.RegisterOutputType(EventSourceMappingFunctionResponseTypesItemOutput{}) pulumi.RegisterOutputType(EventSourceMappingFunctionResponseTypesItemPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingFunctionResponseTypesItemArrayOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigMetricsItemOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigMetricsItemPtrOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigMetricsItemArrayOutput{}) pulumi.RegisterOutputType(EventSourceMappingSourceAccessConfigurationTypeOutput{}) pulumi.RegisterOutputType(EventSourceMappingSourceAccessConfigurationTypePtrOutput{}) pulumi.RegisterOutputType(FunctionArchitecturesItemOutput{}) diff --git a/sdk/go/aws/lambda/pulumiTypes.go b/sdk/go/aws/lambda/pulumiTypes.go index 3717be3e39..65958792b7 100644 --- a/sdk/go/aws/lambda/pulumiTypes.go +++ b/sdk/go/aws/lambda/pulumiTypes.go @@ -1919,6 +1919,143 @@ func (o EventSourceMappingFilterCriteriaPtrOutput) Filters() EventSourceMappingF }).(EventSourceMappingFilterArrayOutput) } +type EventSourceMappingMetricsConfig struct { + // Metric groups to enable. + Metrics []EventSourceMappingMetricsConfigMetricsItem `pulumi:"metrics"` +} + +// EventSourceMappingMetricsConfigInput is an input type that accepts EventSourceMappingMetricsConfigArgs and EventSourceMappingMetricsConfigOutput values. +// You can construct a concrete instance of `EventSourceMappingMetricsConfigInput` via: +// +// EventSourceMappingMetricsConfigArgs{...} +type EventSourceMappingMetricsConfigInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigOutput() EventSourceMappingMetricsConfigOutput + ToEventSourceMappingMetricsConfigOutputWithContext(context.Context) EventSourceMappingMetricsConfigOutput +} + +type EventSourceMappingMetricsConfigArgs struct { + // Metric groups to enable. + Metrics EventSourceMappingMetricsConfigMetricsItemArrayInput `pulumi:"metrics"` +} + +func (EventSourceMappingMetricsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigOutput() EventSourceMappingMetricsConfigOutput { + return i.ToEventSourceMappingMetricsConfigOutputWithContext(context.Background()) +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigOutput) +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return i.ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i EventSourceMappingMetricsConfigArgs) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigOutput).ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx) +} + +// EventSourceMappingMetricsConfigPtrInput is an input type that accepts EventSourceMappingMetricsConfigArgs, EventSourceMappingMetricsConfigPtr and EventSourceMappingMetricsConfigPtrOutput values. +// You can construct a concrete instance of `EventSourceMappingMetricsConfigPtrInput` via: +// +// EventSourceMappingMetricsConfigArgs{...} +// +// or: +// +// nil +type EventSourceMappingMetricsConfigPtrInput interface { + pulumi.Input + + ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput + ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Context) EventSourceMappingMetricsConfigPtrOutput +} + +type eventSourceMappingMetricsConfigPtrType EventSourceMappingMetricsConfigArgs + +func EventSourceMappingMetricsConfigPtr(v *EventSourceMappingMetricsConfigArgs) EventSourceMappingMetricsConfigPtrInput { + return (*eventSourceMappingMetricsConfigPtrType)(v) +} + +func (*eventSourceMappingMetricsConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (i *eventSourceMappingMetricsConfigPtrType) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return i.ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (i *eventSourceMappingMetricsConfigPtrType) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingMetricsConfigPtrOutput) +} + +type EventSourceMappingMetricsConfigOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigOutput() EventSourceMappingMetricsConfigOutput { + return o +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigOutput { + return o +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return o.ToEventSourceMappingMetricsConfigPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingMetricsConfigOutput) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventSourceMappingMetricsConfig) *EventSourceMappingMetricsConfig { + return &v + }).(EventSourceMappingMetricsConfigPtrOutput) +} + +// Metric groups to enable. +func (o EventSourceMappingMetricsConfigOutput) Metrics() EventSourceMappingMetricsConfigMetricsItemArrayOutput { + return o.ApplyT(func(v EventSourceMappingMetricsConfig) []EventSourceMappingMetricsConfigMetricsItem { return v.Metrics }).(EventSourceMappingMetricsConfigMetricsItemArrayOutput) +} + +type EventSourceMappingMetricsConfigPtrOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingMetricsConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingMetricsConfig)(nil)).Elem() +} + +func (o EventSourceMappingMetricsConfigPtrOutput) ToEventSourceMappingMetricsConfigPtrOutput() EventSourceMappingMetricsConfigPtrOutput { + return o +} + +func (o EventSourceMappingMetricsConfigPtrOutput) ToEventSourceMappingMetricsConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingMetricsConfigPtrOutput { + return o +} + +func (o EventSourceMappingMetricsConfigPtrOutput) Elem() EventSourceMappingMetricsConfigOutput { + return o.ApplyT(func(v *EventSourceMappingMetricsConfig) EventSourceMappingMetricsConfig { + if v != nil { + return *v + } + var ret EventSourceMappingMetricsConfig + return ret + }).(EventSourceMappingMetricsConfigOutput) +} + +// Metric groups to enable. +func (o EventSourceMappingMetricsConfigPtrOutput) Metrics() EventSourceMappingMetricsConfigMetricsItemArrayOutput { + return o.ApplyT(func(v *EventSourceMappingMetricsConfig) []EventSourceMappingMetricsConfigMetricsItem { + if v == nil { + return nil + } + return v.Metrics + }).(EventSourceMappingMetricsConfigMetricsItemArrayOutput) +} + // A destination for events that failed processing. type EventSourceMappingOnFailure struct { // The Amazon Resource Name (ARN) of the destination resource. @@ -2073,6 +2210,162 @@ func (o EventSourceMappingOnFailurePtrOutput) Destination() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } +type EventSourceMappingProvisionedPollerConfig struct { + // The maximum number of event pollers this event source can scale up to. + MaximumPollers *int `pulumi:"maximumPollers"` + // The minimum number of event pollers this event source can scale down to. + MinimumPollers *int `pulumi:"minimumPollers"` +} + +// EventSourceMappingProvisionedPollerConfigInput is an input type that accepts EventSourceMappingProvisionedPollerConfigArgs and EventSourceMappingProvisionedPollerConfigOutput values. +// You can construct a concrete instance of `EventSourceMappingProvisionedPollerConfigInput` via: +// +// EventSourceMappingProvisionedPollerConfigArgs{...} +type EventSourceMappingProvisionedPollerConfigInput interface { + pulumi.Input + + ToEventSourceMappingProvisionedPollerConfigOutput() EventSourceMappingProvisionedPollerConfigOutput + ToEventSourceMappingProvisionedPollerConfigOutputWithContext(context.Context) EventSourceMappingProvisionedPollerConfigOutput +} + +type EventSourceMappingProvisionedPollerConfigArgs struct { + // The maximum number of event pollers this event source can scale up to. + MaximumPollers pulumi.IntPtrInput `pulumi:"maximumPollers"` + // The minimum number of event pollers this event source can scale down to. + MinimumPollers pulumi.IntPtrInput `pulumi:"minimumPollers"` +} + +func (EventSourceMappingProvisionedPollerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigOutput() EventSourceMappingProvisionedPollerConfigOutput { + return i.ToEventSourceMappingProvisionedPollerConfigOutputWithContext(context.Background()) +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigOutput) +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return i.ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Background()) +} + +func (i EventSourceMappingProvisionedPollerConfigArgs) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigOutput).ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx) +} + +// EventSourceMappingProvisionedPollerConfigPtrInput is an input type that accepts EventSourceMappingProvisionedPollerConfigArgs, EventSourceMappingProvisionedPollerConfigPtr and EventSourceMappingProvisionedPollerConfigPtrOutput values. +// You can construct a concrete instance of `EventSourceMappingProvisionedPollerConfigPtrInput` via: +// +// EventSourceMappingProvisionedPollerConfigArgs{...} +// +// or: +// +// nil +type EventSourceMappingProvisionedPollerConfigPtrInput interface { + pulumi.Input + + ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput + ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput +} + +type eventSourceMappingProvisionedPollerConfigPtrType EventSourceMappingProvisionedPollerConfigArgs + +func EventSourceMappingProvisionedPollerConfigPtr(v *EventSourceMappingProvisionedPollerConfigArgs) EventSourceMappingProvisionedPollerConfigPtrInput { + return (*eventSourceMappingProvisionedPollerConfigPtrType)(v) +} + +func (*eventSourceMappingProvisionedPollerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (i *eventSourceMappingProvisionedPollerConfigPtrType) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return i.ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Background()) +} + +func (i *eventSourceMappingProvisionedPollerConfigPtrType) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + +type EventSourceMappingProvisionedPollerConfigOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingProvisionedPollerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigOutput() EventSourceMappingProvisionedPollerConfigOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(context.Background()) +} + +func (o EventSourceMappingProvisionedPollerConfigOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EventSourceMappingProvisionedPollerConfig) *EventSourceMappingProvisionedPollerConfig { + return &v + }).(EventSourceMappingProvisionedPollerConfigPtrOutput) +} + +// The maximum number of event pollers this event source can scale up to. +func (o EventSourceMappingProvisionedPollerConfigOutput) MaximumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v EventSourceMappingProvisionedPollerConfig) *int { return v.MaximumPollers }).(pulumi.IntPtrOutput) +} + +// The minimum number of event pollers this event source can scale down to. +func (o EventSourceMappingProvisionedPollerConfigOutput) MinimumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v EventSourceMappingProvisionedPollerConfig) *int { return v.MinimumPollers }).(pulumi.IntPtrOutput) +} + +type EventSourceMappingProvisionedPollerConfigPtrOutput struct{ *pulumi.OutputState } + +func (EventSourceMappingProvisionedPollerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EventSourceMappingProvisionedPollerConfig)(nil)).Elem() +} + +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutput() EventSourceMappingProvisionedPollerConfigPtrOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) ToEventSourceMappingProvisionedPollerConfigPtrOutputWithContext(ctx context.Context) EventSourceMappingProvisionedPollerConfigPtrOutput { + return o +} + +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) Elem() EventSourceMappingProvisionedPollerConfigOutput { + return o.ApplyT(func(v *EventSourceMappingProvisionedPollerConfig) EventSourceMappingProvisionedPollerConfig { + if v != nil { + return *v + } + var ret EventSourceMappingProvisionedPollerConfig + return ret + }).(EventSourceMappingProvisionedPollerConfigOutput) +} + +// The maximum number of event pollers this event source can scale up to. +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) MaximumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EventSourceMappingProvisionedPollerConfig) *int { + if v == nil { + return nil + } + return v.MaximumPollers + }).(pulumi.IntPtrOutput) +} + +// The minimum number of event pollers this event source can scale down to. +func (o EventSourceMappingProvisionedPollerConfigPtrOutput) MinimumPollers() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EventSourceMappingProvisionedPollerConfig) *int { + if v == nil { + return nil + } + return v.MinimumPollers + }).(pulumi.IntPtrOutput) +} + // (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value. type EventSourceMappingScalingConfig struct { // Limits the number of concurrent instances that the SQS event source can invoke. @@ -5038,8 +5331,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFilterArrayInput)(nil)).Elem(), EventSourceMappingFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFilterCriteriaInput)(nil)).Elem(), EventSourceMappingFilterCriteriaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingFilterCriteriaPtrInput)(nil)).Elem(), EventSourceMappingFilterCriteriaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigInput)(nil)).Elem(), EventSourceMappingMetricsConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingMetricsConfigPtrInput)(nil)).Elem(), EventSourceMappingMetricsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingOnFailureInput)(nil)).Elem(), EventSourceMappingOnFailureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingOnFailurePtrInput)(nil)).Elem(), EventSourceMappingOnFailureArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingProvisionedPollerConfigInput)(nil)).Elem(), EventSourceMappingProvisionedPollerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingProvisionedPollerConfigPtrInput)(nil)).Elem(), EventSourceMappingProvisionedPollerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingScalingConfigInput)(nil)).Elem(), EventSourceMappingScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingScalingConfigPtrInput)(nil)).Elem(), EventSourceMappingScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSourceMappingSelfManagedEventSourceInput)(nil)).Elem(), EventSourceMappingSelfManagedEventSourceArgs{}) @@ -5104,8 +5401,12 @@ func init() { pulumi.RegisterOutputType(EventSourceMappingFilterArrayOutput{}) pulumi.RegisterOutputType(EventSourceMappingFilterCriteriaOutput{}) pulumi.RegisterOutputType(EventSourceMappingFilterCriteriaPtrOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigOutput{}) + pulumi.RegisterOutputType(EventSourceMappingMetricsConfigPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingOnFailureOutput{}) pulumi.RegisterOutputType(EventSourceMappingOnFailurePtrOutput{}) + pulumi.RegisterOutputType(EventSourceMappingProvisionedPollerConfigOutput{}) + pulumi.RegisterOutputType(EventSourceMappingProvisionedPollerConfigPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingScalingConfigOutput{}) pulumi.RegisterOutputType(EventSourceMappingScalingConfigPtrOutput{}) pulumi.RegisterOutputType(EventSourceMappingSelfManagedEventSourceOutput{}) diff --git a/sdk/go/aws/m2/deployment.go b/sdk/go/aws/m2/deployment.go new file mode 100644 index 0000000000..33901c65ec --- /dev/null +++ b/sdk/go/aws/m2/deployment.go @@ -0,0 +1,168 @@ +// 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 m2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment +type Deployment struct { + pulumi.CustomResourceState + + // The application ID. + ApplicationId pulumi.StringOutput `pulumi:"applicationId"` + // The version number of the application to deploy + ApplicationVersion pulumi.IntOutput `pulumi:"applicationVersion"` + // The deployment ID. + DeploymentId pulumi.StringOutput `pulumi:"deploymentId"` + // The environment ID. + EnvironmentId pulumi.StringOutput `pulumi:"environmentId"` + // The status of the deployment. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewDeployment registers a new resource with the given unique name, arguments, and options. +func NewDeployment(ctx *pulumi.Context, + name string, args *DeploymentArgs, opts ...pulumi.ResourceOption) (*Deployment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ApplicationId == nil { + return nil, errors.New("invalid value for required argument 'ApplicationId'") + } + if args.ApplicationVersion == nil { + return nil, errors.New("invalid value for required argument 'ApplicationVersion'") + } + if args.EnvironmentId == nil { + return nil, errors.New("invalid value for required argument 'EnvironmentId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "applicationId", + "environmentId", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Deployment + err := ctx.RegisterResource("aws-native:m2:Deployment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDeployment gets an existing Deployment 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 GetDeployment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DeploymentState, opts ...pulumi.ResourceOption) (*Deployment, error) { + var resource Deployment + err := ctx.ReadResource("aws-native:m2:Deployment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Deployment resources. +type deploymentState struct { +} + +type DeploymentState struct { +} + +func (DeploymentState) ElementType() reflect.Type { + return reflect.TypeOf((*deploymentState)(nil)).Elem() +} + +type deploymentArgs struct { + // The application ID. + ApplicationId string `pulumi:"applicationId"` + // The version number of the application to deploy + ApplicationVersion int `pulumi:"applicationVersion"` + // The environment ID. + EnvironmentId string `pulumi:"environmentId"` +} + +// The set of arguments for constructing a Deployment resource. +type DeploymentArgs struct { + // The application ID. + ApplicationId pulumi.StringInput + // The version number of the application to deploy + ApplicationVersion pulumi.IntInput + // The environment ID. + EnvironmentId pulumi.StringInput +} + +func (DeploymentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*deploymentArgs)(nil)).Elem() +} + +type DeploymentInput interface { + pulumi.Input + + ToDeploymentOutput() DeploymentOutput + ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput +} + +func (*Deployment) ElementType() reflect.Type { + return reflect.TypeOf((**Deployment)(nil)).Elem() +} + +func (i *Deployment) ToDeploymentOutput() DeploymentOutput { + return i.ToDeploymentOutputWithContext(context.Background()) +} + +func (i *Deployment) ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentOutput) +} + +type DeploymentOutput struct{ *pulumi.OutputState } + +func (DeploymentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Deployment)(nil)).Elem() +} + +func (o DeploymentOutput) ToDeploymentOutput() DeploymentOutput { + return o +} + +func (o DeploymentOutput) ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput { + return o +} + +// The application ID. +func (o DeploymentOutput) ApplicationId() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) +} + +// The version number of the application to deploy +func (o DeploymentOutput) ApplicationVersion() pulumi.IntOutput { + return o.ApplyT(func(v *Deployment) pulumi.IntOutput { return v.ApplicationVersion }).(pulumi.IntOutput) +} + +// The deployment ID. +func (o DeploymentOutput) DeploymentId() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.DeploymentId }).(pulumi.StringOutput) +} + +// The environment ID. +func (o DeploymentOutput) EnvironmentId() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput) +} + +// The status of the deployment. +func (o DeploymentOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Deployment) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentInput)(nil)).Elem(), &Deployment{}) + pulumi.RegisterOutputType(DeploymentOutput{}) +} diff --git a/sdk/go/aws/m2/getDeployment.go b/sdk/go/aws/m2/getDeployment.go new file mode 100644 index 0000000000..8018e3ad3e --- /dev/null +++ b/sdk/go/aws/m2/getDeployment.go @@ -0,0 +1,98 @@ +// 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 m2 + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment +func LookupDeployment(ctx *pulumi.Context, args *LookupDeploymentArgs, opts ...pulumi.InvokeOption) (*LookupDeploymentResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDeploymentResult + err := ctx.Invoke("aws-native:m2:getDeployment", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDeploymentArgs struct { + // The application ID. + ApplicationId string `pulumi:"applicationId"` +} + +type LookupDeploymentResult struct { + // The version number of the application to deploy + ApplicationVersion *int `pulumi:"applicationVersion"` + // The deployment ID. + DeploymentId *string `pulumi:"deploymentId"` + // The status of the deployment. + Status *string `pulumi:"status"` +} + +func LookupDeploymentOutput(ctx *pulumi.Context, args LookupDeploymentOutputArgs, opts ...pulumi.InvokeOption) LookupDeploymentResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDeploymentResultOutput, error) { + args := v.(LookupDeploymentArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDeploymentResult + secret, err := ctx.InvokePackageRaw("aws-native:m2:getDeployment", args, &rv, "", opts...) + if err != nil { + return LookupDeploymentResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupDeploymentResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupDeploymentResultOutput), nil + } + return output, nil + }).(LookupDeploymentResultOutput) +} + +type LookupDeploymentOutputArgs struct { + // The application ID. + ApplicationId pulumi.StringInput `pulumi:"applicationId"` +} + +func (LookupDeploymentOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDeploymentArgs)(nil)).Elem() +} + +type LookupDeploymentResultOutput struct{ *pulumi.OutputState } + +func (LookupDeploymentResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDeploymentResult)(nil)).Elem() +} + +func (o LookupDeploymentResultOutput) ToLookupDeploymentResultOutput() LookupDeploymentResultOutput { + return o +} + +func (o LookupDeploymentResultOutput) ToLookupDeploymentResultOutputWithContext(ctx context.Context) LookupDeploymentResultOutput { + return o +} + +// The version number of the application to deploy +func (o LookupDeploymentResultOutput) ApplicationVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v LookupDeploymentResult) *int { return v.ApplicationVersion }).(pulumi.IntPtrOutput) +} + +// The deployment ID. +func (o LookupDeploymentResultOutput) DeploymentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDeploymentResult) *string { return v.DeploymentId }).(pulumi.StringPtrOutput) +} + +// The status of the deployment. +func (o LookupDeploymentResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDeploymentResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDeploymentResultOutput{}) +} diff --git a/sdk/go/aws/m2/init.go b/sdk/go/aws/m2/init.go index 72583a4aee..158c27b340 100644 --- a/sdk/go/aws/m2/init.go +++ b/sdk/go/aws/m2/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws-native:m2:Application": r = &Application{} + case "aws-native:m2:Deployment": + r = &Deployment{} case "aws-native:m2:Environment": r = &Environment{} default: diff --git a/sdk/go/aws/mwaa/environment.go b/sdk/go/aws/mwaa/environment.go index 4e44484364..7a262bc997 100644 --- a/sdk/go/aws/mwaa/environment.go +++ b/sdk/go/aws/mwaa/environment.go @@ -53,13 +53,13 @@ type Environment struct { LoggingConfiguration EnvironmentLoggingConfigurationPtrOutput `pulumi:"loggingConfiguration"` // The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MaxWebservers pulumi.IntPtrOutput `pulumi:"maxWebservers"` // The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. For example, `20` . When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in `MinWorkers` . MaxWorkers pulumi.IntPtrOutput `pulumi:"maxWorkers"` // The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MinWebservers pulumi.IntPtrOutput `pulumi:"minWebservers"` // The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the `MinWorkers` field. For example, `2` . MinWorkers pulumi.IntPtrOutput `pulumi:"minWorkers"` @@ -189,13 +189,13 @@ type environmentArgs struct { LoggingConfiguration *EnvironmentLoggingConfiguration `pulumi:"loggingConfiguration"` // The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MaxWebservers *int `pulumi:"maxWebservers"` // The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. For example, `20` . When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in `MinWorkers` . MaxWorkers *int `pulumi:"maxWorkers"` // The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MinWebservers *int `pulumi:"minWebservers"` // The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the `MinWorkers` field. For example, `2` . MinWorkers *int `pulumi:"minWorkers"` @@ -276,13 +276,13 @@ type EnvironmentArgs struct { LoggingConfiguration EnvironmentLoggingConfigurationPtrInput // The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MaxWebservers pulumi.IntPtrInput // The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. For example, `20` . When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in `MinWorkers` . MaxWorkers pulumi.IntPtrInput // The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MinWebservers pulumi.IntPtrInput // The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the `MinWorkers` field. For example, `2` . MinWorkers pulumi.IntPtrInput @@ -438,7 +438,7 @@ func (o EnvironmentOutput) LoggingConfiguration() EnvironmentLoggingConfiguratio // The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // -// Valid values: Accepts between `2` and `5` . Defaults to `2` . +// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . func (o EnvironmentOutput) MaxWebservers() pulumi.IntPtrOutput { return o.ApplyT(func(v *Environment) pulumi.IntPtrOutput { return v.MaxWebservers }).(pulumi.IntPtrOutput) } @@ -450,7 +450,7 @@ func (o EnvironmentOutput) MaxWorkers() pulumi.IntPtrOutput { // The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // -// Valid values: Accepts between `2` and `5` . Defaults to `2` . +// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . func (o EnvironmentOutput) MinWebservers() pulumi.IntPtrOutput { return o.ApplyT(func(v *Environment) pulumi.IntPtrOutput { return v.MinWebservers }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/mwaa/getEnvironment.go b/sdk/go/aws/mwaa/getEnvironment.go index 25018e5b7b..5c1ccb8f16 100644 --- a/sdk/go/aws/mwaa/getEnvironment.go +++ b/sdk/go/aws/mwaa/getEnvironment.go @@ -62,13 +62,13 @@ type LookupEnvironmentResult struct { LoggingConfiguration *EnvironmentLoggingConfiguration `pulumi:"loggingConfiguration"` // The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MaxWebservers *int `pulumi:"maxWebservers"` // The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. For example, `20` . When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in `MinWorkers` . MaxWorkers *int `pulumi:"maxWorkers"` // The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // - // Valid values: Accepts between `2` and `5` . Defaults to `2` . + // Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . MinWebservers *int `pulumi:"minWebservers"` // The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the `MinWorkers` field. For example, `2` . MinWorkers *int `pulumi:"minWorkers"` @@ -221,7 +221,7 @@ func (o LookupEnvironmentResultOutput) LoggingConfiguration() EnvironmentLogging // The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // -// Valid values: Accepts between `2` and `5` . Defaults to `2` . +// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . func (o LookupEnvironmentResultOutput) MaxWebservers() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupEnvironmentResult) *int { return v.MaxWebservers }).(pulumi.IntPtrOutput) } @@ -233,7 +233,7 @@ func (o LookupEnvironmentResultOutput) MaxWorkers() pulumi.IntPtrOutput { // The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . // -// Valid values: Accepts between `2` and `5` . Defaults to `2` . +// Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . func (o LookupEnvironmentResultOutput) MinWebservers() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupEnvironmentResult) *int { return v.MinWebservers }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/opensearchserverless/getSecurityConfig.go b/sdk/go/aws/opensearchserverless/getSecurityConfig.go index 8049b35c4c..98c0f603e0 100644 --- a/sdk/go/aws/opensearchserverless/getSecurityConfig.go +++ b/sdk/go/aws/opensearchserverless/getSecurityConfig.go @@ -29,7 +29,8 @@ type LookupSecurityConfigArgs struct { type LookupSecurityConfigResult struct { // Security config description - Description *string `pulumi:"description"` + Description *string `pulumi:"description"` + IamIdentityCenterOptions *SecurityConfigIamIdentityCenterConfigOptions `pulumi:"iamIdentityCenterOptions"` // The identifier of the security config Id *string `pulumi:"id"` // SAML options for the security configuration in the form of a key-value map. @@ -83,6 +84,12 @@ func (o LookupSecurityConfigResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecurityConfigResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +func (o LookupSecurityConfigResultOutput) IamIdentityCenterOptions() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return o.ApplyT(func(v LookupSecurityConfigResult) *SecurityConfigIamIdentityCenterConfigOptions { + return v.IamIdentityCenterOptions + }).(SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) +} + // The identifier of the security config func (o LookupSecurityConfigResultOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecurityConfigResult) *string { return v.Id }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/opensearchserverless/pulumiEnums.go b/sdk/go/aws/opensearchserverless/pulumiEnums.go index 96b25b3239..01c25f757d 100644 --- a/sdk/go/aws/opensearchserverless/pulumiEnums.go +++ b/sdk/go/aws/opensearchserverless/pulumiEnums.go @@ -676,7 +676,8 @@ func (in *lifecyclePolicyTypePtr) ToLifecyclePolicyTypePtrOutputWithContext(ctx type SecurityConfigType string const ( - SecurityConfigTypeSaml = SecurityConfigType("saml") + SecurityConfigTypeSaml = SecurityConfigType("saml") + SecurityConfigTypeIamidentitycenter = SecurityConfigType("iamidentitycenter") ) func (SecurityConfigType) ElementType() reflect.Type { @@ -802,6 +803,7 @@ func (o SecurityConfigTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Co // A concrete instance of `SecurityConfigTypeInput` can be one of the following: // // SecurityConfigTypeSaml +// SecurityConfigTypeIamidentitycenter type SecurityConfigTypeInput interface { pulumi.Input diff --git a/sdk/go/aws/opensearchserverless/pulumiTypes.go b/sdk/go/aws/opensearchserverless/pulumiTypes.go index 9e7a1a21d6..4564c03e7f 100644 --- a/sdk/go/aws/opensearchserverless/pulumiTypes.go +++ b/sdk/go/aws/opensearchserverless/pulumiTypes.go @@ -21,6 +21,225 @@ type CollectionTag struct { Value string `pulumi:"value"` } +// Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map +type SecurityConfigIamIdentityCenterConfigOptions struct { + ApplicationArn *string `pulumi:"applicationArn"` + // The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + ApplicationDescription *string `pulumi:"applicationDescription"` + // The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + ApplicationName *string `pulumi:"applicationName"` + GroupAttribute *string `pulumi:"groupAttribute"` + InstanceArn string `pulumi:"instanceArn"` + UserAttribute *string `pulumi:"userAttribute"` +} + +// SecurityConfigIamIdentityCenterConfigOptionsInput is an input type that accepts SecurityConfigIamIdentityCenterConfigOptionsArgs and SecurityConfigIamIdentityCenterConfigOptionsOutput values. +// You can construct a concrete instance of `SecurityConfigIamIdentityCenterConfigOptionsInput` via: +// +// SecurityConfigIamIdentityCenterConfigOptionsArgs{...} +type SecurityConfigIamIdentityCenterConfigOptionsInput interface { + pulumi.Input + + ToSecurityConfigIamIdentityCenterConfigOptionsOutput() SecurityConfigIamIdentityCenterConfigOptionsOutput + ToSecurityConfigIamIdentityCenterConfigOptionsOutputWithContext(context.Context) SecurityConfigIamIdentityCenterConfigOptionsOutput +} + +// Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map +type SecurityConfigIamIdentityCenterConfigOptionsArgs struct { + ApplicationArn pulumi.StringPtrInput `pulumi:"applicationArn"` + // The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + ApplicationDescription pulumi.StringPtrInput `pulumi:"applicationDescription"` + // The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + ApplicationName pulumi.StringPtrInput `pulumi:"applicationName"` + GroupAttribute pulumi.StringPtrInput `pulumi:"groupAttribute"` + InstanceArn pulumi.StringInput `pulumi:"instanceArn"` + UserAttribute pulumi.StringPtrInput `pulumi:"userAttribute"` +} + +func (SecurityConfigIamIdentityCenterConfigOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityConfigIamIdentityCenterConfigOptions)(nil)).Elem() +} + +func (i SecurityConfigIamIdentityCenterConfigOptionsArgs) ToSecurityConfigIamIdentityCenterConfigOptionsOutput() SecurityConfigIamIdentityCenterConfigOptionsOutput { + return i.ToSecurityConfigIamIdentityCenterConfigOptionsOutputWithContext(context.Background()) +} + +func (i SecurityConfigIamIdentityCenterConfigOptionsArgs) ToSecurityConfigIamIdentityCenterConfigOptionsOutputWithContext(ctx context.Context) SecurityConfigIamIdentityCenterConfigOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigIamIdentityCenterConfigOptionsOutput) +} + +func (i SecurityConfigIamIdentityCenterConfigOptionsArgs) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutput() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return i.ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(context.Background()) +} + +func (i SecurityConfigIamIdentityCenterConfigOptionsArgs) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(ctx context.Context) SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigIamIdentityCenterConfigOptionsOutput).ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(ctx) +} + +// SecurityConfigIamIdentityCenterConfigOptionsPtrInput is an input type that accepts SecurityConfigIamIdentityCenterConfigOptionsArgs, SecurityConfigIamIdentityCenterConfigOptionsPtr and SecurityConfigIamIdentityCenterConfigOptionsPtrOutput values. +// You can construct a concrete instance of `SecurityConfigIamIdentityCenterConfigOptionsPtrInput` via: +// +// SecurityConfigIamIdentityCenterConfigOptionsArgs{...} +// +// or: +// +// nil +type SecurityConfigIamIdentityCenterConfigOptionsPtrInput interface { + pulumi.Input + + ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutput() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput + ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(context.Context) SecurityConfigIamIdentityCenterConfigOptionsPtrOutput +} + +type securityConfigIamIdentityCenterConfigOptionsPtrType SecurityConfigIamIdentityCenterConfigOptionsArgs + +func SecurityConfigIamIdentityCenterConfigOptionsPtr(v *SecurityConfigIamIdentityCenterConfigOptionsArgs) SecurityConfigIamIdentityCenterConfigOptionsPtrInput { + return (*securityConfigIamIdentityCenterConfigOptionsPtrType)(v) +} + +func (*securityConfigIamIdentityCenterConfigOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityConfigIamIdentityCenterConfigOptions)(nil)).Elem() +} + +func (i *securityConfigIamIdentityCenterConfigOptionsPtrType) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutput() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return i.ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(context.Background()) +} + +func (i *securityConfigIamIdentityCenterConfigOptionsPtrType) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(ctx context.Context) SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) +} + +// Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map +type SecurityConfigIamIdentityCenterConfigOptionsOutput struct{ *pulumi.OutputState } + +func (SecurityConfigIamIdentityCenterConfigOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityConfigIamIdentityCenterConfigOptions)(nil)).Elem() +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ToSecurityConfigIamIdentityCenterConfigOptionsOutput() SecurityConfigIamIdentityCenterConfigOptionsOutput { + return o +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ToSecurityConfigIamIdentityCenterConfigOptionsOutputWithContext(ctx context.Context) SecurityConfigIamIdentityCenterConfigOptionsOutput { + return o +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutput() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return o.ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(context.Background()) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(ctx context.Context) SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityConfigIamIdentityCenterConfigOptions) *SecurityConfigIamIdentityCenterConfigOptions { + return &v + }).(SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ApplicationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityConfigIamIdentityCenterConfigOptions) *string { return v.ApplicationArn }).(pulumi.StringPtrOutput) +} + +// The description of the IAM Identity Center application used to integrate with OpenSearch Serverless +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ApplicationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityConfigIamIdentityCenterConfigOptions) *string { return v.ApplicationDescription }).(pulumi.StringPtrOutput) +} + +// The name of the IAM Identity Center application used to integrate with OpenSearch Serverless +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) ApplicationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityConfigIamIdentityCenterConfigOptions) *string { return v.ApplicationName }).(pulumi.StringPtrOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) GroupAttribute() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityConfigIamIdentityCenterConfigOptions) *string { return v.GroupAttribute }).(pulumi.StringPtrOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) InstanceArn() pulumi.StringOutput { + return o.ApplyT(func(v SecurityConfigIamIdentityCenterConfigOptions) string { return v.InstanceArn }).(pulumi.StringOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsOutput) UserAttribute() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityConfigIamIdentityCenterConfigOptions) *string { return v.UserAttribute }).(pulumi.StringPtrOutput) +} + +type SecurityConfigIamIdentityCenterConfigOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityConfigIamIdentityCenterConfigOptions)(nil)).Elem() +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutput() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return o +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) ToSecurityConfigIamIdentityCenterConfigOptionsPtrOutputWithContext(ctx context.Context) SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return o +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) Elem() SecurityConfigIamIdentityCenterConfigOptionsOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) SecurityConfigIamIdentityCenterConfigOptions { + if v != nil { + return *v + } + var ret SecurityConfigIamIdentityCenterConfigOptions + return ret + }).(SecurityConfigIamIdentityCenterConfigOptionsOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) ApplicationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) *string { + if v == nil { + return nil + } + return v.ApplicationArn + }).(pulumi.StringPtrOutput) +} + +// The description of the IAM Identity Center application used to integrate with OpenSearch Serverless +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) ApplicationDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) *string { + if v == nil { + return nil + } + return v.ApplicationDescription + }).(pulumi.StringPtrOutput) +} + +// The name of the IAM Identity Center application used to integrate with OpenSearch Serverless +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) ApplicationName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) *string { + if v == nil { + return nil + } + return v.ApplicationName + }).(pulumi.StringPtrOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) GroupAttribute() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) *string { + if v == nil { + return nil + } + return v.GroupAttribute + }).(pulumi.StringPtrOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) InstanceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) *string { + if v == nil { + return nil + } + return &v.InstanceArn + }).(pulumi.StringPtrOutput) +} + +func (o SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) UserAttribute() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityConfigIamIdentityCenterConfigOptions) *string { + if v == nil { + return nil + } + return v.UserAttribute + }).(pulumi.StringPtrOutput) +} + // Describes saml options in form of key value map type SecurityConfigSamlConfigOptions struct { // Group attribute for this saml integration @@ -219,8 +438,12 @@ func (o SecurityConfigSamlConfigOptionsPtrOutput) UserAttribute() pulumi.StringP } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigIamIdentityCenterConfigOptionsInput)(nil)).Elem(), SecurityConfigIamIdentityCenterConfigOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigIamIdentityCenterConfigOptionsPtrInput)(nil)).Elem(), SecurityConfigIamIdentityCenterConfigOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigSamlConfigOptionsInput)(nil)).Elem(), SecurityConfigSamlConfigOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigSamlConfigOptionsPtrInput)(nil)).Elem(), SecurityConfigSamlConfigOptionsArgs{}) + pulumi.RegisterOutputType(SecurityConfigIamIdentityCenterConfigOptionsOutput{}) + pulumi.RegisterOutputType(SecurityConfigIamIdentityCenterConfigOptionsPtrOutput{}) pulumi.RegisterOutputType(SecurityConfigSamlConfigOptionsOutput{}) pulumi.RegisterOutputType(SecurityConfigSamlConfigOptionsPtrOutput{}) } diff --git a/sdk/go/aws/opensearchserverless/securityConfig.go b/sdk/go/aws/opensearchserverless/securityConfig.go index aa26b3f0c4..6f2e0b3b76 100644 --- a/sdk/go/aws/opensearchserverless/securityConfig.go +++ b/sdk/go/aws/opensearchserverless/securityConfig.go @@ -86,7 +86,8 @@ type SecurityConfig struct { // The identifier of the security config AwsId pulumi.StringOutput `pulumi:"awsId"` // Security config description - Description pulumi.StringPtrOutput `pulumi:"description"` + Description pulumi.StringPtrOutput `pulumi:"description"` + IamIdentityCenterOptions SecurityConfigIamIdentityCenterConfigOptionsPtrOutput `pulumi:"iamIdentityCenterOptions"` // The friendly name of the security config Name pulumi.StringPtrOutput `pulumi:"name"` // SAML options for the security configuration in the form of a key-value map. @@ -103,6 +104,7 @@ func NewSecurityConfig(ctx *pulumi.Context, } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "iamIdentityCenterOptions.instanceArn", "name", "type", }) @@ -141,7 +143,8 @@ func (SecurityConfigState) ElementType() reflect.Type { type securityConfigArgs struct { // Security config description - Description *string `pulumi:"description"` + Description *string `pulumi:"description"` + IamIdentityCenterOptions *SecurityConfigIamIdentityCenterConfigOptions `pulumi:"iamIdentityCenterOptions"` // The friendly name of the security config Name *string `pulumi:"name"` // SAML options for the security configuration in the form of a key-value map. @@ -153,7 +156,8 @@ type securityConfigArgs struct { // The set of arguments for constructing a SecurityConfig resource. type SecurityConfigArgs struct { // Security config description - Description pulumi.StringPtrInput + Description pulumi.StringPtrInput + IamIdentityCenterOptions SecurityConfigIamIdentityCenterConfigOptionsPtrInput // The friendly name of the security config Name pulumi.StringPtrInput // SAML options for the security configuration in the form of a key-value map. @@ -209,6 +213,12 @@ func (o SecurityConfigOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityConfig) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +func (o SecurityConfigOutput) IamIdentityCenterOptions() SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return o.ApplyT(func(v *SecurityConfig) SecurityConfigIamIdentityCenterConfigOptionsPtrOutput { + return v.IamIdentityCenterOptions + }).(SecurityConfigIamIdentityCenterConfigOptionsPtrOutput) +} + // The friendly name of the security config func (o SecurityConfigOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityConfig) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/rbin/getRule.go b/sdk/go/aws/rbin/getRule.go index bc99028e9a..d2d8ebcf62 100644 --- a/sdk/go/aws/rbin/getRule.go +++ b/sdk/go/aws/rbin/getRule.go @@ -33,6 +33,8 @@ type LookupRuleResult struct { Arn *string `pulumi:"arn"` // The description of the retention rule. Description *string `pulumi:"description"` + // Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + ExcludeResourceTags []RuleResourceTag `pulumi:"excludeResourceTags"` // The unique ID of the retention rule. Identifier *string `pulumi:"identifier"` // The lock state for the retention rule. @@ -99,6 +101,11 @@ func (o LookupRuleResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupRuleResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +// Information about the exclude resource tags used to identify resources that are excluded by the retention rule. +func (o LookupRuleResultOutput) ExcludeResourceTags() RuleResourceTagArrayOutput { + return o.ApplyT(func(v LookupRuleResult) []RuleResourceTag { return v.ExcludeResourceTags }).(RuleResourceTagArrayOutput) +} + // The unique ID of the retention rule. func (o LookupRuleResultOutput) Identifier() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupRuleResult) *string { return v.Identifier }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/rbin/rule.go b/sdk/go/aws/rbin/rule.go index ce98be4f6c..20cd243949 100644 --- a/sdk/go/aws/rbin/rule.go +++ b/sdk/go/aws/rbin/rule.go @@ -21,6 +21,8 @@ type Rule struct { Arn pulumi.StringOutput `pulumi:"arn"` // The description of the retention rule. Description pulumi.StringPtrOutput `pulumi:"description"` + // Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + ExcludeResourceTags RuleResourceTagArrayOutput `pulumi:"excludeResourceTags"` // The unique ID of the retention rule. Identifier pulumi.StringOutput `pulumi:"identifier"` // Information about the retention rule lock configuration. @@ -91,6 +93,8 @@ func (RuleState) ElementType() reflect.Type { type ruleArgs struct { // The description of the retention rule. Description *string `pulumi:"description"` + // Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + ExcludeResourceTags []RuleResourceTag `pulumi:"excludeResourceTags"` // Information about the retention rule lock configuration. LockConfiguration *RuleUnlockDelay `pulumi:"lockConfiguration"` // Information about the resource tags used to identify resources that are retained by the retention rule. @@ -109,6 +113,8 @@ type ruleArgs struct { type RuleArgs struct { // The description of the retention rule. Description pulumi.StringPtrInput + // Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + ExcludeResourceTags RuleResourceTagArrayInput // Information about the retention rule lock configuration. LockConfiguration RuleUnlockDelayPtrInput // Information about the resource tags used to identify resources that are retained by the retention rule. @@ -170,6 +176,11 @@ func (o RuleOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Rule) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// Information about the exclude resource tags used to identify resources that are excluded by the retention rule. +func (o RuleOutput) ExcludeResourceTags() RuleResourceTagArrayOutput { + return o.ApplyT(func(v *Rule) RuleResourceTagArrayOutput { return v.ExcludeResourceTags }).(RuleResourceTagArrayOutput) +} + // The unique ID of the retention rule. func (o RuleOutput) Identifier() pulumi.StringOutput { return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.Identifier }).(pulumi.StringOutput) diff --git a/sdk/go/aws/rds/getGlobalCluster.go b/sdk/go/aws/rds/getGlobalCluster.go index 62a9d086a1..e1737cdc94 100644 --- a/sdk/go/aws/rds/getGlobalCluster.go +++ b/sdk/go/aws/rds/getGlobalCluster.go @@ -34,7 +34,8 @@ type LookupGlobalClusterResult struct { // The life cycle type of the global cluster. You can use this setting to enroll your global cluster into Amazon RDS Extended Support. EngineLifecycleSupport *string `pulumi:"engineLifecycleSupport"` // The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster. - EngineVersion *string `pulumi:"engineVersion"` + EngineVersion *string `pulumi:"engineVersion"` + GlobalEndpoint *GlobalClusterGlobalEndpoint `pulumi:"globalEndpoint"` // An array of key-value pairs to apply to this resource. Tags []aws.Tag `pulumi:"tags"` } @@ -96,6 +97,10 @@ func (o LookupGlobalClusterResultOutput) EngineVersion() pulumi.StringPtrOutput return o.ApplyT(func(v LookupGlobalClusterResult) *string { return v.EngineVersion }).(pulumi.StringPtrOutput) } +func (o LookupGlobalClusterResultOutput) GlobalEndpoint() GlobalClusterGlobalEndpointPtrOutput { + return o.ApplyT(func(v LookupGlobalClusterResult) *GlobalClusterGlobalEndpoint { return v.GlobalEndpoint }).(GlobalClusterGlobalEndpointPtrOutput) +} + // An array of key-value pairs to apply to this resource. func (o LookupGlobalClusterResultOutput) Tags() aws.TagArrayOutput { return o.ApplyT(func(v LookupGlobalClusterResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) diff --git a/sdk/go/aws/rds/globalCluster.go b/sdk/go/aws/rds/globalCluster.go index 8767e6fc3d..7c216df20e 100644 --- a/sdk/go/aws/rds/globalCluster.go +++ b/sdk/go/aws/rds/globalCluster.go @@ -26,7 +26,8 @@ type GlobalCluster struct { // The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster. EngineVersion pulumi.StringPtrOutput `pulumi:"engineVersion"` // The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string. - GlobalClusterIdentifier pulumi.StringPtrOutput `pulumi:"globalClusterIdentifier"` + GlobalClusterIdentifier pulumi.StringPtrOutput `pulumi:"globalClusterIdentifier"` + GlobalEndpoint GlobalClusterGlobalEndpointPtrOutput `pulumi:"globalEndpoint"` // The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. SourceDbClusterIdentifier pulumi.StringPtrOutput `pulumi:"sourceDbClusterIdentifier"` // The storage encryption setting for the new global database cluster. @@ -93,7 +94,8 @@ type globalClusterArgs struct { // The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster. EngineVersion *string `pulumi:"engineVersion"` // The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string. - GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` + GlobalClusterIdentifier *string `pulumi:"globalClusterIdentifier"` + GlobalEndpoint *GlobalClusterGlobalEndpoint `pulumi:"globalEndpoint"` // The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. SourceDbClusterIdentifier *string `pulumi:"sourceDbClusterIdentifier"` // The storage encryption setting for the new global database cluster. @@ -116,6 +118,7 @@ type GlobalClusterArgs struct { EngineVersion pulumi.StringPtrInput // The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string. GlobalClusterIdentifier pulumi.StringPtrInput + GlobalEndpoint GlobalClusterGlobalEndpointPtrInput // The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. SourceDbClusterIdentifier pulumi.StringPtrInput // The storage encryption setting for the new global database cluster. @@ -188,6 +191,10 @@ func (o GlobalClusterOutput) GlobalClusterIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v *GlobalCluster) pulumi.StringPtrOutput { return v.GlobalClusterIdentifier }).(pulumi.StringPtrOutput) } +func (o GlobalClusterOutput) GlobalEndpoint() GlobalClusterGlobalEndpointPtrOutput { + return o.ApplyT(func(v *GlobalCluster) GlobalClusterGlobalEndpointPtrOutput { return v.GlobalEndpoint }).(GlobalClusterGlobalEndpointPtrOutput) +} + // The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. func (o GlobalClusterOutput) SourceDbClusterIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v *GlobalCluster) pulumi.StringPtrOutput { return v.SourceDbClusterIdentifier }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 2dcd8f4057..8a4355ecb9 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -2198,6 +2198,143 @@ type EventSubscriptionTag struct { Value *string `pulumi:"value"` } +type GlobalClusterGlobalEndpoint struct { + // The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + Address *string `pulumi:"address"` +} + +// GlobalClusterGlobalEndpointInput is an input type that accepts GlobalClusterGlobalEndpointArgs and GlobalClusterGlobalEndpointOutput values. +// You can construct a concrete instance of `GlobalClusterGlobalEndpointInput` via: +// +// GlobalClusterGlobalEndpointArgs{...} +type GlobalClusterGlobalEndpointInput interface { + pulumi.Input + + ToGlobalClusterGlobalEndpointOutput() GlobalClusterGlobalEndpointOutput + ToGlobalClusterGlobalEndpointOutputWithContext(context.Context) GlobalClusterGlobalEndpointOutput +} + +type GlobalClusterGlobalEndpointArgs struct { + // The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + Address pulumi.StringPtrInput `pulumi:"address"` +} + +func (GlobalClusterGlobalEndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GlobalClusterGlobalEndpoint)(nil)).Elem() +} + +func (i GlobalClusterGlobalEndpointArgs) ToGlobalClusterGlobalEndpointOutput() GlobalClusterGlobalEndpointOutput { + return i.ToGlobalClusterGlobalEndpointOutputWithContext(context.Background()) +} + +func (i GlobalClusterGlobalEndpointArgs) ToGlobalClusterGlobalEndpointOutputWithContext(ctx context.Context) GlobalClusterGlobalEndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(GlobalClusterGlobalEndpointOutput) +} + +func (i GlobalClusterGlobalEndpointArgs) ToGlobalClusterGlobalEndpointPtrOutput() GlobalClusterGlobalEndpointPtrOutput { + return i.ToGlobalClusterGlobalEndpointPtrOutputWithContext(context.Background()) +} + +func (i GlobalClusterGlobalEndpointArgs) ToGlobalClusterGlobalEndpointPtrOutputWithContext(ctx context.Context) GlobalClusterGlobalEndpointPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GlobalClusterGlobalEndpointOutput).ToGlobalClusterGlobalEndpointPtrOutputWithContext(ctx) +} + +// GlobalClusterGlobalEndpointPtrInput is an input type that accepts GlobalClusterGlobalEndpointArgs, GlobalClusterGlobalEndpointPtr and GlobalClusterGlobalEndpointPtrOutput values. +// You can construct a concrete instance of `GlobalClusterGlobalEndpointPtrInput` via: +// +// GlobalClusterGlobalEndpointArgs{...} +// +// or: +// +// nil +type GlobalClusterGlobalEndpointPtrInput interface { + pulumi.Input + + ToGlobalClusterGlobalEndpointPtrOutput() GlobalClusterGlobalEndpointPtrOutput + ToGlobalClusterGlobalEndpointPtrOutputWithContext(context.Context) GlobalClusterGlobalEndpointPtrOutput +} + +type globalClusterGlobalEndpointPtrType GlobalClusterGlobalEndpointArgs + +func GlobalClusterGlobalEndpointPtr(v *GlobalClusterGlobalEndpointArgs) GlobalClusterGlobalEndpointPtrInput { + return (*globalClusterGlobalEndpointPtrType)(v) +} + +func (*globalClusterGlobalEndpointPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GlobalClusterGlobalEndpoint)(nil)).Elem() +} + +func (i *globalClusterGlobalEndpointPtrType) ToGlobalClusterGlobalEndpointPtrOutput() GlobalClusterGlobalEndpointPtrOutput { + return i.ToGlobalClusterGlobalEndpointPtrOutputWithContext(context.Background()) +} + +func (i *globalClusterGlobalEndpointPtrType) ToGlobalClusterGlobalEndpointPtrOutputWithContext(ctx context.Context) GlobalClusterGlobalEndpointPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GlobalClusterGlobalEndpointPtrOutput) +} + +type GlobalClusterGlobalEndpointOutput struct{ *pulumi.OutputState } + +func (GlobalClusterGlobalEndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GlobalClusterGlobalEndpoint)(nil)).Elem() +} + +func (o GlobalClusterGlobalEndpointOutput) ToGlobalClusterGlobalEndpointOutput() GlobalClusterGlobalEndpointOutput { + return o +} + +func (o GlobalClusterGlobalEndpointOutput) ToGlobalClusterGlobalEndpointOutputWithContext(ctx context.Context) GlobalClusterGlobalEndpointOutput { + return o +} + +func (o GlobalClusterGlobalEndpointOutput) ToGlobalClusterGlobalEndpointPtrOutput() GlobalClusterGlobalEndpointPtrOutput { + return o.ToGlobalClusterGlobalEndpointPtrOutputWithContext(context.Background()) +} + +func (o GlobalClusterGlobalEndpointOutput) ToGlobalClusterGlobalEndpointPtrOutputWithContext(ctx context.Context) GlobalClusterGlobalEndpointPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GlobalClusterGlobalEndpoint) *GlobalClusterGlobalEndpoint { + return &v + }).(GlobalClusterGlobalEndpointPtrOutput) +} + +// The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. +func (o GlobalClusterGlobalEndpointOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v GlobalClusterGlobalEndpoint) *string { return v.Address }).(pulumi.StringPtrOutput) +} + +type GlobalClusterGlobalEndpointPtrOutput struct{ *pulumi.OutputState } + +func (GlobalClusterGlobalEndpointPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GlobalClusterGlobalEndpoint)(nil)).Elem() +} + +func (o GlobalClusterGlobalEndpointPtrOutput) ToGlobalClusterGlobalEndpointPtrOutput() GlobalClusterGlobalEndpointPtrOutput { + return o +} + +func (o GlobalClusterGlobalEndpointPtrOutput) ToGlobalClusterGlobalEndpointPtrOutputWithContext(ctx context.Context) GlobalClusterGlobalEndpointPtrOutput { + return o +} + +func (o GlobalClusterGlobalEndpointPtrOutput) Elem() GlobalClusterGlobalEndpointOutput { + return o.ApplyT(func(v *GlobalClusterGlobalEndpoint) GlobalClusterGlobalEndpoint { + if v != nil { + return *v + } + var ret GlobalClusterGlobalEndpoint + return ret + }).(GlobalClusterGlobalEndpointOutput) +} + +// The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. +func (o GlobalClusterGlobalEndpointPtrOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GlobalClusterGlobalEndpoint) *string { + if v == nil { + return nil + } + return v.Address + }).(pulumi.StringPtrOutput) +} + // A key-value pair to associate with a resource. type GlobalClusterTag 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 -. @@ -2505,6 +2642,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DbProxyAuthFormatArrayInput)(nil)).Elem(), DbProxyAuthFormatArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DbProxyTargetGroupConnectionPoolConfigurationInfoFormatInput)(nil)).Elem(), DbProxyTargetGroupConnectionPoolConfigurationInfoFormatArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DbProxyTargetGroupConnectionPoolConfigurationInfoFormatPtrInput)(nil)).Elem(), DbProxyTargetGroupConnectionPoolConfigurationInfoFormatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GlobalClusterGlobalEndpointInput)(nil)).Elem(), GlobalClusterGlobalEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GlobalClusterGlobalEndpointPtrInput)(nil)).Elem(), GlobalClusterGlobalEndpointArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OptionGroupOptionConfigurationInput)(nil)).Elem(), OptionGroupOptionConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OptionGroupOptionConfigurationArrayInput)(nil)).Elem(), OptionGroupOptionConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*OptionGroupOptionSettingInput)(nil)).Elem(), OptionGroupOptionSettingArgs{}) @@ -2535,6 +2674,8 @@ func init() { pulumi.RegisterOutputType(DbProxyAuthFormatArrayOutput{}) pulumi.RegisterOutputType(DbProxyTargetGroupConnectionPoolConfigurationInfoFormatOutput{}) pulumi.RegisterOutputType(DbProxyTargetGroupConnectionPoolConfigurationInfoFormatPtrOutput{}) + pulumi.RegisterOutputType(GlobalClusterGlobalEndpointOutput{}) + pulumi.RegisterOutputType(GlobalClusterGlobalEndpointPtrOutput{}) pulumi.RegisterOutputType(OptionGroupOptionConfigurationOutput{}) pulumi.RegisterOutputType(OptionGroupOptionConfigurationArrayOutput{}) pulumi.RegisterOutputType(OptionGroupOptionSettingOutput{}) diff --git a/sdk/go/aws/route53recoverycontrol/getSafetyRule.go b/sdk/go/aws/route53recoverycontrol/getSafetyRule.go index 6b3501097c..e2adab3591 100644 --- a/sdk/go/aws/route53recoverycontrol/getSafetyRule.go +++ b/sdk/go/aws/route53recoverycontrol/getSafetyRule.go @@ -7,6 +7,7 @@ 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" ) @@ -44,6 +45,8 @@ type LookupSafetyRuleResult struct { SafetyRuleArn *string `pulumi:"safetyRuleArn"` // The deployment status of the routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION. Status *SafetyRuleStatus `pulumi:"status"` + // A collection of tags associated with a resource + Tags []aws.Tag `pulumi:"tags"` } func LookupSafetyRuleOutput(ctx *pulumi.Context, args LookupSafetyRuleOutputArgs, opts ...pulumi.InvokeOption) LookupSafetyRuleResultOutput { @@ -125,6 +128,11 @@ func (o LookupSafetyRuleResultOutput) Status() SafetyRuleStatusPtrOutput { return o.ApplyT(func(v LookupSafetyRuleResult) *SafetyRuleStatus { return v.Status }).(SafetyRuleStatusPtrOutput) } +// A collection of tags associated with a resource +func (o LookupSafetyRuleResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupSafetyRuleResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + func init() { pulumi.RegisterOutputType(LookupSafetyRuleResultOutput{}) } diff --git a/sdk/go/aws/route53resolver/pulumiEnums.go b/sdk/go/aws/route53resolver/pulumiEnums.go index f2925cbbb7..90a6c0a300 100644 --- a/sdk/go/aws/route53resolver/pulumiEnums.go +++ b/sdk/go/aws/route53resolver/pulumiEnums.go @@ -864,6 +864,340 @@ func (in *firewallRuleGroupFirewallRuleBlockResponsePtr) ToFirewallRuleGroupFire return pulumi.ToOutputWithContext(ctx, in).(FirewallRuleGroupFirewallRuleBlockResponsePtrOutput) } +// FirewallDomainRedirectionAction +type FirewallRuleGroupFirewallRuleConfidenceThreshold string + +const ( + FirewallRuleGroupFirewallRuleConfidenceThresholdLow = FirewallRuleGroupFirewallRuleConfidenceThreshold("LOW") + FirewallRuleGroupFirewallRuleConfidenceThresholdMedium = FirewallRuleGroupFirewallRuleConfidenceThreshold("MEDIUM") + FirewallRuleGroupFirewallRuleConfidenceThresholdHigh = FirewallRuleGroupFirewallRuleConfidenceThreshold("HIGH") +) + +func (FirewallRuleGroupFirewallRuleConfidenceThreshold) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallRuleGroupFirewallRuleConfidenceThreshold)(nil)).Elem() +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdOutput { + return pulumi.ToOutput(e).(FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdOutput { + return pulumi.ToOutputWithContext(ctx, e).(FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return e.ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(context.Background()) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return FirewallRuleGroupFirewallRuleConfidenceThreshold(e).ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutputWithContext(ctx).ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(ctx) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e FirewallRuleGroupFirewallRuleConfidenceThreshold) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type FirewallRuleGroupFirewallRuleConfidenceThresholdOutput struct{ *pulumi.OutputState } + +func (FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallRuleGroupFirewallRuleConfidenceThreshold)(nil)).Elem() +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return o.ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirewallRuleGroupFirewallRuleConfidenceThreshold) *FirewallRuleGroupFirewallRuleConfidenceThreshold { + return &v + }).(FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FirewallRuleGroupFirewallRuleConfidenceThreshold) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FirewallRuleGroupFirewallRuleConfidenceThreshold) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput struct{ *pulumi.OutputState } + +func (FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirewallRuleGroupFirewallRuleConfidenceThreshold)(nil)).Elem() +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) Elem() FirewallRuleGroupFirewallRuleConfidenceThresholdOutput { + return o.ApplyT(func(v *FirewallRuleGroupFirewallRuleConfidenceThreshold) FirewallRuleGroupFirewallRuleConfidenceThreshold { + if v != nil { + return *v + } + var ret FirewallRuleGroupFirewallRuleConfidenceThreshold + return ret + }).(FirewallRuleGroupFirewallRuleConfidenceThresholdOutput) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *FirewallRuleGroupFirewallRuleConfidenceThreshold) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// FirewallRuleGroupFirewallRuleConfidenceThresholdInput is an input type that accepts values of the FirewallRuleGroupFirewallRuleConfidenceThreshold enum +// A concrete instance of `FirewallRuleGroupFirewallRuleConfidenceThresholdInput` can be one of the following: +// +// FirewallRuleGroupFirewallRuleConfidenceThresholdLow +// FirewallRuleGroupFirewallRuleConfidenceThresholdMedium +// FirewallRuleGroupFirewallRuleConfidenceThresholdHigh +type FirewallRuleGroupFirewallRuleConfidenceThresholdInput interface { + pulumi.Input + + ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdOutput + ToFirewallRuleGroupFirewallRuleConfidenceThresholdOutputWithContext(context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdOutput +} + +var firewallRuleGroupFirewallRuleConfidenceThresholdPtrType = reflect.TypeOf((**FirewallRuleGroupFirewallRuleConfidenceThreshold)(nil)).Elem() + +type FirewallRuleGroupFirewallRuleConfidenceThresholdPtrInput interface { + pulumi.Input + + ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput + ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput +} + +type firewallRuleGroupFirewallRuleConfidenceThresholdPtr string + +func FirewallRuleGroupFirewallRuleConfidenceThresholdPtr(v string) FirewallRuleGroupFirewallRuleConfidenceThresholdPtrInput { + return (*firewallRuleGroupFirewallRuleConfidenceThresholdPtr)(&v) +} + +func (*firewallRuleGroupFirewallRuleConfidenceThresholdPtr) ElementType() reflect.Type { + return firewallRuleGroupFirewallRuleConfidenceThresholdPtrType +} + +func (in *firewallRuleGroupFirewallRuleConfidenceThresholdPtr) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput() FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return pulumi.ToOutput(in).(FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) +} + +func (in *firewallRuleGroupFirewallRuleConfidenceThresholdPtr) ToFirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) +} + +// FirewallDomainRedirectionAction +type FirewallRuleGroupFirewallRuleDnsThreatProtection string + +const ( + FirewallRuleGroupFirewallRuleDnsThreatProtectionDga = FirewallRuleGroupFirewallRuleDnsThreatProtection("DGA") + FirewallRuleGroupFirewallRuleDnsThreatProtectionDnsTunneling = FirewallRuleGroupFirewallRuleDnsThreatProtection("DNS_TUNNELING") +) + +func (FirewallRuleGroupFirewallRuleDnsThreatProtection) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallRuleGroupFirewallRuleDnsThreatProtection)(nil)).Elem() +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput { + return pulumi.ToOutput(e).(FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput { + return pulumi.ToOutputWithContext(ctx, e).(FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return e.ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(context.Background()) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return FirewallRuleGroupFirewallRuleDnsThreatProtection(e).ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutputWithContext(ctx).ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(ctx) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e FirewallRuleGroupFirewallRuleDnsThreatProtection) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput struct{ *pulumi.OutputState } + +func (FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirewallRuleGroupFirewallRuleDnsThreatProtection)(nil)).Elem() +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return o.ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirewallRuleGroupFirewallRuleDnsThreatProtection) *FirewallRuleGroupFirewallRuleDnsThreatProtection { + return &v + }).(FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FirewallRuleGroupFirewallRuleDnsThreatProtection) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FirewallRuleGroupFirewallRuleDnsThreatProtection) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput struct{ *pulumi.OutputState } + +func (FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirewallRuleGroupFirewallRuleDnsThreatProtection)(nil)).Elem() +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return o +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) Elem() FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput { + return o.ApplyT(func(v *FirewallRuleGroupFirewallRuleDnsThreatProtection) FirewallRuleGroupFirewallRuleDnsThreatProtection { + if v != nil { + return *v + } + var ret FirewallRuleGroupFirewallRuleDnsThreatProtection + return ret + }).(FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *FirewallRuleGroupFirewallRuleDnsThreatProtection) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// FirewallRuleGroupFirewallRuleDnsThreatProtectionInput is an input type that accepts values of the FirewallRuleGroupFirewallRuleDnsThreatProtection enum +// A concrete instance of `FirewallRuleGroupFirewallRuleDnsThreatProtectionInput` can be one of the following: +// +// FirewallRuleGroupFirewallRuleDnsThreatProtectionDga +// FirewallRuleGroupFirewallRuleDnsThreatProtectionDnsTunneling +type FirewallRuleGroupFirewallRuleDnsThreatProtectionInput interface { + pulumi.Input + + ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput + ToFirewallRuleGroupFirewallRuleDnsThreatProtectionOutputWithContext(context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput +} + +var firewallRuleGroupFirewallRuleDnsThreatProtectionPtrType = reflect.TypeOf((**FirewallRuleGroupFirewallRuleDnsThreatProtection)(nil)).Elem() + +type FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrInput interface { + pulumi.Input + + ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput + ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput +} + +type firewallRuleGroupFirewallRuleDnsThreatProtectionPtr string + +func FirewallRuleGroupFirewallRuleDnsThreatProtectionPtr(v string) FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrInput { + return (*firewallRuleGroupFirewallRuleDnsThreatProtectionPtr)(&v) +} + +func (*firewallRuleGroupFirewallRuleDnsThreatProtectionPtr) ElementType() reflect.Type { + return firewallRuleGroupFirewallRuleDnsThreatProtectionPtrType +} + +func (in *firewallRuleGroupFirewallRuleDnsThreatProtectionPtr) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput() FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return pulumi.ToOutput(in).(FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) +} + +func (in *firewallRuleGroupFirewallRuleDnsThreatProtectionPtr) ToFirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutputWithContext(ctx context.Context) FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) +} + // FirewallDomainRedirectionAction type FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction string @@ -2378,6 +2712,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleBlockOverrideDnsTypePtrInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleBlockOverrideDnsType("CNAME")) pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleBlockResponseInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleBlockResponse("NODATA")) pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleBlockResponsePtrInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleBlockResponse("NODATA")) + pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleConfidenceThresholdInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleConfidenceThreshold("LOW")) + pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleConfidenceThresholdPtrInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleConfidenceThreshold("LOW")) + pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleDnsThreatProtectionInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleDnsThreatProtection("DGA")) + pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleDnsThreatProtection("DGA")) pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleFirewallDomainRedirectionActionInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction("INSPECT_REDIRECTION_DOMAIN")) pulumi.RegisterInputType(reflect.TypeOf((*FirewallRuleGroupFirewallRuleFirewallDomainRedirectionActionPtrInput)(nil)).Elem(), FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction("INSPECT_REDIRECTION_DOMAIN")) pulumi.RegisterInputType(reflect.TypeOf((*ResolverConfigAutodefinedReverseFlagInput)(nil)).Elem(), ResolverConfigAutodefinedReverseFlag("DISABLE")) @@ -2398,6 +2736,10 @@ func init() { pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleBlockOverrideDnsTypePtrOutput{}) pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleBlockResponseOutput{}) pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleBlockResponsePtrOutput{}) + pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleConfidenceThresholdOutput{}) + pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput{}) + pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleDnsThreatProtectionOutput{}) + pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput{}) pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleFirewallDomainRedirectionActionOutput{}) pulumi.RegisterOutputType(FirewallRuleGroupFirewallRuleFirewallDomainRedirectionActionPtrOutput{}) pulumi.RegisterOutputType(FirewallRuleGroupShareStatusOutput{}) diff --git a/sdk/go/aws/route53resolver/pulumiTypes.go b/sdk/go/aws/route53resolver/pulumiTypes.go index d310c217b8..1953295c8c 100644 --- a/sdk/go/aws/route53resolver/pulumiTypes.go +++ b/sdk/go/aws/route53resolver/pulumiTypes.go @@ -41,10 +41,16 @@ type FirewallRuleGroupFirewallRule struct { BlockOverrideTtl *int `pulumi:"blockOverrideTtl"` // BlockResponse BlockResponse *FirewallRuleGroupFirewallRuleBlockResponse `pulumi:"blockResponse"` + // FirewallDomainRedirectionAction + ConfidenceThreshold *FirewallRuleGroupFirewallRuleConfidenceThreshold `pulumi:"confidenceThreshold"` + // FirewallDomainRedirectionAction + DnsThreatProtection *FirewallRuleGroupFirewallRuleDnsThreatProtection `pulumi:"dnsThreatProtection"` // ResourceId - FirewallDomainListId string `pulumi:"firewallDomainListId"` + FirewallDomainListId *string `pulumi:"firewallDomainListId"` // FirewallDomainRedirectionAction FirewallDomainRedirectionAction *FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction `pulumi:"firewallDomainRedirectionAction"` + // ResourceId + FirewallThreatProtectionId *string `pulumi:"firewallThreatProtectionId"` // Rule Priority Priority int `pulumi:"priority"` // Qtype @@ -74,10 +80,16 @@ type FirewallRuleGroupFirewallRuleArgs struct { BlockOverrideTtl pulumi.IntPtrInput `pulumi:"blockOverrideTtl"` // BlockResponse BlockResponse FirewallRuleGroupFirewallRuleBlockResponsePtrInput `pulumi:"blockResponse"` + // FirewallDomainRedirectionAction + ConfidenceThreshold FirewallRuleGroupFirewallRuleConfidenceThresholdPtrInput `pulumi:"confidenceThreshold"` + // FirewallDomainRedirectionAction + DnsThreatProtection FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrInput `pulumi:"dnsThreatProtection"` // ResourceId - FirewallDomainListId pulumi.StringInput `pulumi:"firewallDomainListId"` + FirewallDomainListId pulumi.StringPtrInput `pulumi:"firewallDomainListId"` // FirewallDomainRedirectionAction FirewallDomainRedirectionAction FirewallRuleGroupFirewallRuleFirewallDomainRedirectionActionPtrInput `pulumi:"firewallDomainRedirectionAction"` + // ResourceId + FirewallThreatProtectionId pulumi.StringPtrInput `pulumi:"firewallThreatProtectionId"` // Rule Priority Priority pulumi.IntInput `pulumi:"priority"` // Qtype @@ -165,9 +177,23 @@ func (o FirewallRuleGroupFirewallRuleOutput) BlockResponse() FirewallRuleGroupFi }).(FirewallRuleGroupFirewallRuleBlockResponsePtrOutput) } +// FirewallDomainRedirectionAction +func (o FirewallRuleGroupFirewallRuleOutput) ConfidenceThreshold() FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput { + return o.ApplyT(func(v FirewallRuleGroupFirewallRule) *FirewallRuleGroupFirewallRuleConfidenceThreshold { + return v.ConfidenceThreshold + }).(FirewallRuleGroupFirewallRuleConfidenceThresholdPtrOutput) +} + +// FirewallDomainRedirectionAction +func (o FirewallRuleGroupFirewallRuleOutput) DnsThreatProtection() FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput { + return o.ApplyT(func(v FirewallRuleGroupFirewallRule) *FirewallRuleGroupFirewallRuleDnsThreatProtection { + return v.DnsThreatProtection + }).(FirewallRuleGroupFirewallRuleDnsThreatProtectionPtrOutput) +} + // ResourceId -func (o FirewallRuleGroupFirewallRuleOutput) FirewallDomainListId() pulumi.StringOutput { - return o.ApplyT(func(v FirewallRuleGroupFirewallRule) string { return v.FirewallDomainListId }).(pulumi.StringOutput) +func (o FirewallRuleGroupFirewallRuleOutput) FirewallDomainListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirewallRuleGroupFirewallRule) *string { return v.FirewallDomainListId }).(pulumi.StringPtrOutput) } // FirewallDomainRedirectionAction @@ -177,6 +203,11 @@ func (o FirewallRuleGroupFirewallRuleOutput) FirewallDomainRedirectionAction() F }).(FirewallRuleGroupFirewallRuleFirewallDomainRedirectionActionPtrOutput) } +// ResourceId +func (o FirewallRuleGroupFirewallRuleOutput) FirewallThreatProtectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirewallRuleGroupFirewallRule) *string { return v.FirewallThreatProtectionId }).(pulumi.StringPtrOutput) +} + // Rule Priority func (o FirewallRuleGroupFirewallRuleOutput) Priority() pulumi.IntOutput { return o.ApplyT(func(v FirewallRuleGroupFirewallRule) int { return v.Priority }).(pulumi.IntOutput) diff --git a/sdk/go/aws/s3express/directoryBucket.go b/sdk/go/aws/s3express/directoryBucket.go index a19b3edc97..943bdeff26 100644 --- a/sdk/go/aws/s3express/directoryBucket.go +++ b/sdk/go/aws/s3express/directoryBucket.go @@ -26,6 +26,8 @@ type DirectoryBucket struct { BucketName pulumi.StringPtrOutput `pulumi:"bucketName"` // Specifies the number of Availability Zone that's used for redundancy for the bucket. DataRedundancy DirectoryBucketDataRedundancyOutput `pulumi:"dataRedundancy"` + // Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + LifecycleConfiguration DirectoryBucketLifecycleConfigurationPtrOutput `pulumi:"lifecycleConfiguration"` // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. LocationName pulumi.StringOutput `pulumi:"locationName"` } @@ -88,6 +90,8 @@ type directoryBucketArgs struct { BucketName *string `pulumi:"bucketName"` // Specifies the number of Availability Zone that's used for redundancy for the bucket. DataRedundancy DirectoryBucketDataRedundancy `pulumi:"dataRedundancy"` + // Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + LifecycleConfiguration *DirectoryBucketLifecycleConfiguration `pulumi:"lifecycleConfiguration"` // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. LocationName string `pulumi:"locationName"` } @@ -100,6 +104,8 @@ type DirectoryBucketArgs struct { BucketName pulumi.StringPtrInput // Specifies the number of Availability Zone that's used for redundancy for the bucket. DataRedundancy DirectoryBucketDataRedundancyInput + // Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + LifecycleConfiguration DirectoryBucketLifecycleConfigurationPtrInput // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. LocationName pulumi.StringInput } @@ -166,6 +172,13 @@ func (o DirectoryBucketOutput) DataRedundancy() DirectoryBucketDataRedundancyOut return o.ApplyT(func(v *DirectoryBucket) DirectoryBucketDataRedundancyOutput { return v.DataRedundancy }).(DirectoryBucketDataRedundancyOutput) } +// Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. +func (o DirectoryBucketOutput) LifecycleConfiguration() DirectoryBucketLifecycleConfigurationPtrOutput { + return o.ApplyT(func(v *DirectoryBucket) DirectoryBucketLifecycleConfigurationPtrOutput { + return v.LifecycleConfiguration + }).(DirectoryBucketLifecycleConfigurationPtrOutput) +} + // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. func (o DirectoryBucketOutput) LocationName() pulumi.StringOutput { return o.ApplyT(func(v *DirectoryBucket) pulumi.StringOutput { return v.LocationName }).(pulumi.StringOutput) diff --git a/sdk/go/aws/s3express/getDirectoryBucket.go b/sdk/go/aws/s3express/getDirectoryBucket.go index 73971e8461..d44971ab63 100644 --- a/sdk/go/aws/s3express/getDirectoryBucket.go +++ b/sdk/go/aws/s3express/getDirectoryBucket.go @@ -34,6 +34,8 @@ type LookupDirectoryBucketResult struct { AvailabilityZoneName *string `pulumi:"availabilityZoneName"` // Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* . BucketEncryption *DirectoryBucketBucketEncryption `pulumi:"bucketEncryption"` + // Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + LifecycleConfiguration *DirectoryBucketLifecycleConfiguration `pulumi:"lifecycleConfiguration"` } func LookupDirectoryBucketOutput(ctx *pulumi.Context, args LookupDirectoryBucketOutputArgs, opts ...pulumi.InvokeOption) LookupDirectoryBucketResultOutput { @@ -93,6 +95,13 @@ func (o LookupDirectoryBucketResultOutput) BucketEncryption() DirectoryBucketBuc return o.ApplyT(func(v LookupDirectoryBucketResult) *DirectoryBucketBucketEncryption { return v.BucketEncryption }).(DirectoryBucketBucketEncryptionPtrOutput) } +// Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. +func (o LookupDirectoryBucketResultOutput) LifecycleConfiguration() DirectoryBucketLifecycleConfigurationPtrOutput { + return o.ApplyT(func(v LookupDirectoryBucketResult) *DirectoryBucketLifecycleConfiguration { + return v.LifecycleConfiguration + }).(DirectoryBucketLifecycleConfigurationPtrOutput) +} + func init() { pulumi.RegisterOutputType(LookupDirectoryBucketResultOutput{}) } diff --git a/sdk/go/aws/s3express/pulumiEnums.go b/sdk/go/aws/s3express/pulumiEnums.go index c617454cdf..e02cce9b01 100644 --- a/sdk/go/aws/s3express/pulumiEnums.go +++ b/sdk/go/aws/s3express/pulumiEnums.go @@ -174,6 +174,171 @@ func (in *directoryBucketDataRedundancyPtr) ToDirectoryBucketDataRedundancyPtrOu return pulumi.ToOutputWithContext(ctx, in).(DirectoryBucketDataRedundancyPtrOutput) } +type DirectoryBucketRuleStatus string + +const ( + DirectoryBucketRuleStatusEnabled = DirectoryBucketRuleStatus("Enabled") + DirectoryBucketRuleStatusDisabled = DirectoryBucketRuleStatus("Disabled") +) + +func (DirectoryBucketRuleStatus) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketRuleStatus)(nil)).Elem() +} + +func (e DirectoryBucketRuleStatus) ToDirectoryBucketRuleStatusOutput() DirectoryBucketRuleStatusOutput { + return pulumi.ToOutput(e).(DirectoryBucketRuleStatusOutput) +} + +func (e DirectoryBucketRuleStatus) ToDirectoryBucketRuleStatusOutputWithContext(ctx context.Context) DirectoryBucketRuleStatusOutput { + return pulumi.ToOutputWithContext(ctx, e).(DirectoryBucketRuleStatusOutput) +} + +func (e DirectoryBucketRuleStatus) ToDirectoryBucketRuleStatusPtrOutput() DirectoryBucketRuleStatusPtrOutput { + return e.ToDirectoryBucketRuleStatusPtrOutputWithContext(context.Background()) +} + +func (e DirectoryBucketRuleStatus) ToDirectoryBucketRuleStatusPtrOutputWithContext(ctx context.Context) DirectoryBucketRuleStatusPtrOutput { + return DirectoryBucketRuleStatus(e).ToDirectoryBucketRuleStatusOutputWithContext(ctx).ToDirectoryBucketRuleStatusPtrOutputWithContext(ctx) +} + +func (e DirectoryBucketRuleStatus) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DirectoryBucketRuleStatus) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DirectoryBucketRuleStatus) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DirectoryBucketRuleStatus) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DirectoryBucketRuleStatusOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketRuleStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketRuleStatus)(nil)).Elem() +} + +func (o DirectoryBucketRuleStatusOutput) ToDirectoryBucketRuleStatusOutput() DirectoryBucketRuleStatusOutput { + return o +} + +func (o DirectoryBucketRuleStatusOutput) ToDirectoryBucketRuleStatusOutputWithContext(ctx context.Context) DirectoryBucketRuleStatusOutput { + return o +} + +func (o DirectoryBucketRuleStatusOutput) ToDirectoryBucketRuleStatusPtrOutput() DirectoryBucketRuleStatusPtrOutput { + return o.ToDirectoryBucketRuleStatusPtrOutputWithContext(context.Background()) +} + +func (o DirectoryBucketRuleStatusOutput) ToDirectoryBucketRuleStatusPtrOutputWithContext(ctx context.Context) DirectoryBucketRuleStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectoryBucketRuleStatus) *DirectoryBucketRuleStatus { + return &v + }).(DirectoryBucketRuleStatusPtrOutput) +} + +func (o DirectoryBucketRuleStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DirectoryBucketRuleStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DirectoryBucketRuleStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DirectoryBucketRuleStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DirectoryBucketRuleStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DirectoryBucketRuleStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DirectoryBucketRuleStatusPtrOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketRuleStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectoryBucketRuleStatus)(nil)).Elem() +} + +func (o DirectoryBucketRuleStatusPtrOutput) ToDirectoryBucketRuleStatusPtrOutput() DirectoryBucketRuleStatusPtrOutput { + return o +} + +func (o DirectoryBucketRuleStatusPtrOutput) ToDirectoryBucketRuleStatusPtrOutputWithContext(ctx context.Context) DirectoryBucketRuleStatusPtrOutput { + return o +} + +func (o DirectoryBucketRuleStatusPtrOutput) Elem() DirectoryBucketRuleStatusOutput { + return o.ApplyT(func(v *DirectoryBucketRuleStatus) DirectoryBucketRuleStatus { + if v != nil { + return *v + } + var ret DirectoryBucketRuleStatus + return ret + }).(DirectoryBucketRuleStatusOutput) +} + +func (o DirectoryBucketRuleStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DirectoryBucketRuleStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DirectoryBucketRuleStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DirectoryBucketRuleStatusInput is an input type that accepts values of the DirectoryBucketRuleStatus enum +// A concrete instance of `DirectoryBucketRuleStatusInput` can be one of the following: +// +// DirectoryBucketRuleStatusEnabled +// DirectoryBucketRuleStatusDisabled +type DirectoryBucketRuleStatusInput interface { + pulumi.Input + + ToDirectoryBucketRuleStatusOutput() DirectoryBucketRuleStatusOutput + ToDirectoryBucketRuleStatusOutputWithContext(context.Context) DirectoryBucketRuleStatusOutput +} + +var directoryBucketRuleStatusPtrType = reflect.TypeOf((**DirectoryBucketRuleStatus)(nil)).Elem() + +type DirectoryBucketRuleStatusPtrInput interface { + pulumi.Input + + ToDirectoryBucketRuleStatusPtrOutput() DirectoryBucketRuleStatusPtrOutput + ToDirectoryBucketRuleStatusPtrOutputWithContext(context.Context) DirectoryBucketRuleStatusPtrOutput +} + +type directoryBucketRuleStatusPtr string + +func DirectoryBucketRuleStatusPtr(v string) DirectoryBucketRuleStatusPtrInput { + return (*directoryBucketRuleStatusPtr)(&v) +} + +func (*directoryBucketRuleStatusPtr) ElementType() reflect.Type { + return directoryBucketRuleStatusPtrType +} + +func (in *directoryBucketRuleStatusPtr) ToDirectoryBucketRuleStatusPtrOutput() DirectoryBucketRuleStatusPtrOutput { + return pulumi.ToOutput(in).(DirectoryBucketRuleStatusPtrOutput) +} + +func (in *directoryBucketRuleStatusPtr) ToDirectoryBucketRuleStatusPtrOutputWithContext(ctx context.Context) DirectoryBucketRuleStatusPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DirectoryBucketRuleStatusPtrOutput) +} + // Server-side encryption algorithm to use for the default encryption. // // > For directory buckets, there are only two supported values for server-side encryption: `AES256` and `aws:kms` . @@ -345,10 +510,14 @@ func (in *directoryBucketServerSideEncryptionByDefaultSseAlgorithmPtr) ToDirecto func init() { pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketDataRedundancyInput)(nil)).Elem(), DirectoryBucketDataRedundancy("SingleAvailabilityZone")) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketDataRedundancyPtrInput)(nil)).Elem(), DirectoryBucketDataRedundancy("SingleAvailabilityZone")) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketRuleStatusInput)(nil)).Elem(), DirectoryBucketRuleStatus("Enabled")) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketRuleStatusPtrInput)(nil)).Elem(), DirectoryBucketRuleStatus("Enabled")) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketServerSideEncryptionByDefaultSseAlgorithmInput)(nil)).Elem(), DirectoryBucketServerSideEncryptionByDefaultSseAlgorithm("aws:kms")) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketServerSideEncryptionByDefaultSseAlgorithmPtrInput)(nil)).Elem(), DirectoryBucketServerSideEncryptionByDefaultSseAlgorithm("aws:kms")) pulumi.RegisterOutputType(DirectoryBucketDataRedundancyOutput{}) pulumi.RegisterOutputType(DirectoryBucketDataRedundancyPtrOutput{}) + pulumi.RegisterOutputType(DirectoryBucketRuleStatusOutput{}) + pulumi.RegisterOutputType(DirectoryBucketRuleStatusPtrOutput{}) pulumi.RegisterOutputType(DirectoryBucketServerSideEncryptionByDefaultSseAlgorithmOutput{}) pulumi.RegisterOutputType(DirectoryBucketServerSideEncryptionByDefaultSseAlgorithmPtrOutput{}) } diff --git a/sdk/go/aws/s3express/pulumiTypes.go b/sdk/go/aws/s3express/pulumiTypes.go index b350b316b4..0878ba2488 100644 --- a/sdk/go/aws/s3express/pulumiTypes.go +++ b/sdk/go/aws/s3express/pulumiTypes.go @@ -13,6 +13,146 @@ import ( var _ = internal.GetEnvOrDefault +// Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. +type DirectoryBucketAbortIncompleteMultipartUpload struct { + // Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + DaysAfterInitiation int `pulumi:"daysAfterInitiation"` +} + +// DirectoryBucketAbortIncompleteMultipartUploadInput is an input type that accepts DirectoryBucketAbortIncompleteMultipartUploadArgs and DirectoryBucketAbortIncompleteMultipartUploadOutput values. +// You can construct a concrete instance of `DirectoryBucketAbortIncompleteMultipartUploadInput` via: +// +// DirectoryBucketAbortIncompleteMultipartUploadArgs{...} +type DirectoryBucketAbortIncompleteMultipartUploadInput interface { + pulumi.Input + + ToDirectoryBucketAbortIncompleteMultipartUploadOutput() DirectoryBucketAbortIncompleteMultipartUploadOutput + ToDirectoryBucketAbortIncompleteMultipartUploadOutputWithContext(context.Context) DirectoryBucketAbortIncompleteMultipartUploadOutput +} + +// Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. +type DirectoryBucketAbortIncompleteMultipartUploadArgs struct { + // Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + DaysAfterInitiation pulumi.IntInput `pulumi:"daysAfterInitiation"` +} + +func (DirectoryBucketAbortIncompleteMultipartUploadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (i DirectoryBucketAbortIncompleteMultipartUploadArgs) ToDirectoryBucketAbortIncompleteMultipartUploadOutput() DirectoryBucketAbortIncompleteMultipartUploadOutput { + return i.ToDirectoryBucketAbortIncompleteMultipartUploadOutputWithContext(context.Background()) +} + +func (i DirectoryBucketAbortIncompleteMultipartUploadArgs) ToDirectoryBucketAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) DirectoryBucketAbortIncompleteMultipartUploadOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketAbortIncompleteMultipartUploadOutput) +} + +func (i DirectoryBucketAbortIncompleteMultipartUploadArgs) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutput() DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return i.ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(context.Background()) +} + +func (i DirectoryBucketAbortIncompleteMultipartUploadArgs) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketAbortIncompleteMultipartUploadOutput).ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(ctx) +} + +// DirectoryBucketAbortIncompleteMultipartUploadPtrInput is an input type that accepts DirectoryBucketAbortIncompleteMultipartUploadArgs, DirectoryBucketAbortIncompleteMultipartUploadPtr and DirectoryBucketAbortIncompleteMultipartUploadPtrOutput values. +// You can construct a concrete instance of `DirectoryBucketAbortIncompleteMultipartUploadPtrInput` via: +// +// DirectoryBucketAbortIncompleteMultipartUploadArgs{...} +// +// or: +// +// nil +type DirectoryBucketAbortIncompleteMultipartUploadPtrInput interface { + pulumi.Input + + ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutput() DirectoryBucketAbortIncompleteMultipartUploadPtrOutput + ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(context.Context) DirectoryBucketAbortIncompleteMultipartUploadPtrOutput +} + +type directoryBucketAbortIncompleteMultipartUploadPtrType DirectoryBucketAbortIncompleteMultipartUploadArgs + +func DirectoryBucketAbortIncompleteMultipartUploadPtr(v *DirectoryBucketAbortIncompleteMultipartUploadArgs) DirectoryBucketAbortIncompleteMultipartUploadPtrInput { + return (*directoryBucketAbortIncompleteMultipartUploadPtrType)(v) +} + +func (*directoryBucketAbortIncompleteMultipartUploadPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectoryBucketAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (i *directoryBucketAbortIncompleteMultipartUploadPtrType) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutput() DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return i.ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(context.Background()) +} + +func (i *directoryBucketAbortIncompleteMultipartUploadPtrType) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) +} + +// Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. +type DirectoryBucketAbortIncompleteMultipartUploadOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketAbortIncompleteMultipartUploadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadOutput) ToDirectoryBucketAbortIncompleteMultipartUploadOutput() DirectoryBucketAbortIncompleteMultipartUploadOutput { + return o +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadOutput) ToDirectoryBucketAbortIncompleteMultipartUploadOutputWithContext(ctx context.Context) DirectoryBucketAbortIncompleteMultipartUploadOutput { + return o +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadOutput) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutput() DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return o.ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(context.Background()) +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadOutput) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectoryBucketAbortIncompleteMultipartUpload) *DirectoryBucketAbortIncompleteMultipartUpload { + return &v + }).(DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) +} + +// Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. +func (o DirectoryBucketAbortIncompleteMultipartUploadOutput) DaysAfterInitiation() pulumi.IntOutput { + return o.ApplyT(func(v DirectoryBucketAbortIncompleteMultipartUpload) int { return v.DaysAfterInitiation }).(pulumi.IntOutput) +} + +type DirectoryBucketAbortIncompleteMultipartUploadPtrOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectoryBucketAbortIncompleteMultipartUpload)(nil)).Elem() +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutput() DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return o +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) ToDirectoryBucketAbortIncompleteMultipartUploadPtrOutputWithContext(ctx context.Context) DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return o +} + +func (o DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) Elem() DirectoryBucketAbortIncompleteMultipartUploadOutput { + return o.ApplyT(func(v *DirectoryBucketAbortIncompleteMultipartUpload) DirectoryBucketAbortIncompleteMultipartUpload { + if v != nil { + return *v + } + var ret DirectoryBucketAbortIncompleteMultipartUpload + return ret + }).(DirectoryBucketAbortIncompleteMultipartUploadOutput) +} + +// Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. +func (o DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) DaysAfterInitiation() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DirectoryBucketAbortIncompleteMultipartUpload) *int { + if v == nil { + return nil + } + return &v.DaysAfterInitiation + }).(pulumi.IntPtrOutput) +} + // Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). type DirectoryBucketBucketEncryption struct { // Specifies the default server-side-encryption configuration. @@ -155,6 +295,278 @@ func (o DirectoryBucketBucketEncryptionPtrOutput) ServerSideEncryptionConfigurat }).(DirectoryBucketServerSideEncryptionRuleArrayOutput) } +type DirectoryBucketLifecycleConfiguration struct { + // A lifecycle rule for individual objects in an Amazon S3 Express bucket. + Rules []DirectoryBucketRule `pulumi:"rules"` +} + +// DirectoryBucketLifecycleConfigurationInput is an input type that accepts DirectoryBucketLifecycleConfigurationArgs and DirectoryBucketLifecycleConfigurationOutput values. +// You can construct a concrete instance of `DirectoryBucketLifecycleConfigurationInput` via: +// +// DirectoryBucketLifecycleConfigurationArgs{...} +type DirectoryBucketLifecycleConfigurationInput interface { + pulumi.Input + + ToDirectoryBucketLifecycleConfigurationOutput() DirectoryBucketLifecycleConfigurationOutput + ToDirectoryBucketLifecycleConfigurationOutputWithContext(context.Context) DirectoryBucketLifecycleConfigurationOutput +} + +type DirectoryBucketLifecycleConfigurationArgs struct { + // A lifecycle rule for individual objects in an Amazon S3 Express bucket. + Rules DirectoryBucketRuleArrayInput `pulumi:"rules"` +} + +func (DirectoryBucketLifecycleConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketLifecycleConfiguration)(nil)).Elem() +} + +func (i DirectoryBucketLifecycleConfigurationArgs) ToDirectoryBucketLifecycleConfigurationOutput() DirectoryBucketLifecycleConfigurationOutput { + return i.ToDirectoryBucketLifecycleConfigurationOutputWithContext(context.Background()) +} + +func (i DirectoryBucketLifecycleConfigurationArgs) ToDirectoryBucketLifecycleConfigurationOutputWithContext(ctx context.Context) DirectoryBucketLifecycleConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketLifecycleConfigurationOutput) +} + +func (i DirectoryBucketLifecycleConfigurationArgs) ToDirectoryBucketLifecycleConfigurationPtrOutput() DirectoryBucketLifecycleConfigurationPtrOutput { + return i.ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(context.Background()) +} + +func (i DirectoryBucketLifecycleConfigurationArgs) ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(ctx context.Context) DirectoryBucketLifecycleConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketLifecycleConfigurationOutput).ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(ctx) +} + +// DirectoryBucketLifecycleConfigurationPtrInput is an input type that accepts DirectoryBucketLifecycleConfigurationArgs, DirectoryBucketLifecycleConfigurationPtr and DirectoryBucketLifecycleConfigurationPtrOutput values. +// You can construct a concrete instance of `DirectoryBucketLifecycleConfigurationPtrInput` via: +// +// DirectoryBucketLifecycleConfigurationArgs{...} +// +// or: +// +// nil +type DirectoryBucketLifecycleConfigurationPtrInput interface { + pulumi.Input + + ToDirectoryBucketLifecycleConfigurationPtrOutput() DirectoryBucketLifecycleConfigurationPtrOutput + ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(context.Context) DirectoryBucketLifecycleConfigurationPtrOutput +} + +type directoryBucketLifecycleConfigurationPtrType DirectoryBucketLifecycleConfigurationArgs + +func DirectoryBucketLifecycleConfigurationPtr(v *DirectoryBucketLifecycleConfigurationArgs) DirectoryBucketLifecycleConfigurationPtrInput { + return (*directoryBucketLifecycleConfigurationPtrType)(v) +} + +func (*directoryBucketLifecycleConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DirectoryBucketLifecycleConfiguration)(nil)).Elem() +} + +func (i *directoryBucketLifecycleConfigurationPtrType) ToDirectoryBucketLifecycleConfigurationPtrOutput() DirectoryBucketLifecycleConfigurationPtrOutput { + return i.ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *directoryBucketLifecycleConfigurationPtrType) ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(ctx context.Context) DirectoryBucketLifecycleConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketLifecycleConfigurationPtrOutput) +} + +type DirectoryBucketLifecycleConfigurationOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketLifecycleConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketLifecycleConfiguration)(nil)).Elem() +} + +func (o DirectoryBucketLifecycleConfigurationOutput) ToDirectoryBucketLifecycleConfigurationOutput() DirectoryBucketLifecycleConfigurationOutput { + return o +} + +func (o DirectoryBucketLifecycleConfigurationOutput) ToDirectoryBucketLifecycleConfigurationOutputWithContext(ctx context.Context) DirectoryBucketLifecycleConfigurationOutput { + return o +} + +func (o DirectoryBucketLifecycleConfigurationOutput) ToDirectoryBucketLifecycleConfigurationPtrOutput() DirectoryBucketLifecycleConfigurationPtrOutput { + return o.ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(context.Background()) +} + +func (o DirectoryBucketLifecycleConfigurationOutput) ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(ctx context.Context) DirectoryBucketLifecycleConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DirectoryBucketLifecycleConfiguration) *DirectoryBucketLifecycleConfiguration { + return &v + }).(DirectoryBucketLifecycleConfigurationPtrOutput) +} + +// A lifecycle rule for individual objects in an Amazon S3 Express bucket. +func (o DirectoryBucketLifecycleConfigurationOutput) Rules() DirectoryBucketRuleArrayOutput { + return o.ApplyT(func(v DirectoryBucketLifecycleConfiguration) []DirectoryBucketRule { return v.Rules }).(DirectoryBucketRuleArrayOutput) +} + +type DirectoryBucketLifecycleConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketLifecycleConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DirectoryBucketLifecycleConfiguration)(nil)).Elem() +} + +func (o DirectoryBucketLifecycleConfigurationPtrOutput) ToDirectoryBucketLifecycleConfigurationPtrOutput() DirectoryBucketLifecycleConfigurationPtrOutput { + return o +} + +func (o DirectoryBucketLifecycleConfigurationPtrOutput) ToDirectoryBucketLifecycleConfigurationPtrOutputWithContext(ctx context.Context) DirectoryBucketLifecycleConfigurationPtrOutput { + return o +} + +func (o DirectoryBucketLifecycleConfigurationPtrOutput) Elem() DirectoryBucketLifecycleConfigurationOutput { + return o.ApplyT(func(v *DirectoryBucketLifecycleConfiguration) DirectoryBucketLifecycleConfiguration { + if v != nil { + return *v + } + var ret DirectoryBucketLifecycleConfiguration + return ret + }).(DirectoryBucketLifecycleConfigurationOutput) +} + +// A lifecycle rule for individual objects in an Amazon S3 Express bucket. +func (o DirectoryBucketLifecycleConfigurationPtrOutput) Rules() DirectoryBucketRuleArrayOutput { + return o.ApplyT(func(v *DirectoryBucketLifecycleConfiguration) []DirectoryBucketRule { + if v == nil { + return nil + } + return v.Rules + }).(DirectoryBucketRuleArrayOutput) +} + +// You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. +type DirectoryBucketRule struct { + AbortIncompleteMultipartUpload *DirectoryBucketAbortIncompleteMultipartUpload `pulumi:"abortIncompleteMultipartUpload"` + ExpirationInDays *int `pulumi:"expirationInDays"` + Id *string `pulumi:"id"` + ObjectSizeGreaterThan *string `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan *string `pulumi:"objectSizeLessThan"` + Prefix *string `pulumi:"prefix"` + Status DirectoryBucketRuleStatus `pulumi:"status"` +} + +// DirectoryBucketRuleInput is an input type that accepts DirectoryBucketRuleArgs and DirectoryBucketRuleOutput values. +// You can construct a concrete instance of `DirectoryBucketRuleInput` via: +// +// DirectoryBucketRuleArgs{...} +type DirectoryBucketRuleInput interface { + pulumi.Input + + ToDirectoryBucketRuleOutput() DirectoryBucketRuleOutput + ToDirectoryBucketRuleOutputWithContext(context.Context) DirectoryBucketRuleOutput +} + +// You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. +type DirectoryBucketRuleArgs struct { + AbortIncompleteMultipartUpload DirectoryBucketAbortIncompleteMultipartUploadPtrInput `pulumi:"abortIncompleteMultipartUpload"` + ExpirationInDays pulumi.IntPtrInput `pulumi:"expirationInDays"` + Id pulumi.StringPtrInput `pulumi:"id"` + ObjectSizeGreaterThan pulumi.StringPtrInput `pulumi:"objectSizeGreaterThan"` + ObjectSizeLessThan pulumi.StringPtrInput `pulumi:"objectSizeLessThan"` + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + Status DirectoryBucketRuleStatusInput `pulumi:"status"` +} + +func (DirectoryBucketRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketRule)(nil)).Elem() +} + +func (i DirectoryBucketRuleArgs) ToDirectoryBucketRuleOutput() DirectoryBucketRuleOutput { + return i.ToDirectoryBucketRuleOutputWithContext(context.Background()) +} + +func (i DirectoryBucketRuleArgs) ToDirectoryBucketRuleOutputWithContext(ctx context.Context) DirectoryBucketRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketRuleOutput) +} + +// DirectoryBucketRuleArrayInput is an input type that accepts DirectoryBucketRuleArray and DirectoryBucketRuleArrayOutput values. +// You can construct a concrete instance of `DirectoryBucketRuleArrayInput` via: +// +// DirectoryBucketRuleArray{ DirectoryBucketRuleArgs{...} } +type DirectoryBucketRuleArrayInput interface { + pulumi.Input + + ToDirectoryBucketRuleArrayOutput() DirectoryBucketRuleArrayOutput + ToDirectoryBucketRuleArrayOutputWithContext(context.Context) DirectoryBucketRuleArrayOutput +} + +type DirectoryBucketRuleArray []DirectoryBucketRuleInput + +func (DirectoryBucketRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectoryBucketRule)(nil)).Elem() +} + +func (i DirectoryBucketRuleArray) ToDirectoryBucketRuleArrayOutput() DirectoryBucketRuleArrayOutput { + return i.ToDirectoryBucketRuleArrayOutputWithContext(context.Background()) +} + +func (i DirectoryBucketRuleArray) ToDirectoryBucketRuleArrayOutputWithContext(ctx context.Context) DirectoryBucketRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DirectoryBucketRuleArrayOutput) +} + +// You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. +type DirectoryBucketRuleOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DirectoryBucketRule)(nil)).Elem() +} + +func (o DirectoryBucketRuleOutput) ToDirectoryBucketRuleOutput() DirectoryBucketRuleOutput { + return o +} + +func (o DirectoryBucketRuleOutput) ToDirectoryBucketRuleOutputWithContext(ctx context.Context) DirectoryBucketRuleOutput { + return o +} + +func (o DirectoryBucketRuleOutput) AbortIncompleteMultipartUpload() DirectoryBucketAbortIncompleteMultipartUploadPtrOutput { + return o.ApplyT(func(v DirectoryBucketRule) *DirectoryBucketAbortIncompleteMultipartUpload { + return v.AbortIncompleteMultipartUpload + }).(DirectoryBucketAbortIncompleteMultipartUploadPtrOutput) +} + +func (o DirectoryBucketRuleOutput) ExpirationInDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v DirectoryBucketRule) *int { return v.ExpirationInDays }).(pulumi.IntPtrOutput) +} + +func (o DirectoryBucketRuleOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v DirectoryBucketRule) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o DirectoryBucketRuleOutput) ObjectSizeGreaterThan() pulumi.StringPtrOutput { + return o.ApplyT(func(v DirectoryBucketRule) *string { return v.ObjectSizeGreaterThan }).(pulumi.StringPtrOutput) +} + +func (o DirectoryBucketRuleOutput) ObjectSizeLessThan() pulumi.StringPtrOutput { + return o.ApplyT(func(v DirectoryBucketRule) *string { return v.ObjectSizeLessThan }).(pulumi.StringPtrOutput) +} + +func (o DirectoryBucketRuleOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v DirectoryBucketRule) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func (o DirectoryBucketRuleOutput) Status() DirectoryBucketRuleStatusOutput { + return o.ApplyT(func(v DirectoryBucketRule) DirectoryBucketRuleStatus { return v.Status }).(DirectoryBucketRuleStatusOutput) +} + +type DirectoryBucketRuleArrayOutput struct{ *pulumi.OutputState } + +func (DirectoryBucketRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DirectoryBucketRule)(nil)).Elem() +} + +func (o DirectoryBucketRuleArrayOutput) ToDirectoryBucketRuleArrayOutput() DirectoryBucketRuleArrayOutput { + return o +} + +func (o DirectoryBucketRuleArrayOutput) ToDirectoryBucketRuleArrayOutputWithContext(ctx context.Context) DirectoryBucketRuleArrayOutput { + return o +} + +func (o DirectoryBucketRuleArrayOutput) Index(i pulumi.IntInput) DirectoryBucketRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DirectoryBucketRule { + return vs[0].([]DirectoryBucketRule)[vs[1].(int)] + }).(DirectoryBucketRuleOutput) +} + // Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. type DirectoryBucketServerSideEncryptionByDefault struct { // AWS Key Management Service (KMS) customer managed key ID to use for the default encryption. This parameter is allowed only if SSEAlgorithm is set to aws:kms. You can specify this parameter with the key ID or the Amazon Resource Name (ARN) of the KMS key @@ -436,14 +848,26 @@ func (o DirectoryBucketServerSideEncryptionRuleArrayOutput) Index(i pulumi.IntIn } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketAbortIncompleteMultipartUploadInput)(nil)).Elem(), DirectoryBucketAbortIncompleteMultipartUploadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketAbortIncompleteMultipartUploadPtrInput)(nil)).Elem(), DirectoryBucketAbortIncompleteMultipartUploadArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketBucketEncryptionInput)(nil)).Elem(), DirectoryBucketBucketEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketBucketEncryptionPtrInput)(nil)).Elem(), DirectoryBucketBucketEncryptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketLifecycleConfigurationInput)(nil)).Elem(), DirectoryBucketLifecycleConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketLifecycleConfigurationPtrInput)(nil)).Elem(), DirectoryBucketLifecycleConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketRuleInput)(nil)).Elem(), DirectoryBucketRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketRuleArrayInput)(nil)).Elem(), DirectoryBucketRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketServerSideEncryptionByDefaultInput)(nil)).Elem(), DirectoryBucketServerSideEncryptionByDefaultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketServerSideEncryptionByDefaultPtrInput)(nil)).Elem(), DirectoryBucketServerSideEncryptionByDefaultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketServerSideEncryptionRuleInput)(nil)).Elem(), DirectoryBucketServerSideEncryptionRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DirectoryBucketServerSideEncryptionRuleArrayInput)(nil)).Elem(), DirectoryBucketServerSideEncryptionRuleArray{}) + pulumi.RegisterOutputType(DirectoryBucketAbortIncompleteMultipartUploadOutput{}) + pulumi.RegisterOutputType(DirectoryBucketAbortIncompleteMultipartUploadPtrOutput{}) pulumi.RegisterOutputType(DirectoryBucketBucketEncryptionOutput{}) pulumi.RegisterOutputType(DirectoryBucketBucketEncryptionPtrOutput{}) + pulumi.RegisterOutputType(DirectoryBucketLifecycleConfigurationOutput{}) + pulumi.RegisterOutputType(DirectoryBucketLifecycleConfigurationPtrOutput{}) + pulumi.RegisterOutputType(DirectoryBucketRuleOutput{}) + pulumi.RegisterOutputType(DirectoryBucketRuleArrayOutput{}) pulumi.RegisterOutputType(DirectoryBucketServerSideEncryptionByDefaultOutput{}) pulumi.RegisterOutputType(DirectoryBucketServerSideEncryptionByDefaultPtrOutput{}) pulumi.RegisterOutputType(DirectoryBucketServerSideEncryptionRuleOutput{}) diff --git a/sdk/go/aws/sagemaker/pulumiEnums.go b/sdk/go/aws/sagemaker/pulumiEnums.go index 1f2440b5d7..a417ef78c4 100644 --- a/sdk/go/aws/sagemaker/pulumiEnums.go +++ b/sdk/go/aws/sagemaker/pulumiEnums.go @@ -2826,20 +2826,25 @@ func (in *domainLifecycleManagementPtr) ToDomainLifecycleManagementPtrOutputWith 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") - DomainMlToolsInferenceOptimization = DomainMlTools("InferenceOptimization") + 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") + DomainMlToolsHyperPodClusters = DomainMlTools("HyperPodClusters") + DomainMlToolsComet = DomainMlTools("Comet") + DomainMlToolsDeepchecksLlmEvaluation = DomainMlTools("DeepchecksLLMEvaluation") + DomainMlToolsFiddler = DomainMlTools("Fiddler") + DomainMlToolsLakeraGuard = DomainMlTools("LakeraGuard") ) func (DomainMlTools) ElementType() reflect.Type { @@ -2978,6 +2983,11 @@ func (o DomainMlToolsPtrOutput) ToStringPtrOutputWithContext(ctx context.Context // DomainMlToolsEndpoints // DomainMlToolsProjects // DomainMlToolsInferenceOptimization +// DomainMlToolsHyperPodClusters +// DomainMlToolsComet +// DomainMlToolsDeepchecksLlmEvaluation +// DomainMlToolsFiddler +// DomainMlToolsLakeraGuard type DomainMlToolsInput interface { pulumi.Input @@ -15549,20 +15559,25 @@ func (in *userProfileLifecycleManagementPtr) ToUserProfileLifecycleManagementPtr 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") - UserProfileMlToolsInferenceOptimization = UserProfileMlTools("InferenceOptimization") + 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") + UserProfileMlToolsHyperPodClusters = UserProfileMlTools("HyperPodClusters") + UserProfileMlToolsComet = UserProfileMlTools("Comet") + UserProfileMlToolsDeepchecksLlmEvaluation = UserProfileMlTools("DeepchecksLLMEvaluation") + UserProfileMlToolsFiddler = UserProfileMlTools("Fiddler") + UserProfileMlToolsLakeraGuard = UserProfileMlTools("LakeraGuard") ) func (UserProfileMlTools) ElementType() reflect.Type { @@ -15701,6 +15716,11 @@ func (o UserProfileMlToolsPtrOutput) ToStringPtrOutputWithContext(ctx context.Co // UserProfileMlToolsEndpoints // UserProfileMlToolsProjects // UserProfileMlToolsInferenceOptimization +// UserProfileMlToolsHyperPodClusters +// UserProfileMlToolsComet +// UserProfileMlToolsDeepchecksLlmEvaluation +// UserProfileMlToolsFiddler +// UserProfileMlToolsLakeraGuard type UserProfileMlToolsInput interface { pulumi.Input diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index 5b87976bb6..a1a1d15a30 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -1239,8 +1239,9 @@ type AppTag struct { // 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"` + CurrentCount *int `pulumi:"currentCount"` + CustomMetadata interface{} `pulumi:"customMetadata"` + 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"` @@ -1267,8 +1268,9 @@ type ClusterInstanceGroupInput interface { // 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"` + CurrentCount pulumi.IntPtrInput `pulumi:"currentCount"` + CustomMetadata pulumi.Input `pulumi:"customMetadata"` + 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"` @@ -1338,6 +1340,10 @@ func (o ClusterInstanceGroupOutput) CurrentCount() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterInstanceGroup) *int { return v.CurrentCount }).(pulumi.IntPtrOutput) } +func (o ClusterInstanceGroupOutput) CustomMetadata() pulumi.AnyOutput { + return o.ApplyT(func(v ClusterInstanceGroup) interface{} { return v.CustomMetadata }).(pulumi.AnyOutput) +} + func (o ClusterInstanceGroupOutput) ExecutionRole() pulumi.StringOutput { return o.ApplyT(func(v ClusterInstanceGroup) string { return v.ExecutionRole }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/synthetics/canary.go b/sdk/go/aws/synthetics/canary.go index 5cd611de22..62e823779d 100644 --- a/sdk/go/aws/synthetics/canary.go +++ b/sdk/go/aws/synthetics/canary.go @@ -160,6 +160,8 @@ type Canary struct { FailureRetentionPeriod pulumi.IntPtrOutput `pulumi:"failureRetentionPeriod"` // Name of the canary. Name pulumi.StringOutput `pulumi:"name"` + // Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + ProvisionedResourceCleanup CanaryProvisionedResourceCleanupPtrOutput `pulumi:"provisionedResourceCleanup"` // List of resources which canary tags should be replicated to. ResourcesToReplicateTags CanaryResourceToTagArrayOutput `pulumi:"resourcesToReplicateTags"` // Provide canary run configuration @@ -255,6 +257,8 @@ type canaryArgs struct { FailureRetentionPeriod *int `pulumi:"failureRetentionPeriod"` // Name of the canary. Name *string `pulumi:"name"` + // Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + ProvisionedResourceCleanup *CanaryProvisionedResourceCleanup `pulumi:"provisionedResourceCleanup"` // List of resources which canary tags should be replicated to. ResourcesToReplicateTags []CanaryResourceToTag `pulumi:"resourcesToReplicateTags"` // Provide canary run configuration @@ -291,6 +295,8 @@ type CanaryArgs struct { FailureRetentionPeriod pulumi.IntPtrInput // Name of the canary. Name pulumi.StringPtrInput + // Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + ProvisionedResourceCleanup CanaryProvisionedResourceCleanupPtrInput // List of resources which canary tags should be replicated to. ResourcesToReplicateTags CanaryResourceToTagArrayInput // Provide canary run configuration @@ -388,6 +394,11 @@ func (o CanaryOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Canary) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. +func (o CanaryOutput) ProvisionedResourceCleanup() CanaryProvisionedResourceCleanupPtrOutput { + return o.ApplyT(func(v *Canary) CanaryProvisionedResourceCleanupPtrOutput { return v.ProvisionedResourceCleanup }).(CanaryProvisionedResourceCleanupPtrOutput) +} + // List of resources which canary tags should be replicated to. func (o CanaryOutput) ResourcesToReplicateTags() CanaryResourceToTagArrayOutput { return o.ApplyT(func(v *Canary) CanaryResourceToTagArrayOutput { return v.ResourcesToReplicateTags }).(CanaryResourceToTagArrayOutput) diff --git a/sdk/go/aws/synthetics/getCanary.go b/sdk/go/aws/synthetics/getCanary.go index 75dd16db1c..8e9110da55 100644 --- a/sdk/go/aws/synthetics/getCanary.go +++ b/sdk/go/aws/synthetics/getCanary.go @@ -41,6 +41,8 @@ type LookupCanaryResult struct { FailureRetentionPeriod *int `pulumi:"failureRetentionPeriod"` // Id of the canary Id *string `pulumi:"id"` + // Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + ProvisionedResourceCleanup *CanaryProvisionedResourceCleanup `pulumi:"provisionedResourceCleanup"` // Provide canary run configuration RunConfig *CanaryRunConfig `pulumi:"runConfig"` // Runtime version of Synthetics Library @@ -129,6 +131,11 @@ func (o LookupCanaryResultOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupCanaryResult) *string { return v.Id }).(pulumi.StringPtrOutput) } +// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. +func (o LookupCanaryResultOutput) ProvisionedResourceCleanup() CanaryProvisionedResourceCleanupPtrOutput { + return o.ApplyT(func(v LookupCanaryResult) *CanaryProvisionedResourceCleanup { return v.ProvisionedResourceCleanup }).(CanaryProvisionedResourceCleanupPtrOutput) +} + // Provide canary run configuration func (o LookupCanaryResultOutput) RunConfig() CanaryRunConfigPtrOutput { return o.ApplyT(func(v LookupCanaryResult) *CanaryRunConfig { return v.RunConfig }).(CanaryRunConfigPtrOutput) diff --git a/sdk/go/aws/synthetics/pulumiEnums.go b/sdk/go/aws/synthetics/pulumiEnums.go index f49917d8f5..bf7f8275f6 100644 --- a/sdk/go/aws/synthetics/pulumiEnums.go +++ b/sdk/go/aws/synthetics/pulumiEnums.go @@ -10,6 +10,172 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. +type CanaryProvisionedResourceCleanup string + +const ( + CanaryProvisionedResourceCleanupAutomatic = CanaryProvisionedResourceCleanup("AUTOMATIC") + CanaryProvisionedResourceCleanupOff = CanaryProvisionedResourceCleanup("OFF") +) + +func (CanaryProvisionedResourceCleanup) ElementType() reflect.Type { + return reflect.TypeOf((*CanaryProvisionedResourceCleanup)(nil)).Elem() +} + +func (e CanaryProvisionedResourceCleanup) ToCanaryProvisionedResourceCleanupOutput() CanaryProvisionedResourceCleanupOutput { + return pulumi.ToOutput(e).(CanaryProvisionedResourceCleanupOutput) +} + +func (e CanaryProvisionedResourceCleanup) ToCanaryProvisionedResourceCleanupOutputWithContext(ctx context.Context) CanaryProvisionedResourceCleanupOutput { + return pulumi.ToOutputWithContext(ctx, e).(CanaryProvisionedResourceCleanupOutput) +} + +func (e CanaryProvisionedResourceCleanup) ToCanaryProvisionedResourceCleanupPtrOutput() CanaryProvisionedResourceCleanupPtrOutput { + return e.ToCanaryProvisionedResourceCleanupPtrOutputWithContext(context.Background()) +} + +func (e CanaryProvisionedResourceCleanup) ToCanaryProvisionedResourceCleanupPtrOutputWithContext(ctx context.Context) CanaryProvisionedResourceCleanupPtrOutput { + return CanaryProvisionedResourceCleanup(e).ToCanaryProvisionedResourceCleanupOutputWithContext(ctx).ToCanaryProvisionedResourceCleanupPtrOutputWithContext(ctx) +} + +func (e CanaryProvisionedResourceCleanup) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CanaryProvisionedResourceCleanup) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CanaryProvisionedResourceCleanup) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CanaryProvisionedResourceCleanup) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CanaryProvisionedResourceCleanupOutput struct{ *pulumi.OutputState } + +func (CanaryProvisionedResourceCleanupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CanaryProvisionedResourceCleanup)(nil)).Elem() +} + +func (o CanaryProvisionedResourceCleanupOutput) ToCanaryProvisionedResourceCleanupOutput() CanaryProvisionedResourceCleanupOutput { + return o +} + +func (o CanaryProvisionedResourceCleanupOutput) ToCanaryProvisionedResourceCleanupOutputWithContext(ctx context.Context) CanaryProvisionedResourceCleanupOutput { + return o +} + +func (o CanaryProvisionedResourceCleanupOutput) ToCanaryProvisionedResourceCleanupPtrOutput() CanaryProvisionedResourceCleanupPtrOutput { + return o.ToCanaryProvisionedResourceCleanupPtrOutputWithContext(context.Background()) +} + +func (o CanaryProvisionedResourceCleanupOutput) ToCanaryProvisionedResourceCleanupPtrOutputWithContext(ctx context.Context) CanaryProvisionedResourceCleanupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CanaryProvisionedResourceCleanup) *CanaryProvisionedResourceCleanup { + return &v + }).(CanaryProvisionedResourceCleanupPtrOutput) +} + +func (o CanaryProvisionedResourceCleanupOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CanaryProvisionedResourceCleanupOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CanaryProvisionedResourceCleanup) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CanaryProvisionedResourceCleanupOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CanaryProvisionedResourceCleanupOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CanaryProvisionedResourceCleanup) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CanaryProvisionedResourceCleanupPtrOutput struct{ *pulumi.OutputState } + +func (CanaryProvisionedResourceCleanupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CanaryProvisionedResourceCleanup)(nil)).Elem() +} + +func (o CanaryProvisionedResourceCleanupPtrOutput) ToCanaryProvisionedResourceCleanupPtrOutput() CanaryProvisionedResourceCleanupPtrOutput { + return o +} + +func (o CanaryProvisionedResourceCleanupPtrOutput) ToCanaryProvisionedResourceCleanupPtrOutputWithContext(ctx context.Context) CanaryProvisionedResourceCleanupPtrOutput { + return o +} + +func (o CanaryProvisionedResourceCleanupPtrOutput) Elem() CanaryProvisionedResourceCleanupOutput { + return o.ApplyT(func(v *CanaryProvisionedResourceCleanup) CanaryProvisionedResourceCleanup { + if v != nil { + return *v + } + var ret CanaryProvisionedResourceCleanup + return ret + }).(CanaryProvisionedResourceCleanupOutput) +} + +func (o CanaryProvisionedResourceCleanupPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CanaryProvisionedResourceCleanupPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CanaryProvisionedResourceCleanup) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CanaryProvisionedResourceCleanupInput is an input type that accepts values of the CanaryProvisionedResourceCleanup enum +// A concrete instance of `CanaryProvisionedResourceCleanupInput` can be one of the following: +// +// CanaryProvisionedResourceCleanupAutomatic +// CanaryProvisionedResourceCleanupOff +type CanaryProvisionedResourceCleanupInput interface { + pulumi.Input + + ToCanaryProvisionedResourceCleanupOutput() CanaryProvisionedResourceCleanupOutput + ToCanaryProvisionedResourceCleanupOutputWithContext(context.Context) CanaryProvisionedResourceCleanupOutput +} + +var canaryProvisionedResourceCleanupPtrType = reflect.TypeOf((**CanaryProvisionedResourceCleanup)(nil)).Elem() + +type CanaryProvisionedResourceCleanupPtrInput interface { + pulumi.Input + + ToCanaryProvisionedResourceCleanupPtrOutput() CanaryProvisionedResourceCleanupPtrOutput + ToCanaryProvisionedResourceCleanupPtrOutputWithContext(context.Context) CanaryProvisionedResourceCleanupPtrOutput +} + +type canaryProvisionedResourceCleanupPtr string + +func CanaryProvisionedResourceCleanupPtr(v string) CanaryProvisionedResourceCleanupPtrInput { + return (*canaryProvisionedResourceCleanupPtr)(&v) +} + +func (*canaryProvisionedResourceCleanupPtr) ElementType() reflect.Type { + return canaryProvisionedResourceCleanupPtrType +} + +func (in *canaryProvisionedResourceCleanupPtr) ToCanaryProvisionedResourceCleanupPtrOutput() CanaryProvisionedResourceCleanupPtrOutput { + return pulumi.ToOutput(in).(CanaryProvisionedResourceCleanupPtrOutput) +} + +func (in *canaryProvisionedResourceCleanupPtr) ToCanaryProvisionedResourceCleanupPtrOutputWithContext(ctx context.Context) CanaryProvisionedResourceCleanupPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CanaryProvisionedResourceCleanupPtrOutput) +} + // Specifies which resources canary tags should be replicated to. type CanaryResourceToTag string @@ -220,9 +386,13 @@ func (o CanaryResourceToTagArrayOutput) Index(i pulumi.IntInput) CanaryResourceT } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CanaryProvisionedResourceCleanupInput)(nil)).Elem(), CanaryProvisionedResourceCleanup("AUTOMATIC")) + pulumi.RegisterInputType(reflect.TypeOf((*CanaryProvisionedResourceCleanupPtrInput)(nil)).Elem(), CanaryProvisionedResourceCleanup("AUTOMATIC")) pulumi.RegisterInputType(reflect.TypeOf((*CanaryResourceToTagInput)(nil)).Elem(), CanaryResourceToTag("lambda-function")) pulumi.RegisterInputType(reflect.TypeOf((*CanaryResourceToTagPtrInput)(nil)).Elem(), CanaryResourceToTag("lambda-function")) pulumi.RegisterInputType(reflect.TypeOf((*CanaryResourceToTagArrayInput)(nil)).Elem(), CanaryResourceToTagArray{}) + pulumi.RegisterOutputType(CanaryProvisionedResourceCleanupOutput{}) + pulumi.RegisterOutputType(CanaryProvisionedResourceCleanupPtrOutput{}) pulumi.RegisterOutputType(CanaryResourceToTagOutput{}) pulumi.RegisterOutputType(CanaryResourceToTagPtrOutput{}) pulumi.RegisterOutputType(CanaryResourceToTagArrayOutput{}) diff --git a/sdk/go/aws/workspacesweb/dataProtectionSettings.go b/sdk/go/aws/workspacesweb/dataProtectionSettings.go new file mode 100644 index 0000000000..067c69b361 --- /dev/null +++ b/sdk/go/aws/workspacesweb/dataProtectionSettings.go @@ -0,0 +1,171 @@ +// 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 workspacesweb + +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::WorkSpacesWeb::DataProtectionSettings Resource Type +type DataProtectionSettings struct { + pulumi.CustomResourceState + + AdditionalEncryptionContext pulumi.StringMapOutput `pulumi:"additionalEncryptionContext"` + AssociatedPortalArns pulumi.StringArrayOutput `pulumi:"associatedPortalArns"` + CreationDate pulumi.StringOutput `pulumi:"creationDate"` + CustomerManagedKey pulumi.StringPtrOutput `pulumi:"customerManagedKey"` + DataProtectionSettingsArn pulumi.StringOutput `pulumi:"dataProtectionSettingsArn"` + Description pulumi.StringPtrOutput `pulumi:"description"` + DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` + InlineRedactionConfiguration DataProtectionSettingsInlineRedactionConfigurationPtrOutput `pulumi:"inlineRedactionConfiguration"` + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewDataProtectionSettings registers a new resource with the given unique name, arguments, and options. +func NewDataProtectionSettings(ctx *pulumi.Context, + name string, args *DataProtectionSettingsArgs, opts ...pulumi.ResourceOption) (*DataProtectionSettings, error) { + if args == nil { + args = &DataProtectionSettingsArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "additionalEncryptionContext.*", + "customerManagedKey", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DataProtectionSettings + err := ctx.RegisterResource("aws-native:workspacesweb:DataProtectionSettings", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDataProtectionSettings gets an existing DataProtectionSettings 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 GetDataProtectionSettings(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DataProtectionSettingsState, opts ...pulumi.ResourceOption) (*DataProtectionSettings, error) { + var resource DataProtectionSettings + err := ctx.ReadResource("aws-native:workspacesweb:DataProtectionSettings", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DataProtectionSettings resources. +type dataProtectionSettingsState struct { +} + +type DataProtectionSettingsState struct { +} + +func (DataProtectionSettingsState) ElementType() reflect.Type { + return reflect.TypeOf((*dataProtectionSettingsState)(nil)).Elem() +} + +type dataProtectionSettingsArgs struct { + AdditionalEncryptionContext map[string]string `pulumi:"additionalEncryptionContext"` + CustomerManagedKey *string `pulumi:"customerManagedKey"` + Description *string `pulumi:"description"` + DisplayName *string `pulumi:"displayName"` + InlineRedactionConfiguration *DataProtectionSettingsInlineRedactionConfiguration `pulumi:"inlineRedactionConfiguration"` + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a DataProtectionSettings resource. +type DataProtectionSettingsArgs struct { + AdditionalEncryptionContext pulumi.StringMapInput + CustomerManagedKey pulumi.StringPtrInput + Description pulumi.StringPtrInput + DisplayName pulumi.StringPtrInput + InlineRedactionConfiguration DataProtectionSettingsInlineRedactionConfigurationPtrInput + Tags aws.TagArrayInput +} + +func (DataProtectionSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dataProtectionSettingsArgs)(nil)).Elem() +} + +type DataProtectionSettingsInput interface { + pulumi.Input + + ToDataProtectionSettingsOutput() DataProtectionSettingsOutput + ToDataProtectionSettingsOutputWithContext(ctx context.Context) DataProtectionSettingsOutput +} + +func (*DataProtectionSettings) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettings)(nil)).Elem() +} + +func (i *DataProtectionSettings) ToDataProtectionSettingsOutput() DataProtectionSettingsOutput { + return i.ToDataProtectionSettingsOutputWithContext(context.Background()) +} + +func (i *DataProtectionSettings) ToDataProtectionSettingsOutputWithContext(ctx context.Context) DataProtectionSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsOutput) +} + +type DataProtectionSettingsOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettings)(nil)).Elem() +} + +func (o DataProtectionSettingsOutput) ToDataProtectionSettingsOutput() DataProtectionSettingsOutput { + return o +} + +func (o DataProtectionSettingsOutput) ToDataProtectionSettingsOutputWithContext(ctx context.Context) DataProtectionSettingsOutput { + return o +} + +func (o DataProtectionSettingsOutput) AdditionalEncryptionContext() pulumi.StringMapOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringMapOutput { return v.AdditionalEncryptionContext }).(pulumi.StringMapOutput) +} + +func (o DataProtectionSettingsOutput) AssociatedPortalArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringArrayOutput { return v.AssociatedPortalArns }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsOutput) CreationDate() pulumi.StringOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) +} + +func (o DataProtectionSettingsOutput) CustomerManagedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringPtrOutput { return v.CustomerManagedKey }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsOutput) DataProtectionSettingsArn() pulumi.StringOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringOutput { return v.DataProtectionSettingsArn }).(pulumi.StringOutput) +} + +func (o DataProtectionSettingsOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettings) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsOutput) InlineRedactionConfiguration() DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return o.ApplyT(func(v *DataProtectionSettings) DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return v.InlineRedactionConfiguration + }).(DataProtectionSettingsInlineRedactionConfigurationPtrOutput) +} + +func (o DataProtectionSettingsOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *DataProtectionSettings) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsInput)(nil)).Elem(), &DataProtectionSettings{}) + pulumi.RegisterOutputType(DataProtectionSettingsOutput{}) +} diff --git a/sdk/go/aws/workspacesweb/getDataProtectionSettings.go b/sdk/go/aws/workspacesweb/getDataProtectionSettings.go new file mode 100644 index 0000000000..8bc002a910 --- /dev/null +++ b/sdk/go/aws/workspacesweb/getDataProtectionSettings.go @@ -0,0 +1,113 @@ +// 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 workspacesweb + +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::WorkSpacesWeb::DataProtectionSettings Resource Type +func LookupDataProtectionSettings(ctx *pulumi.Context, args *LookupDataProtectionSettingsArgs, opts ...pulumi.InvokeOption) (*LookupDataProtectionSettingsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDataProtectionSettingsResult + err := ctx.Invoke("aws-native:workspacesweb:getDataProtectionSettings", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDataProtectionSettingsArgs struct { + DataProtectionSettingsArn string `pulumi:"dataProtectionSettingsArn"` +} + +type LookupDataProtectionSettingsResult struct { + AssociatedPortalArns []string `pulumi:"associatedPortalArns"` + CreationDate *string `pulumi:"creationDate"` + DataProtectionSettingsArn *string `pulumi:"dataProtectionSettingsArn"` + Description *string `pulumi:"description"` + DisplayName *string `pulumi:"displayName"` + InlineRedactionConfiguration *DataProtectionSettingsInlineRedactionConfiguration `pulumi:"inlineRedactionConfiguration"` + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupDataProtectionSettingsOutput(ctx *pulumi.Context, args LookupDataProtectionSettingsOutputArgs, opts ...pulumi.InvokeOption) LookupDataProtectionSettingsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDataProtectionSettingsResultOutput, error) { + args := v.(LookupDataProtectionSettingsArgs) + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDataProtectionSettingsResult + secret, err := ctx.InvokePackageRaw("aws-native:workspacesweb:getDataProtectionSettings", args, &rv, "", opts...) + if err != nil { + return LookupDataProtectionSettingsResultOutput{}, err + } + + output := pulumi.ToOutput(rv).(LookupDataProtectionSettingsResultOutput) + if secret { + return pulumi.ToSecret(output).(LookupDataProtectionSettingsResultOutput), nil + } + return output, nil + }).(LookupDataProtectionSettingsResultOutput) +} + +type LookupDataProtectionSettingsOutputArgs struct { + DataProtectionSettingsArn pulumi.StringInput `pulumi:"dataProtectionSettingsArn"` +} + +func (LookupDataProtectionSettingsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDataProtectionSettingsArgs)(nil)).Elem() +} + +type LookupDataProtectionSettingsResultOutput struct{ *pulumi.OutputState } + +func (LookupDataProtectionSettingsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDataProtectionSettingsResult)(nil)).Elem() +} + +func (o LookupDataProtectionSettingsResultOutput) ToLookupDataProtectionSettingsResultOutput() LookupDataProtectionSettingsResultOutput { + return o +} + +func (o LookupDataProtectionSettingsResultOutput) ToLookupDataProtectionSettingsResultOutputWithContext(ctx context.Context) LookupDataProtectionSettingsResultOutput { + return o +} + +func (o LookupDataProtectionSettingsResultOutput) AssociatedPortalArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) []string { return v.AssociatedPortalArns }).(pulumi.StringArrayOutput) +} + +func (o LookupDataProtectionSettingsResultOutput) CreationDate() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) *string { return v.CreationDate }).(pulumi.StringPtrOutput) +} + +func (o LookupDataProtectionSettingsResultOutput) DataProtectionSettingsArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) *string { return v.DataProtectionSettingsArn }).(pulumi.StringPtrOutput) +} + +func (o LookupDataProtectionSettingsResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o LookupDataProtectionSettingsResultOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +func (o LookupDataProtectionSettingsResultOutput) InlineRedactionConfiguration() DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) *DataProtectionSettingsInlineRedactionConfiguration { + return v.InlineRedactionConfiguration + }).(DataProtectionSettingsInlineRedactionConfigurationPtrOutput) +} + +func (o LookupDataProtectionSettingsResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupDataProtectionSettingsResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDataProtectionSettingsResultOutput{}) +} diff --git a/sdk/go/aws/workspacesweb/getPortal.go b/sdk/go/aws/workspacesweb/getPortal.go index 7897c12416..529935cd6b 100644 --- a/sdk/go/aws/workspacesweb/getPortal.go +++ b/sdk/go/aws/workspacesweb/getPortal.go @@ -48,7 +48,8 @@ type LookupPortalResult struct { // The browser that users see when using a streaming session. BrowserType *PortalBrowserType `pulumi:"browserType"` // The creation date of the web portal. - CreationDate *string `pulumi:"creationDate"` + CreationDate *string `pulumi:"creationDate"` + DataProtectionSettingsArn *string `pulumi:"dataProtectionSettingsArn"` // The name of the web portal. DisplayName *string `pulumi:"displayName"` // The type and resources of the underlying instance. @@ -155,6 +156,10 @@ func (o LookupPortalResultOutput) CreationDate() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupPortalResult) *string { return v.CreationDate }).(pulumi.StringPtrOutput) } +func (o LookupPortalResultOutput) DataProtectionSettingsArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPortalResult) *string { return v.DataProtectionSettingsArn }).(pulumi.StringPtrOutput) +} + // The name of the web portal. func (o LookupPortalResultOutput) DisplayName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupPortalResult) *string { return v.DisplayName }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/workspacesweb/init.go b/sdk/go/aws/workspacesweb/init.go index cd2f972690..deea2c46b6 100644 --- a/sdk/go/aws/workspacesweb/init.go +++ b/sdk/go/aws/workspacesweb/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws-native:workspacesweb:BrowserSettings": r = &BrowserSettings{} + case "aws-native:workspacesweb:DataProtectionSettings": + r = &DataProtectionSettings{} case "aws-native:workspacesweb:IdentityProvider": r = &IdentityProvider{} case "aws-native:workspacesweb:IpAccessSettings": diff --git a/sdk/go/aws/workspacesweb/portal.go b/sdk/go/aws/workspacesweb/portal.go index c067291f7b..454a406568 100644 --- a/sdk/go/aws/workspacesweb/portal.go +++ b/sdk/go/aws/workspacesweb/portal.go @@ -41,7 +41,8 @@ type Portal struct { // The customer managed key of the web portal. // // *Pattern* : `^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$` - CustomerManagedKey pulumi.StringPtrOutput `pulumi:"customerManagedKey"` + CustomerManagedKey pulumi.StringPtrOutput `pulumi:"customerManagedKey"` + DataProtectionSettingsArn pulumi.StringPtrOutput `pulumi:"dataProtectionSettingsArn"` // The name of the web portal. DisplayName pulumi.StringPtrOutput `pulumi:"displayName"` // The type and resources of the underlying instance. @@ -140,7 +141,8 @@ type portalArgs struct { // The customer managed key of the web portal. // // *Pattern* : `^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$` - CustomerManagedKey *string `pulumi:"customerManagedKey"` + CustomerManagedKey *string `pulumi:"customerManagedKey"` + DataProtectionSettingsArn *string `pulumi:"dataProtectionSettingsArn"` // The name of the web portal. DisplayName *string `pulumi:"displayName"` // The type and resources of the underlying instance. @@ -184,7 +186,8 @@ type PortalArgs struct { // The customer managed key of the web portal. // // *Pattern* : `^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$` - CustomerManagedKey pulumi.StringPtrInput + CustomerManagedKey pulumi.StringPtrInput + DataProtectionSettingsArn pulumi.StringPtrInput // The name of the web portal. DisplayName pulumi.StringPtrInput // The type and resources of the underlying instance. @@ -286,6 +289,10 @@ func (o PortalOutput) CustomerManagedKey() pulumi.StringPtrOutput { return o.ApplyT(func(v *Portal) pulumi.StringPtrOutput { return v.CustomerManagedKey }).(pulumi.StringPtrOutput) } +func (o PortalOutput) DataProtectionSettingsArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Portal) pulumi.StringPtrOutput { return v.DataProtectionSettingsArn }).(pulumi.StringPtrOutput) +} + // The name of the web portal. func (o PortalOutput) DisplayName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Portal) pulumi.StringPtrOutput { return v.DisplayName }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/workspacesweb/pulumiEnums.go b/sdk/go/aws/workspacesweb/pulumiEnums.go index 9800d2ffec..6777a06f3d 100644 --- a/sdk/go/aws/workspacesweb/pulumiEnums.go +++ b/sdk/go/aws/workspacesweb/pulumiEnums.go @@ -10,6 +10,169 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type DataProtectionSettingsRedactionPlaceHolderType string + +const ( + DataProtectionSettingsRedactionPlaceHolderTypeCustomText = DataProtectionSettingsRedactionPlaceHolderType("CustomText") +) + +func (DataProtectionSettingsRedactionPlaceHolderType) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolderType)(nil)).Elem() +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToDataProtectionSettingsRedactionPlaceHolderTypeOutput() DataProtectionSettingsRedactionPlaceHolderTypeOutput { + return pulumi.ToOutput(e).(DataProtectionSettingsRedactionPlaceHolderTypeOutput) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToDataProtectionSettingsRedactionPlaceHolderTypeOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(DataProtectionSettingsRedactionPlaceHolderTypeOutput) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutput() DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return e.ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(context.Background()) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return DataProtectionSettingsRedactionPlaceHolderType(e).ToDataProtectionSettingsRedactionPlaceHolderTypeOutputWithContext(ctx).ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(ctx) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DataProtectionSettingsRedactionPlaceHolderType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DataProtectionSettingsRedactionPlaceHolderTypeOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsRedactionPlaceHolderTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolderType)(nil)).Elem() +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToDataProtectionSettingsRedactionPlaceHolderTypeOutput() DataProtectionSettingsRedactionPlaceHolderTypeOutput { + return o +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToDataProtectionSettingsRedactionPlaceHolderTypeOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderTypeOutput { + return o +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutput() DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return o.ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(context.Background()) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataProtectionSettingsRedactionPlaceHolderType) *DataProtectionSettingsRedactionPlaceHolderType { + return &v + }).(DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataProtectionSettingsRedactionPlaceHolderType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataProtectionSettingsRedactionPlaceHolderType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DataProtectionSettingsRedactionPlaceHolderTypePtrOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettingsRedactionPlaceHolderType)(nil)).Elem() +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutput() DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return o +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return o +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) Elem() DataProtectionSettingsRedactionPlaceHolderTypeOutput { + return o.ApplyT(func(v *DataProtectionSettingsRedactionPlaceHolderType) DataProtectionSettingsRedactionPlaceHolderType { + if v != nil { + return *v + } + var ret DataProtectionSettingsRedactionPlaceHolderType + return ret + }).(DataProtectionSettingsRedactionPlaceHolderTypeOutput) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DataProtectionSettingsRedactionPlaceHolderType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DataProtectionSettingsRedactionPlaceHolderTypeInput is an input type that accepts values of the DataProtectionSettingsRedactionPlaceHolderType enum +// A concrete instance of `DataProtectionSettingsRedactionPlaceHolderTypeInput` can be one of the following: +// +// DataProtectionSettingsRedactionPlaceHolderTypeCustomText +type DataProtectionSettingsRedactionPlaceHolderTypeInput interface { + pulumi.Input + + ToDataProtectionSettingsRedactionPlaceHolderTypeOutput() DataProtectionSettingsRedactionPlaceHolderTypeOutput + ToDataProtectionSettingsRedactionPlaceHolderTypeOutputWithContext(context.Context) DataProtectionSettingsRedactionPlaceHolderTypeOutput +} + +var dataProtectionSettingsRedactionPlaceHolderTypePtrType = reflect.TypeOf((**DataProtectionSettingsRedactionPlaceHolderType)(nil)).Elem() + +type DataProtectionSettingsRedactionPlaceHolderTypePtrInput interface { + pulumi.Input + + ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutput() DataProtectionSettingsRedactionPlaceHolderTypePtrOutput + ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(context.Context) DataProtectionSettingsRedactionPlaceHolderTypePtrOutput +} + +type dataProtectionSettingsRedactionPlaceHolderTypePtr string + +func DataProtectionSettingsRedactionPlaceHolderTypePtr(v string) DataProtectionSettingsRedactionPlaceHolderTypePtrInput { + return (*dataProtectionSettingsRedactionPlaceHolderTypePtr)(&v) +} + +func (*dataProtectionSettingsRedactionPlaceHolderTypePtr) ElementType() reflect.Type { + return dataProtectionSettingsRedactionPlaceHolderTypePtrType +} + +func (in *dataProtectionSettingsRedactionPlaceHolderTypePtr) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutput() DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return pulumi.ToOutput(in).(DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) +} + +func (in *dataProtectionSettingsRedactionPlaceHolderTypePtr) ToDataProtectionSettingsRedactionPlaceHolderTypePtrOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DataProtectionSettingsRedactionPlaceHolderTypePtrOutput) +} + type IdentityProviderType string const ( @@ -950,6 +1113,8 @@ func (in *userSettingsEnabledTypePtr) ToUserSettingsEnabledTypePtrOutputWithCont } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolderTypeInput)(nil)).Elem(), DataProtectionSettingsRedactionPlaceHolderType("CustomText")) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolderTypePtrInput)(nil)).Elem(), DataProtectionSettingsRedactionPlaceHolderType("CustomText")) pulumi.RegisterInputType(reflect.TypeOf((*IdentityProviderTypeInput)(nil)).Elem(), IdentityProviderType("SAML")) pulumi.RegisterInputType(reflect.TypeOf((*IdentityProviderTypePtrInput)(nil)).Elem(), IdentityProviderType("SAML")) pulumi.RegisterInputType(reflect.TypeOf((*PortalAuthenticationTypeInput)(nil)).Elem(), PortalAuthenticationType("Standard")) @@ -958,6 +1123,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PortalInstanceTypePtrInput)(nil)).Elem(), PortalInstanceType("standard.regular")) pulumi.RegisterInputType(reflect.TypeOf((*UserSettingsEnabledTypeInput)(nil)).Elem(), UserSettingsEnabledType("Disabled")) pulumi.RegisterInputType(reflect.TypeOf((*UserSettingsEnabledTypePtrInput)(nil)).Elem(), UserSettingsEnabledType("Disabled")) + pulumi.RegisterOutputType(DataProtectionSettingsRedactionPlaceHolderTypeOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsRedactionPlaceHolderTypePtrOutput{}) pulumi.RegisterOutputType(IdentityProviderTypeOutput{}) pulumi.RegisterOutputType(IdentityProviderTypePtrOutput{}) pulumi.RegisterOutputType(PortalAuthenticationTypeOutput{}) diff --git a/sdk/go/aws/workspacesweb/pulumiTypes.go b/sdk/go/aws/workspacesweb/pulumiTypes.go index bea7312ec1..8a6e5e6ee5 100644 --- a/sdk/go/aws/workspacesweb/pulumiTypes.go +++ b/sdk/go/aws/workspacesweb/pulumiTypes.go @@ -20,6 +20,554 @@ type BrowserSettingsTag struct { Value string `pulumi:"value"` } +type DataProtectionSettingsCustomPattern struct { + KeywordRegex *string `pulumi:"keywordRegex"` + PatternDescription *string `pulumi:"patternDescription"` + PatternName string `pulumi:"patternName"` + PatternRegex string `pulumi:"patternRegex"` +} + +// DataProtectionSettingsCustomPatternInput is an input type that accepts DataProtectionSettingsCustomPatternArgs and DataProtectionSettingsCustomPatternOutput values. +// You can construct a concrete instance of `DataProtectionSettingsCustomPatternInput` via: +// +// DataProtectionSettingsCustomPatternArgs{...} +type DataProtectionSettingsCustomPatternInput interface { + pulumi.Input + + ToDataProtectionSettingsCustomPatternOutput() DataProtectionSettingsCustomPatternOutput + ToDataProtectionSettingsCustomPatternOutputWithContext(context.Context) DataProtectionSettingsCustomPatternOutput +} + +type DataProtectionSettingsCustomPatternArgs struct { + KeywordRegex pulumi.StringPtrInput `pulumi:"keywordRegex"` + PatternDescription pulumi.StringPtrInput `pulumi:"patternDescription"` + PatternName pulumi.StringInput `pulumi:"patternName"` + PatternRegex pulumi.StringInput `pulumi:"patternRegex"` +} + +func (DataProtectionSettingsCustomPatternArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsCustomPattern)(nil)).Elem() +} + +func (i DataProtectionSettingsCustomPatternArgs) ToDataProtectionSettingsCustomPatternOutput() DataProtectionSettingsCustomPatternOutput { + return i.ToDataProtectionSettingsCustomPatternOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsCustomPatternArgs) ToDataProtectionSettingsCustomPatternOutputWithContext(ctx context.Context) DataProtectionSettingsCustomPatternOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsCustomPatternOutput) +} + +func (i DataProtectionSettingsCustomPatternArgs) ToDataProtectionSettingsCustomPatternPtrOutput() DataProtectionSettingsCustomPatternPtrOutput { + return i.ToDataProtectionSettingsCustomPatternPtrOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsCustomPatternArgs) ToDataProtectionSettingsCustomPatternPtrOutputWithContext(ctx context.Context) DataProtectionSettingsCustomPatternPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsCustomPatternOutput).ToDataProtectionSettingsCustomPatternPtrOutputWithContext(ctx) +} + +// DataProtectionSettingsCustomPatternPtrInput is an input type that accepts DataProtectionSettingsCustomPatternArgs, DataProtectionSettingsCustomPatternPtr and DataProtectionSettingsCustomPatternPtrOutput values. +// You can construct a concrete instance of `DataProtectionSettingsCustomPatternPtrInput` via: +// +// DataProtectionSettingsCustomPatternArgs{...} +// +// or: +// +// nil +type DataProtectionSettingsCustomPatternPtrInput interface { + pulumi.Input + + ToDataProtectionSettingsCustomPatternPtrOutput() DataProtectionSettingsCustomPatternPtrOutput + ToDataProtectionSettingsCustomPatternPtrOutputWithContext(context.Context) DataProtectionSettingsCustomPatternPtrOutput +} + +type dataProtectionSettingsCustomPatternPtrType DataProtectionSettingsCustomPatternArgs + +func DataProtectionSettingsCustomPatternPtr(v *DataProtectionSettingsCustomPatternArgs) DataProtectionSettingsCustomPatternPtrInput { + return (*dataProtectionSettingsCustomPatternPtrType)(v) +} + +func (*dataProtectionSettingsCustomPatternPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettingsCustomPattern)(nil)).Elem() +} + +func (i *dataProtectionSettingsCustomPatternPtrType) ToDataProtectionSettingsCustomPatternPtrOutput() DataProtectionSettingsCustomPatternPtrOutput { + return i.ToDataProtectionSettingsCustomPatternPtrOutputWithContext(context.Background()) +} + +func (i *dataProtectionSettingsCustomPatternPtrType) ToDataProtectionSettingsCustomPatternPtrOutputWithContext(ctx context.Context) DataProtectionSettingsCustomPatternPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsCustomPatternPtrOutput) +} + +type DataProtectionSettingsCustomPatternOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsCustomPatternOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsCustomPattern)(nil)).Elem() +} + +func (o DataProtectionSettingsCustomPatternOutput) ToDataProtectionSettingsCustomPatternOutput() DataProtectionSettingsCustomPatternOutput { + return o +} + +func (o DataProtectionSettingsCustomPatternOutput) ToDataProtectionSettingsCustomPatternOutputWithContext(ctx context.Context) DataProtectionSettingsCustomPatternOutput { + return o +} + +func (o DataProtectionSettingsCustomPatternOutput) ToDataProtectionSettingsCustomPatternPtrOutput() DataProtectionSettingsCustomPatternPtrOutput { + return o.ToDataProtectionSettingsCustomPatternPtrOutputWithContext(context.Background()) +} + +func (o DataProtectionSettingsCustomPatternOutput) ToDataProtectionSettingsCustomPatternPtrOutputWithContext(ctx context.Context) DataProtectionSettingsCustomPatternPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataProtectionSettingsCustomPattern) *DataProtectionSettingsCustomPattern { + return &v + }).(DataProtectionSettingsCustomPatternPtrOutput) +} + +func (o DataProtectionSettingsCustomPatternOutput) KeywordRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataProtectionSettingsCustomPattern) *string { return v.KeywordRegex }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsCustomPatternOutput) PatternDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataProtectionSettingsCustomPattern) *string { return v.PatternDescription }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsCustomPatternOutput) PatternName() pulumi.StringOutput { + return o.ApplyT(func(v DataProtectionSettingsCustomPattern) string { return v.PatternName }).(pulumi.StringOutput) +} + +func (o DataProtectionSettingsCustomPatternOutput) PatternRegex() pulumi.StringOutput { + return o.ApplyT(func(v DataProtectionSettingsCustomPattern) string { return v.PatternRegex }).(pulumi.StringOutput) +} + +type DataProtectionSettingsCustomPatternPtrOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsCustomPatternPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettingsCustomPattern)(nil)).Elem() +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) ToDataProtectionSettingsCustomPatternPtrOutput() DataProtectionSettingsCustomPatternPtrOutput { + return o +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) ToDataProtectionSettingsCustomPatternPtrOutputWithContext(ctx context.Context) DataProtectionSettingsCustomPatternPtrOutput { + return o +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) Elem() DataProtectionSettingsCustomPatternOutput { + return o.ApplyT(func(v *DataProtectionSettingsCustomPattern) DataProtectionSettingsCustomPattern { + if v != nil { + return *v + } + var ret DataProtectionSettingsCustomPattern + return ret + }).(DataProtectionSettingsCustomPatternOutput) +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) KeywordRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettingsCustomPattern) *string { + if v == nil { + return nil + } + return v.KeywordRegex + }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) PatternDescription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettingsCustomPattern) *string { + if v == nil { + return nil + } + return v.PatternDescription + }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) PatternName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettingsCustomPattern) *string { + if v == nil { + return nil + } + return &v.PatternName + }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsCustomPatternPtrOutput) PatternRegex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProtectionSettingsCustomPattern) *string { + if v == nil { + return nil + } + return &v.PatternRegex + }).(pulumi.StringPtrOutput) +} + +type DataProtectionSettingsInlineRedactionConfiguration struct { + GlobalConfidenceLevel *float64 `pulumi:"globalConfidenceLevel"` + GlobalEnforcedUrls []string `pulumi:"globalEnforcedUrls"` + GlobalExemptUrls []string `pulumi:"globalExemptUrls"` + InlineRedactionPatterns []DataProtectionSettingsInlineRedactionPattern `pulumi:"inlineRedactionPatterns"` +} + +// DataProtectionSettingsInlineRedactionConfigurationInput is an input type that accepts DataProtectionSettingsInlineRedactionConfigurationArgs and DataProtectionSettingsInlineRedactionConfigurationOutput values. +// You can construct a concrete instance of `DataProtectionSettingsInlineRedactionConfigurationInput` via: +// +// DataProtectionSettingsInlineRedactionConfigurationArgs{...} +type DataProtectionSettingsInlineRedactionConfigurationInput interface { + pulumi.Input + + ToDataProtectionSettingsInlineRedactionConfigurationOutput() DataProtectionSettingsInlineRedactionConfigurationOutput + ToDataProtectionSettingsInlineRedactionConfigurationOutputWithContext(context.Context) DataProtectionSettingsInlineRedactionConfigurationOutput +} + +type DataProtectionSettingsInlineRedactionConfigurationArgs struct { + GlobalConfidenceLevel pulumi.Float64PtrInput `pulumi:"globalConfidenceLevel"` + GlobalEnforcedUrls pulumi.StringArrayInput `pulumi:"globalEnforcedUrls"` + GlobalExemptUrls pulumi.StringArrayInput `pulumi:"globalExemptUrls"` + InlineRedactionPatterns DataProtectionSettingsInlineRedactionPatternArrayInput `pulumi:"inlineRedactionPatterns"` +} + +func (DataProtectionSettingsInlineRedactionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsInlineRedactionConfiguration)(nil)).Elem() +} + +func (i DataProtectionSettingsInlineRedactionConfigurationArgs) ToDataProtectionSettingsInlineRedactionConfigurationOutput() DataProtectionSettingsInlineRedactionConfigurationOutput { + return i.ToDataProtectionSettingsInlineRedactionConfigurationOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsInlineRedactionConfigurationArgs) ToDataProtectionSettingsInlineRedactionConfigurationOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsInlineRedactionConfigurationOutput) +} + +func (i DataProtectionSettingsInlineRedactionConfigurationArgs) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutput() DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return i.ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsInlineRedactionConfigurationArgs) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsInlineRedactionConfigurationOutput).ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(ctx) +} + +// DataProtectionSettingsInlineRedactionConfigurationPtrInput is an input type that accepts DataProtectionSettingsInlineRedactionConfigurationArgs, DataProtectionSettingsInlineRedactionConfigurationPtr and DataProtectionSettingsInlineRedactionConfigurationPtrOutput values. +// You can construct a concrete instance of `DataProtectionSettingsInlineRedactionConfigurationPtrInput` via: +// +// DataProtectionSettingsInlineRedactionConfigurationArgs{...} +// +// or: +// +// nil +type DataProtectionSettingsInlineRedactionConfigurationPtrInput interface { + pulumi.Input + + ToDataProtectionSettingsInlineRedactionConfigurationPtrOutput() DataProtectionSettingsInlineRedactionConfigurationPtrOutput + ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(context.Context) DataProtectionSettingsInlineRedactionConfigurationPtrOutput +} + +type dataProtectionSettingsInlineRedactionConfigurationPtrType DataProtectionSettingsInlineRedactionConfigurationArgs + +func DataProtectionSettingsInlineRedactionConfigurationPtr(v *DataProtectionSettingsInlineRedactionConfigurationArgs) DataProtectionSettingsInlineRedactionConfigurationPtrInput { + return (*dataProtectionSettingsInlineRedactionConfigurationPtrType)(v) +} + +func (*dataProtectionSettingsInlineRedactionConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettingsInlineRedactionConfiguration)(nil)).Elem() +} + +func (i *dataProtectionSettingsInlineRedactionConfigurationPtrType) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutput() DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return i.ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *dataProtectionSettingsInlineRedactionConfigurationPtrType) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsInlineRedactionConfigurationPtrOutput) +} + +type DataProtectionSettingsInlineRedactionConfigurationOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsInlineRedactionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsInlineRedactionConfiguration)(nil)).Elem() +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) ToDataProtectionSettingsInlineRedactionConfigurationOutput() DataProtectionSettingsInlineRedactionConfigurationOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) ToDataProtectionSettingsInlineRedactionConfigurationOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionConfigurationOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutput() DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return o.ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(context.Background()) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataProtectionSettingsInlineRedactionConfiguration) *DataProtectionSettingsInlineRedactionConfiguration { + return &v + }).(DataProtectionSettingsInlineRedactionConfigurationPtrOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) GlobalConfidenceLevel() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionConfiguration) *float64 { return v.GlobalConfidenceLevel }).(pulumi.Float64PtrOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) GlobalEnforcedUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionConfiguration) []string { return v.GlobalEnforcedUrls }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) GlobalExemptUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionConfiguration) []string { return v.GlobalExemptUrls }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationOutput) InlineRedactionPatterns() DataProtectionSettingsInlineRedactionPatternArrayOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionConfiguration) []DataProtectionSettingsInlineRedactionPattern { + return v.InlineRedactionPatterns + }).(DataProtectionSettingsInlineRedactionPatternArrayOutput) +} + +type DataProtectionSettingsInlineRedactionConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsInlineRedactionConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionSettingsInlineRedactionConfiguration)(nil)).Elem() +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutput() DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) ToDataProtectionSettingsInlineRedactionConfigurationPtrOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionConfigurationPtrOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) Elem() DataProtectionSettingsInlineRedactionConfigurationOutput { + return o.ApplyT(func(v *DataProtectionSettingsInlineRedactionConfiguration) DataProtectionSettingsInlineRedactionConfiguration { + if v != nil { + return *v + } + var ret DataProtectionSettingsInlineRedactionConfiguration + return ret + }).(DataProtectionSettingsInlineRedactionConfigurationOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) GlobalConfidenceLevel() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *DataProtectionSettingsInlineRedactionConfiguration) *float64 { + if v == nil { + return nil + } + return v.GlobalConfidenceLevel + }).(pulumi.Float64PtrOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) GlobalEnforcedUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DataProtectionSettingsInlineRedactionConfiguration) []string { + if v == nil { + return nil + } + return v.GlobalEnforcedUrls + }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) GlobalExemptUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DataProtectionSettingsInlineRedactionConfiguration) []string { + if v == nil { + return nil + } + return v.GlobalExemptUrls + }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsInlineRedactionConfigurationPtrOutput) InlineRedactionPatterns() DataProtectionSettingsInlineRedactionPatternArrayOutput { + return o.ApplyT(func(v *DataProtectionSettingsInlineRedactionConfiguration) []DataProtectionSettingsInlineRedactionPattern { + if v == nil { + return nil + } + return v.InlineRedactionPatterns + }).(DataProtectionSettingsInlineRedactionPatternArrayOutput) +} + +type DataProtectionSettingsInlineRedactionPattern struct { + BuiltInPatternId *string `pulumi:"builtInPatternId"` + ConfidenceLevel *float64 `pulumi:"confidenceLevel"` + CustomPattern *DataProtectionSettingsCustomPattern `pulumi:"customPattern"` + EnforcedUrls []string `pulumi:"enforcedUrls"` + ExemptUrls []string `pulumi:"exemptUrls"` + RedactionPlaceHolder DataProtectionSettingsRedactionPlaceHolder `pulumi:"redactionPlaceHolder"` +} + +// DataProtectionSettingsInlineRedactionPatternInput is an input type that accepts DataProtectionSettingsInlineRedactionPatternArgs and DataProtectionSettingsInlineRedactionPatternOutput values. +// You can construct a concrete instance of `DataProtectionSettingsInlineRedactionPatternInput` via: +// +// DataProtectionSettingsInlineRedactionPatternArgs{...} +type DataProtectionSettingsInlineRedactionPatternInput interface { + pulumi.Input + + ToDataProtectionSettingsInlineRedactionPatternOutput() DataProtectionSettingsInlineRedactionPatternOutput + ToDataProtectionSettingsInlineRedactionPatternOutputWithContext(context.Context) DataProtectionSettingsInlineRedactionPatternOutput +} + +type DataProtectionSettingsInlineRedactionPatternArgs struct { + BuiltInPatternId pulumi.StringPtrInput `pulumi:"builtInPatternId"` + ConfidenceLevel pulumi.Float64PtrInput `pulumi:"confidenceLevel"` + CustomPattern DataProtectionSettingsCustomPatternPtrInput `pulumi:"customPattern"` + EnforcedUrls pulumi.StringArrayInput `pulumi:"enforcedUrls"` + ExemptUrls pulumi.StringArrayInput `pulumi:"exemptUrls"` + RedactionPlaceHolder DataProtectionSettingsRedactionPlaceHolderInput `pulumi:"redactionPlaceHolder"` +} + +func (DataProtectionSettingsInlineRedactionPatternArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsInlineRedactionPattern)(nil)).Elem() +} + +func (i DataProtectionSettingsInlineRedactionPatternArgs) ToDataProtectionSettingsInlineRedactionPatternOutput() DataProtectionSettingsInlineRedactionPatternOutput { + return i.ToDataProtectionSettingsInlineRedactionPatternOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsInlineRedactionPatternArgs) ToDataProtectionSettingsInlineRedactionPatternOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionPatternOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsInlineRedactionPatternOutput) +} + +// DataProtectionSettingsInlineRedactionPatternArrayInput is an input type that accepts DataProtectionSettingsInlineRedactionPatternArray and DataProtectionSettingsInlineRedactionPatternArrayOutput values. +// You can construct a concrete instance of `DataProtectionSettingsInlineRedactionPatternArrayInput` via: +// +// DataProtectionSettingsInlineRedactionPatternArray{ DataProtectionSettingsInlineRedactionPatternArgs{...} } +type DataProtectionSettingsInlineRedactionPatternArrayInput interface { + pulumi.Input + + ToDataProtectionSettingsInlineRedactionPatternArrayOutput() DataProtectionSettingsInlineRedactionPatternArrayOutput + ToDataProtectionSettingsInlineRedactionPatternArrayOutputWithContext(context.Context) DataProtectionSettingsInlineRedactionPatternArrayOutput +} + +type DataProtectionSettingsInlineRedactionPatternArray []DataProtectionSettingsInlineRedactionPatternInput + +func (DataProtectionSettingsInlineRedactionPatternArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DataProtectionSettingsInlineRedactionPattern)(nil)).Elem() +} + +func (i DataProtectionSettingsInlineRedactionPatternArray) ToDataProtectionSettingsInlineRedactionPatternArrayOutput() DataProtectionSettingsInlineRedactionPatternArrayOutput { + return i.ToDataProtectionSettingsInlineRedactionPatternArrayOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsInlineRedactionPatternArray) ToDataProtectionSettingsInlineRedactionPatternArrayOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionPatternArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsInlineRedactionPatternArrayOutput) +} + +type DataProtectionSettingsInlineRedactionPatternOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsInlineRedactionPatternOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsInlineRedactionPattern)(nil)).Elem() +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) ToDataProtectionSettingsInlineRedactionPatternOutput() DataProtectionSettingsInlineRedactionPatternOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) ToDataProtectionSettingsInlineRedactionPatternOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionPatternOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) BuiltInPatternId() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionPattern) *string { return v.BuiltInPatternId }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) ConfidenceLevel() pulumi.Float64PtrOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionPattern) *float64 { return v.ConfidenceLevel }).(pulumi.Float64PtrOutput) +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) CustomPattern() DataProtectionSettingsCustomPatternPtrOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionPattern) *DataProtectionSettingsCustomPattern { + return v.CustomPattern + }).(DataProtectionSettingsCustomPatternPtrOutput) +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) EnforcedUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionPattern) []string { return v.EnforcedUrls }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) ExemptUrls() pulumi.StringArrayOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionPattern) []string { return v.ExemptUrls }).(pulumi.StringArrayOutput) +} + +func (o DataProtectionSettingsInlineRedactionPatternOutput) RedactionPlaceHolder() DataProtectionSettingsRedactionPlaceHolderOutput { + return o.ApplyT(func(v DataProtectionSettingsInlineRedactionPattern) DataProtectionSettingsRedactionPlaceHolder { + return v.RedactionPlaceHolder + }).(DataProtectionSettingsRedactionPlaceHolderOutput) +} + +type DataProtectionSettingsInlineRedactionPatternArrayOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsInlineRedactionPatternArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DataProtectionSettingsInlineRedactionPattern)(nil)).Elem() +} + +func (o DataProtectionSettingsInlineRedactionPatternArrayOutput) ToDataProtectionSettingsInlineRedactionPatternArrayOutput() DataProtectionSettingsInlineRedactionPatternArrayOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionPatternArrayOutput) ToDataProtectionSettingsInlineRedactionPatternArrayOutputWithContext(ctx context.Context) DataProtectionSettingsInlineRedactionPatternArrayOutput { + return o +} + +func (o DataProtectionSettingsInlineRedactionPatternArrayOutput) Index(i pulumi.IntInput) DataProtectionSettingsInlineRedactionPatternOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DataProtectionSettingsInlineRedactionPattern { + return vs[0].([]DataProtectionSettingsInlineRedactionPattern)[vs[1].(int)] + }).(DataProtectionSettingsInlineRedactionPatternOutput) +} + +type DataProtectionSettingsRedactionPlaceHolder struct { + RedactionPlaceHolderText *string `pulumi:"redactionPlaceHolderText"` + RedactionPlaceHolderType DataProtectionSettingsRedactionPlaceHolderType `pulumi:"redactionPlaceHolderType"` +} + +// DataProtectionSettingsRedactionPlaceHolderInput is an input type that accepts DataProtectionSettingsRedactionPlaceHolderArgs and DataProtectionSettingsRedactionPlaceHolderOutput values. +// You can construct a concrete instance of `DataProtectionSettingsRedactionPlaceHolderInput` via: +// +// DataProtectionSettingsRedactionPlaceHolderArgs{...} +type DataProtectionSettingsRedactionPlaceHolderInput interface { + pulumi.Input + + ToDataProtectionSettingsRedactionPlaceHolderOutput() DataProtectionSettingsRedactionPlaceHolderOutput + ToDataProtectionSettingsRedactionPlaceHolderOutputWithContext(context.Context) DataProtectionSettingsRedactionPlaceHolderOutput +} + +type DataProtectionSettingsRedactionPlaceHolderArgs struct { + RedactionPlaceHolderText pulumi.StringPtrInput `pulumi:"redactionPlaceHolderText"` + RedactionPlaceHolderType DataProtectionSettingsRedactionPlaceHolderTypeInput `pulumi:"redactionPlaceHolderType"` +} + +func (DataProtectionSettingsRedactionPlaceHolderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolder)(nil)).Elem() +} + +func (i DataProtectionSettingsRedactionPlaceHolderArgs) ToDataProtectionSettingsRedactionPlaceHolderOutput() DataProtectionSettingsRedactionPlaceHolderOutput { + return i.ToDataProtectionSettingsRedactionPlaceHolderOutputWithContext(context.Background()) +} + +func (i DataProtectionSettingsRedactionPlaceHolderArgs) ToDataProtectionSettingsRedactionPlaceHolderOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionSettingsRedactionPlaceHolderOutput) +} + +type DataProtectionSettingsRedactionPlaceHolderOutput struct{ *pulumi.OutputState } + +func (DataProtectionSettingsRedactionPlaceHolderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolder)(nil)).Elem() +} + +func (o DataProtectionSettingsRedactionPlaceHolderOutput) ToDataProtectionSettingsRedactionPlaceHolderOutput() DataProtectionSettingsRedactionPlaceHolderOutput { + return o +} + +func (o DataProtectionSettingsRedactionPlaceHolderOutput) ToDataProtectionSettingsRedactionPlaceHolderOutputWithContext(ctx context.Context) DataProtectionSettingsRedactionPlaceHolderOutput { + return o +} + +func (o DataProtectionSettingsRedactionPlaceHolderOutput) RedactionPlaceHolderText() pulumi.StringPtrOutput { + return o.ApplyT(func(v DataProtectionSettingsRedactionPlaceHolder) *string { return v.RedactionPlaceHolderText }).(pulumi.StringPtrOutput) +} + +func (o DataProtectionSettingsRedactionPlaceHolderOutput) RedactionPlaceHolderType() DataProtectionSettingsRedactionPlaceHolderTypeOutput { + return o.ApplyT(func(v DataProtectionSettingsRedactionPlaceHolder) DataProtectionSettingsRedactionPlaceHolderType { + return v.RedactionPlaceHolderType + }).(DataProtectionSettingsRedactionPlaceHolderTypeOutput) +} + +type DataProtectionSettingsTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + type IdentityProviderTag struct { // The key of the tag. Key string `pulumi:"key"` @@ -451,12 +999,26 @@ type UserSettingsTag struct { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsCustomPatternInput)(nil)).Elem(), DataProtectionSettingsCustomPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsCustomPatternPtrInput)(nil)).Elem(), DataProtectionSettingsCustomPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsInlineRedactionConfigurationInput)(nil)).Elem(), DataProtectionSettingsInlineRedactionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsInlineRedactionConfigurationPtrInput)(nil)).Elem(), DataProtectionSettingsInlineRedactionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsInlineRedactionPatternInput)(nil)).Elem(), DataProtectionSettingsInlineRedactionPatternArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsInlineRedactionPatternArrayInput)(nil)).Elem(), DataProtectionSettingsInlineRedactionPatternArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionSettingsRedactionPlaceHolderInput)(nil)).Elem(), DataProtectionSettingsRedactionPlaceHolderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IpAccessSettingsIpRuleInput)(nil)).Elem(), IpAccessSettingsIpRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IpAccessSettingsIpRuleArrayInput)(nil)).Elem(), IpAccessSettingsIpRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*UserSettingsCookieSpecificationInput)(nil)).Elem(), UserSettingsCookieSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserSettingsCookieSpecificationArrayInput)(nil)).Elem(), UserSettingsCookieSpecificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*UserSettingsCookieSynchronizationConfigurationInput)(nil)).Elem(), UserSettingsCookieSynchronizationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserSettingsCookieSynchronizationConfigurationPtrInput)(nil)).Elem(), UserSettingsCookieSynchronizationConfigurationArgs{}) + pulumi.RegisterOutputType(DataProtectionSettingsCustomPatternOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsCustomPatternPtrOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsInlineRedactionConfigurationOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsInlineRedactionConfigurationPtrOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsInlineRedactionPatternOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsInlineRedactionPatternArrayOutput{}) + pulumi.RegisterOutputType(DataProtectionSettingsRedactionPlaceHolderOutput{}) pulumi.RegisterOutputType(IpAccessSettingsIpRuleOutput{}) pulumi.RegisterOutputType(IpAccessSettingsIpRuleArrayOutput{}) pulumi.RegisterOutputType(UserSettingsCookieSpecificationOutput{}) diff --git a/sdk/nodejs/apigateway/basePathMappingV2.ts b/sdk/nodejs/apigateway/basePathMappingV2.ts new file mode 100644 index 0000000000..507c4c924c --- /dev/null +++ b/sdk/nodejs/apigateway/basePathMappingV2.ts @@ -0,0 +1,114 @@ +// *** 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::ApiGateway::BasePathMappingV2 + */ +export class BasePathMappingV2 extends pulumi.CustomResource { + /** + * Get an existing BasePathMappingV2 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): BasePathMappingV2 { + return new BasePathMappingV2(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:apigateway:BasePathMappingV2'; + + /** + * Returns true if the given object is an instance of BasePathMappingV2. 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 BasePathMappingV2 { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === BasePathMappingV2.__pulumiType; + } + + /** + * The base path name that callers of the API must provide in the URL after the domain name. + */ + public readonly basePath!: pulumi.Output; + /** + * Amazon Resource Name (ARN) of the resource. + */ + public /*out*/ readonly basePathMappingArn!: pulumi.Output; + /** + * The Arn of an AWS::ApiGateway::DomainNameV2 resource. + */ + public readonly domainNameArn!: pulumi.Output; + /** + * The ID of the API. + */ + public readonly restApiId!: pulumi.Output; + /** + * The name of the API's stage. + */ + public readonly stage!: pulumi.Output; + + /** + * Create a BasePathMappingV2 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: BasePathMappingV2Args, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.domainNameArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'domainNameArn'"); + } + if ((!args || args.restApiId === undefined) && !opts.urn) { + throw new Error("Missing required property 'restApiId'"); + } + resourceInputs["basePath"] = args ? args.basePath : undefined; + resourceInputs["domainNameArn"] = args ? args.domainNameArn : undefined; + resourceInputs["restApiId"] = args ? args.restApiId : undefined; + resourceInputs["stage"] = args ? args.stage : undefined; + resourceInputs["basePathMappingArn"] = undefined /*out*/; + } else { + resourceInputs["basePath"] = undefined /*out*/; + resourceInputs["basePathMappingArn"] = undefined /*out*/; + resourceInputs["domainNameArn"] = undefined /*out*/; + resourceInputs["restApiId"] = undefined /*out*/; + resourceInputs["stage"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["basePath", "domainNameArn"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(BasePathMappingV2.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a BasePathMappingV2 resource. + */ +export interface BasePathMappingV2Args { + /** + * The base path name that callers of the API must provide in the URL after the domain name. + */ + basePath?: pulumi.Input; + /** + * The Arn of an AWS::ApiGateway::DomainNameV2 resource. + */ + domainNameArn: pulumi.Input; + /** + * The ID of the API. + */ + restApiId: pulumi.Input; + /** + * The name of the API's stage. + */ + stage?: pulumi.Input; +} diff --git a/sdk/nodejs/apigateway/domainNameAccessAssociation.ts b/sdk/nodejs/apigateway/domainNameAccessAssociation.ts new file mode 100644 index 0000000000..e3a1f2d4b3 --- /dev/null +++ b/sdk/nodejs/apigateway/domainNameAccessAssociation.ts @@ -0,0 +1,120 @@ +// *** 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::ApiGateway::DomainNameAccessAssociation. + */ +export class DomainNameAccessAssociation extends pulumi.CustomResource { + /** + * Get an existing DomainNameAccessAssociation 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): DomainNameAccessAssociation { + return new DomainNameAccessAssociation(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:apigateway:DomainNameAccessAssociation'; + + /** + * Returns true if the given object is an instance of DomainNameAccessAssociation. 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 DomainNameAccessAssociation { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DomainNameAccessAssociation.__pulumiType; + } + + /** + * The source of the domain name access association resource. + */ + public readonly accessAssociationSource!: pulumi.Output; + /** + * The source type of the domain name access association resource. + */ + public readonly accessAssociationSourceType!: pulumi.Output; + /** + * The amazon resource name (ARN) of the domain name access association resource. + */ + public /*out*/ readonly domainNameAccessAssociationArn!: pulumi.Output; + /** + * The amazon resource name (ARN) of the domain name resource. + */ + public readonly domainNameArn!: pulumi.Output; + /** + * An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a DomainNameAccessAssociation 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: DomainNameAccessAssociationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.accessAssociationSource === undefined) && !opts.urn) { + throw new Error("Missing required property 'accessAssociationSource'"); + } + if ((!args || args.accessAssociationSourceType === undefined) && !opts.urn) { + throw new Error("Missing required property 'accessAssociationSourceType'"); + } + if ((!args || args.domainNameArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'domainNameArn'"); + } + resourceInputs["accessAssociationSource"] = args ? args.accessAssociationSource : undefined; + resourceInputs["accessAssociationSourceType"] = args ? args.accessAssociationSourceType : undefined; + resourceInputs["domainNameArn"] = args ? args.domainNameArn : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["domainNameAccessAssociationArn"] = undefined /*out*/; + } else { + resourceInputs["accessAssociationSource"] = undefined /*out*/; + resourceInputs["accessAssociationSourceType"] = undefined /*out*/; + resourceInputs["domainNameAccessAssociationArn"] = undefined /*out*/; + resourceInputs["domainNameArn"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["accessAssociationSource", "accessAssociationSourceType", "domainNameArn", "tags[*]"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(DomainNameAccessAssociation.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DomainNameAccessAssociation resource. + */ +export interface DomainNameAccessAssociationArgs { + /** + * The source of the domain name access association resource. + */ + accessAssociationSource: pulumi.Input; + /** + * The source type of the domain name access association resource. + */ + accessAssociationSourceType: pulumi.Input; + /** + * The amazon resource name (ARN) of the domain name resource. + */ + domainNameArn: pulumi.Input; + /** + * An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/apigateway/domainNameV2.ts b/sdk/nodejs/apigateway/domainNameV2.ts new file mode 100644 index 0000000000..6b18a26eaf --- /dev/null +++ b/sdk/nodejs/apigateway/domainNameV2.ts @@ -0,0 +1,114 @@ +// *** 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::ApiGateway::DomainNameV2. + */ +export class DomainNameV2 extends pulumi.CustomResource { + /** + * Get an existing DomainNameV2 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): DomainNameV2 { + return new DomainNameV2(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:apigateway:DomainNameV2'; + + /** + * Returns true if the given object is an instance of DomainNameV2. 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 DomainNameV2 { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DomainNameV2.__pulumiType; + } + + public readonly certificateArn!: pulumi.Output; + public readonly domainName!: pulumi.Output; + /** + * The amazon resource name (ARN) of the domain name resource. + */ + public /*out*/ readonly domainNameArn!: pulumi.Output; + public /*out*/ readonly domainNameId!: pulumi.Output; + public readonly endpointConfiguration!: pulumi.Output; + /** + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + */ + public readonly managementPolicy!: pulumi.Output; + /** + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + */ + public readonly policy!: pulumi.Output; + public readonly securityPolicy!: pulumi.Output; + public readonly tags!: pulumi.Output; + + /** + * Create a DomainNameV2 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?: DomainNameV2Args, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["certificateArn"] = args ? args.certificateArn : undefined; + resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["endpointConfiguration"] = args ? args.endpointConfiguration : undefined; + resourceInputs["managementPolicy"] = args ? args.managementPolicy : undefined; + resourceInputs["policy"] = args ? args.policy : undefined; + resourceInputs["securityPolicy"] = args ? args.securityPolicy : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["domainNameArn"] = undefined /*out*/; + resourceInputs["domainNameId"] = undefined /*out*/; + } else { + resourceInputs["certificateArn"] = undefined /*out*/; + resourceInputs["domainName"] = undefined /*out*/; + resourceInputs["domainNameArn"] = undefined /*out*/; + resourceInputs["domainNameId"] = undefined /*out*/; + resourceInputs["endpointConfiguration"] = undefined /*out*/; + resourceInputs["managementPolicy"] = undefined /*out*/; + resourceInputs["policy"] = undefined /*out*/; + resourceInputs["securityPolicy"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["domainName", "endpointConfiguration", "securityPolicy"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(DomainNameV2.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DomainNameV2 resource. + */ +export interface DomainNameV2Args { + certificateArn?: pulumi.Input; + domainName?: pulumi.Input; + endpointConfiguration?: pulumi.Input; + /** + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + */ + managementPolicy?: any; + /** + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + */ + policy?: any; + securityPolicy?: pulumi.Input; + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/apigateway/getBasePathMappingV2.ts b/sdk/nodejs/apigateway/getBasePathMappingV2.ts new file mode 100644 index 0000000000..8f6e90a3fa --- /dev/null +++ b/sdk/nodejs/apigateway/getBasePathMappingV2.ts @@ -0,0 +1,53 @@ +// *** 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::ApiGateway::BasePathMappingV2 + */ +export function getBasePathMappingV2(args: GetBasePathMappingV2Args, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:apigateway:getBasePathMappingV2", { + "basePathMappingArn": args.basePathMappingArn, + }, opts); +} + +export interface GetBasePathMappingV2Args { + /** + * Amazon Resource Name (ARN) of the resource. + */ + basePathMappingArn: string; +} + +export interface GetBasePathMappingV2Result { + /** + * Amazon Resource Name (ARN) of the resource. + */ + readonly basePathMappingArn?: string; + /** + * The ID of the API. + */ + readonly restApiId?: string; + /** + * The name of the API's stage. + */ + readonly stage?: string; +} +/** + * Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + */ +export function getBasePathMappingV2Output(args: GetBasePathMappingV2OutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:apigateway:getBasePathMappingV2", { + "basePathMappingArn": args.basePathMappingArn, + }, opts); +} + +export interface GetBasePathMappingV2OutputArgs { + /** + * Amazon Resource Name (ARN) of the resource. + */ + basePathMappingArn: pulumi.Input; +} diff --git a/sdk/nodejs/apigateway/getDomainNameAccessAssociation.ts b/sdk/nodejs/apigateway/getDomainNameAccessAssociation.ts new file mode 100644 index 0000000000..e150b77202 --- /dev/null +++ b/sdk/nodejs/apigateway/getDomainNameAccessAssociation.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"; + +/** + * Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + */ +export function getDomainNameAccessAssociation(args: GetDomainNameAccessAssociationArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:apigateway:getDomainNameAccessAssociation", { + "domainNameAccessAssociationArn": args.domainNameAccessAssociationArn, + }, opts); +} + +export interface GetDomainNameAccessAssociationArgs { + /** + * The amazon resource name (ARN) of the domain name access association resource. + */ + domainNameAccessAssociationArn: string; +} + +export interface GetDomainNameAccessAssociationResult { + /** + * The amazon resource name (ARN) of the domain name access association resource. + */ + readonly domainNameAccessAssociationArn?: string; +} +/** + * Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + */ +export function getDomainNameAccessAssociationOutput(args: GetDomainNameAccessAssociationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:apigateway:getDomainNameAccessAssociation", { + "domainNameAccessAssociationArn": args.domainNameAccessAssociationArn, + }, opts); +} + +export interface GetDomainNameAccessAssociationOutputArgs { + /** + * The amazon resource name (ARN) of the domain name access association resource. + */ + domainNameAccessAssociationArn: pulumi.Input; +} diff --git a/sdk/nodejs/apigateway/getDomainNameV2.ts b/sdk/nodejs/apigateway/getDomainNameV2.ts new file mode 100644 index 0000000000..dc2f93564a --- /dev/null +++ b/sdk/nodejs/apigateway/getDomainNameV2.ts @@ -0,0 +1,59 @@ +// *** 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::ApiGateway::DomainNameV2. + */ +export function getDomainNameV2(args: GetDomainNameV2Args, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:apigateway:getDomainNameV2", { + "domainNameArn": args.domainNameArn, + }, opts); +} + +export interface GetDomainNameV2Args { + /** + * The amazon resource name (ARN) of the domain name resource. + */ + domainNameArn: string; +} + +export interface GetDomainNameV2Result { + readonly certificateArn?: string; + /** + * The amazon resource name (ARN) of the domain name resource. + */ + readonly domainNameArn?: string; + readonly domainNameId?: string; + /** + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + */ + readonly managementPolicy?: any; + /** + * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + */ + readonly policy?: any; + readonly tags?: outputs.Tag[]; +} +/** + * Resource Type definition for AWS::ApiGateway::DomainNameV2. + */ +export function getDomainNameV2Output(args: GetDomainNameV2OutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:apigateway:getDomainNameV2", { + "domainNameArn": args.domainNameArn, + }, opts); +} + +export interface GetDomainNameV2OutputArgs { + /** + * The amazon resource name (ARN) of the domain name resource. + */ + domainNameArn: pulumi.Input; +} diff --git a/sdk/nodejs/apigateway/index.ts b/sdk/nodejs/apigateway/index.ts index 5de9fa2d87..705bb29e4b 100644 --- a/sdk/nodejs/apigateway/index.ts +++ b/sdk/nodejs/apigateway/index.ts @@ -25,6 +25,11 @@ export type BasePathMapping = import("./basePathMapping").BasePathMapping; export const BasePathMapping: typeof import("./basePathMapping").BasePathMapping = null as any; utilities.lazyLoad(exports, ["BasePathMapping"], () => require("./basePathMapping")); +export { BasePathMappingV2Args } from "./basePathMappingV2"; +export type BasePathMappingV2 = import("./basePathMappingV2").BasePathMappingV2; +export const BasePathMappingV2: typeof import("./basePathMappingV2").BasePathMappingV2 = null as any; +utilities.lazyLoad(exports, ["BasePathMappingV2"], () => require("./basePathMappingV2")); + export { ClientCertificateArgs } from "./clientCertificate"; export type ClientCertificate = import("./clientCertificate").ClientCertificate; export const ClientCertificate: typeof import("./clientCertificate").ClientCertificate = null as any; @@ -50,6 +55,16 @@ export type DomainName = import("./domainName").DomainName; export const DomainName: typeof import("./domainName").DomainName = null as any; utilities.lazyLoad(exports, ["DomainName"], () => require("./domainName")); +export { DomainNameAccessAssociationArgs } from "./domainNameAccessAssociation"; +export type DomainNameAccessAssociation = import("./domainNameAccessAssociation").DomainNameAccessAssociation; +export const DomainNameAccessAssociation: typeof import("./domainNameAccessAssociation").DomainNameAccessAssociation = null as any; +utilities.lazyLoad(exports, ["DomainNameAccessAssociation"], () => require("./domainNameAccessAssociation")); + +export { DomainNameV2Args } from "./domainNameV2"; +export type DomainNameV2 = import("./domainNameV2").DomainNameV2; +export const DomainNameV2: typeof import("./domainNameV2").DomainNameV2 = null as any; +utilities.lazyLoad(exports, ["DomainNameV2"], () => require("./domainNameV2")); + export { GatewayResponseArgs } from "./gatewayResponse"; export type GatewayResponse = import("./gatewayResponse").GatewayResponse; export const GatewayResponse: typeof import("./gatewayResponse").GatewayResponse = null as any; @@ -75,6 +90,11 @@ export const getBasePathMapping: typeof import("./getBasePathMapping").getBasePa export const getBasePathMappingOutput: typeof import("./getBasePathMapping").getBasePathMappingOutput = null as any; utilities.lazyLoad(exports, ["getBasePathMapping","getBasePathMappingOutput"], () => require("./getBasePathMapping")); +export { GetBasePathMappingV2Args, GetBasePathMappingV2Result, GetBasePathMappingV2OutputArgs } from "./getBasePathMappingV2"; +export const getBasePathMappingV2: typeof import("./getBasePathMappingV2").getBasePathMappingV2 = null as any; +export const getBasePathMappingV2Output: typeof import("./getBasePathMappingV2").getBasePathMappingV2Output = null as any; +utilities.lazyLoad(exports, ["getBasePathMappingV2","getBasePathMappingV2Output"], () => require("./getBasePathMappingV2")); + export { GetClientCertificateArgs, GetClientCertificateResult, GetClientCertificateOutputArgs } from "./getClientCertificate"; export const getClientCertificate: typeof import("./getClientCertificate").getClientCertificate = null as any; export const getClientCertificateOutput: typeof import("./getClientCertificate").getClientCertificateOutput = null as any; @@ -100,6 +120,16 @@ export const getDomainName: typeof import("./getDomainName").getDomainName = nul export const getDomainNameOutput: typeof import("./getDomainName").getDomainNameOutput = null as any; utilities.lazyLoad(exports, ["getDomainName","getDomainNameOutput"], () => require("./getDomainName")); +export { GetDomainNameAccessAssociationArgs, GetDomainNameAccessAssociationResult, GetDomainNameAccessAssociationOutputArgs } from "./getDomainNameAccessAssociation"; +export const getDomainNameAccessAssociation: typeof import("./getDomainNameAccessAssociation").getDomainNameAccessAssociation = null as any; +export const getDomainNameAccessAssociationOutput: typeof import("./getDomainNameAccessAssociation").getDomainNameAccessAssociationOutput = null as any; +utilities.lazyLoad(exports, ["getDomainNameAccessAssociation","getDomainNameAccessAssociationOutput"], () => require("./getDomainNameAccessAssociation")); + +export { GetDomainNameV2Args, GetDomainNameV2Result, GetDomainNameV2OutputArgs } from "./getDomainNameV2"; +export const getDomainNameV2: typeof import("./getDomainNameV2").getDomainNameV2 = null as any; +export const getDomainNameV2Output: typeof import("./getDomainNameV2").getDomainNameV2Output = null as any; +utilities.lazyLoad(exports, ["getDomainNameV2","getDomainNameV2Output"], () => require("./getDomainNameV2")); + export { GetGatewayResponseArgs, GetGatewayResponseResult, GetGatewayResponseOutputArgs } from "./getGatewayResponse"; export const getGatewayResponse: typeof import("./getGatewayResponse").getGatewayResponse = null as any; export const getGatewayResponseOutput: typeof import("./getGatewayResponse").getGatewayResponseOutput = null as any; @@ -211,6 +241,8 @@ const _module = { return new Authorizer(name, undefined, { urn }) case "aws-native:apigateway:BasePathMapping": return new BasePathMapping(name, undefined, { urn }) + case "aws-native:apigateway:BasePathMappingV2": + return new BasePathMappingV2(name, undefined, { urn }) case "aws-native:apigateway:ClientCertificate": return new ClientCertificate(name, undefined, { urn }) case "aws-native:apigateway:Deployment": @@ -221,6 +253,10 @@ const _module = { return new DocumentationVersion(name, undefined, { urn }) case "aws-native:apigateway:DomainName": return new DomainName(name, undefined, { urn }) + case "aws-native:apigateway:DomainNameAccessAssociation": + return new DomainNameAccessAssociation(name, undefined, { urn }) + case "aws-native:apigateway:DomainNameV2": + return new DomainNameV2(name, undefined, { urn }) case "aws-native:apigateway:GatewayResponse": return new GatewayResponse(name, undefined, { urn }) case "aws-native:apigateway:Method": diff --git a/sdk/nodejs/cloudformation/getGuardHook.ts b/sdk/nodejs/cloudformation/getGuardHook.ts index c901ae3401..e5198c2ad0 100644 --- a/sdk/nodejs/cloudformation/getGuardHook.ts +++ b/sdk/nodejs/cloudformation/getGuardHook.ts @@ -41,7 +41,13 @@ export interface GetGuardHookResult { * S3 Bucket where the guard validate report will be uploaded to */ readonly logBucket?: string; + /** + * Specifies the S3 location of your input parameters. + */ readonly options?: outputs.cloudformation.OptionsProperties; + /** + * Specifies the S3 location of your Guard rules. + */ readonly ruleLocation?: outputs.cloudformation.GuardHookS3Location; /** * Filters to allow hooks to target specific stack attributes diff --git a/sdk/nodejs/cloudformation/guardHook.ts b/sdk/nodejs/cloudformation/guardHook.ts index 76688d7d70..ab695167c9 100644 --- a/sdk/nodejs/cloudformation/guardHook.ts +++ b/sdk/nodejs/cloudformation/guardHook.ts @@ -61,7 +61,13 @@ export class GuardHook extends pulumi.CustomResource { * S3 Bucket where the guard validate report will be uploaded to */ public readonly logBucket!: pulumi.Output; + /** + * Specifies the S3 location of your input parameters. + */ public readonly options!: pulumi.Output; + /** + * Specifies the S3 location of your Guard rules. + */ public readonly ruleLocation!: pulumi.Output; /** * Filters to allow hooks to target specific stack attributes @@ -160,7 +166,13 @@ export interface GuardHookArgs { * S3 Bucket where the guard validate report will be uploaded to */ logBucket?: pulumi.Input; + /** + * Specifies the S3 location of your input parameters. + */ options?: pulumi.Input; + /** + * Specifies the S3 location of your Guard rules. + */ ruleLocation: pulumi.Input; /** * Filters to allow hooks to target specific stack attributes diff --git a/sdk/nodejs/connect/emailAddress.ts b/sdk/nodejs/connect/emailAddress.ts new file mode 100644 index 0000000000..c1ef3da0fc --- /dev/null +++ b/sdk/nodejs/connect/emailAddress.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 Type definition for AWS::Connect::EmailAddress + */ +export class EmailAddress extends pulumi.CustomResource { + /** + * Get an existing EmailAddress 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): EmailAddress { + return new EmailAddress(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:connect:EmailAddress'; + + /** + * Returns true if the given object is an instance of EmailAddress. 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 EmailAddress { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EmailAddress.__pulumiType; + } + + /** + * A description for the email address. + */ + public readonly description!: pulumi.Output; + /** + * The display name for the email address. + */ + public readonly displayName!: pulumi.Output; + /** + * Email address to be created for this instance + */ + public readonly emailAddress!: pulumi.Output; + /** + * The identifier of the email address. + */ + public /*out*/ readonly emailAddressArn!: pulumi.Output; + /** + * The identifier of the Amazon Connect instance. + */ + public readonly instanceArn!: pulumi.Output; + /** + * One or more tags. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a EmailAddress 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: EmailAddressArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.emailAddress === undefined) && !opts.urn) { + throw new Error("Missing required property 'emailAddress'"); + } + if ((!args || args.instanceArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceArn'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["emailAddress"] = args ? args.emailAddress : undefined; + resourceInputs["instanceArn"] = args ? args.instanceArn : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["emailAddressArn"] = undefined /*out*/; + } else { + resourceInputs["description"] = undefined /*out*/; + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["emailAddress"] = undefined /*out*/; + resourceInputs["emailAddressArn"] = undefined /*out*/; + resourceInputs["instanceArn"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["emailAddress"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(EmailAddress.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a EmailAddress resource. + */ +export interface EmailAddressArgs { + /** + * A description for the email address. + */ + description?: pulumi.Input; + /** + * The display name for the email address. + */ + displayName?: pulumi.Input; + /** + * Email address to be created for this instance + */ + emailAddress: pulumi.Input; + /** + * The identifier of the Amazon Connect instance. + */ + instanceArn: pulumi.Input; + /** + * One or more tags. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/connect/getEmailAddress.ts b/sdk/nodejs/connect/getEmailAddress.ts new file mode 100644 index 0000000000..369d35ee02 --- /dev/null +++ b/sdk/nodejs/connect/getEmailAddress.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"; + +/** + * Resource Type definition for AWS::Connect::EmailAddress + */ +export function getEmailAddress(args: GetEmailAddressArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:connect:getEmailAddress", { + "emailAddressArn": args.emailAddressArn, + }, opts); +} + +export interface GetEmailAddressArgs { + /** + * The identifier of the email address. + */ + emailAddressArn: string; +} + +export interface GetEmailAddressResult { + /** + * A description for the email address. + */ + readonly description?: string; + /** + * The display name for the email address. + */ + readonly displayName?: string; + /** + * The identifier of the email address. + */ + readonly emailAddressArn?: string; + /** + * The identifier of the Amazon Connect instance. + */ + readonly instanceArn?: string; + /** + * One or more tags. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Resource Type definition for AWS::Connect::EmailAddress + */ +export function getEmailAddressOutput(args: GetEmailAddressOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:connect:getEmailAddress", { + "emailAddressArn": args.emailAddressArn, + }, opts); +} + +export interface GetEmailAddressOutputArgs { + /** + * The identifier of the email address. + */ + emailAddressArn: pulumi.Input; +} diff --git a/sdk/nodejs/connect/getHoursOfOperation.ts b/sdk/nodejs/connect/getHoursOfOperation.ts index c8c4efcad4..b473eedcb5 100644 --- a/sdk/nodejs/connect/getHoursOfOperation.ts +++ b/sdk/nodejs/connect/getHoursOfOperation.ts @@ -37,6 +37,10 @@ export interface GetHoursOfOperationResult { * The Amazon Resource Name (ARN) for the hours of operation. */ readonly hoursOfOperationArn?: string; + /** + * One or more hours of operation overrides assigned to an hour of operation. + */ + readonly hoursOfOperationOverrides?: outputs.connect.HoursOfOperationOverride[]; /** * The identifier of the Amazon Connect instance. */ diff --git a/sdk/nodejs/connect/hoursOfOperation.ts b/sdk/nodejs/connect/hoursOfOperation.ts index 1dcf65a1c7..aaf1697e2b 100644 --- a/sdk/nodejs/connect/hoursOfOperation.ts +++ b/sdk/nodejs/connect/hoursOfOperation.ts @@ -80,6 +80,10 @@ export class HoursOfOperation extends pulumi.CustomResource { * The Amazon Resource Name (ARN) for the hours of operation. */ public /*out*/ readonly hoursOfOperationArn!: pulumi.Output; + /** + * One or more hours of operation overrides assigned to an hour of operation. + */ + public readonly hoursOfOperationOverrides!: pulumi.Output; /** * The identifier of the Amazon Connect instance. */ @@ -119,6 +123,7 @@ export class HoursOfOperation extends pulumi.CustomResource { } resourceInputs["config"] = args ? args.config : undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["hoursOfOperationOverrides"] = args ? args.hoursOfOperationOverrides : undefined; resourceInputs["instanceArn"] = args ? args.instanceArn : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -128,6 +133,7 @@ export class HoursOfOperation extends pulumi.CustomResource { resourceInputs["config"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; resourceInputs["hoursOfOperationArn"] = undefined /*out*/; + resourceInputs["hoursOfOperationOverrides"] = undefined /*out*/; resourceInputs["instanceArn"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; @@ -150,6 +156,10 @@ export interface HoursOfOperationArgs { * The description of the hours of operation. */ description?: pulumi.Input; + /** + * One or more hours of operation overrides assigned to an hour of operation. + */ + hoursOfOperationOverrides?: pulumi.Input[]>; /** * The identifier of the Amazon Connect instance. */ diff --git a/sdk/nodejs/connect/index.ts b/sdk/nodejs/connect/index.ts index 310b66f3f1..c9b8cc3f06 100644 --- a/sdk/nodejs/connect/index.ts +++ b/sdk/nodejs/connect/index.ts @@ -25,6 +25,11 @@ export type ContactFlowModule = import("./contactFlowModule").ContactFlowModule; export const ContactFlowModule: typeof import("./contactFlowModule").ContactFlowModule = null as any; utilities.lazyLoad(exports, ["ContactFlowModule"], () => require("./contactFlowModule")); +export { EmailAddressArgs } from "./emailAddress"; +export type EmailAddress = import("./emailAddress").EmailAddress; +export const EmailAddress: typeof import("./emailAddress").EmailAddress = null as any; +utilities.lazyLoad(exports, ["EmailAddress"], () => require("./emailAddress")); + export { EvaluationFormArgs } from "./evaluationForm"; export type EvaluationForm = import("./evaluationForm").EvaluationForm; export const EvaluationForm: typeof import("./evaluationForm").EvaluationForm = null as any; @@ -45,6 +50,11 @@ export const getContactFlowModule: typeof import("./getContactFlowModule").getCo export const getContactFlowModuleOutput: typeof import("./getContactFlowModule").getContactFlowModuleOutput = null as any; utilities.lazyLoad(exports, ["getContactFlowModule","getContactFlowModuleOutput"], () => require("./getContactFlowModule")); +export { GetEmailAddressArgs, GetEmailAddressResult, GetEmailAddressOutputArgs } from "./getEmailAddress"; +export const getEmailAddress: typeof import("./getEmailAddress").getEmailAddress = null as any; +export const getEmailAddressOutput: typeof import("./getEmailAddress").getEmailAddressOutput = null as any; +utilities.lazyLoad(exports, ["getEmailAddress","getEmailAddressOutput"], () => require("./getEmailAddress")); + export { GetEvaluationFormArgs, GetEvaluationFormResult, GetEvaluationFormOutputArgs } from "./getEvaluationForm"; export const getEvaluationForm: typeof import("./getEvaluationForm").getEvaluationForm = null as any; export const getEvaluationFormOutput: typeof import("./getEvaluationForm").getEvaluationFormOutput = null as any; @@ -266,6 +276,8 @@ const _module = { return new ContactFlow(name, undefined, { urn }) case "aws-native:connect:ContactFlowModule": return new ContactFlowModule(name, undefined, { urn }) + case "aws-native:connect:EmailAddress": + return new EmailAddress(name, undefined, { urn }) case "aws-native:connect:EvaluationForm": return new EvaluationForm(name, undefined, { urn }) case "aws-native:connect:HoursOfOperation": diff --git a/sdk/nodejs/customerprofiles/getIntegration.ts b/sdk/nodejs/customerprofiles/getIntegration.ts index a48ba138ba..ea357ea2f0 100644 --- a/sdk/nodejs/customerprofiles/getIntegration.ts +++ b/sdk/nodejs/customerprofiles/getIntegration.ts @@ -34,6 +34,10 @@ export interface GetIntegrationResult { * The time of this integration got created */ readonly createdAt?: string; + /** + * A list of unique names for active event triggers associated with the integration. + */ + readonly eventTriggerNames?: string[]; /** * The time of this integration got last updated at */ diff --git a/sdk/nodejs/customerprofiles/getSegmentDefinition.ts b/sdk/nodejs/customerprofiles/getSegmentDefinition.ts new file mode 100644 index 0000000000..b6cbbfc9b0 --- /dev/null +++ b/sdk/nodejs/customerprofiles/getSegmentDefinition.ts @@ -0,0 +1,70 @@ +// *** 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"; + +/** + * A segment definition resource of Amazon Connect Customer Profiles + */ +export function getSegmentDefinition(args: GetSegmentDefinitionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:customerprofiles:getSegmentDefinition", { + "domainName": args.domainName, + "segmentDefinitionName": args.segmentDefinitionName, + }, opts); +} + +export interface GetSegmentDefinitionArgs { + /** + * The unique name of the domain. + */ + domainName: string; + /** + * The unique name of the segment definition. + */ + segmentDefinitionName: string; +} + +export interface GetSegmentDefinitionResult { + /** + * The time of this segment definition got created. + */ + readonly createdAt?: string; + /** + * The description of the segment definition. + */ + readonly description?: string; + /** + * The Amazon Resource Name (ARN) of the segment definition. + */ + readonly segmentDefinitionArn?: string; + /** + * The tags used to organize, track, or control access for this resource. + */ + readonly tags?: outputs.Tag[]; +} +/** + * A segment definition resource of Amazon Connect Customer Profiles + */ +export function getSegmentDefinitionOutput(args: GetSegmentDefinitionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:customerprofiles:getSegmentDefinition", { + "domainName": args.domainName, + "segmentDefinitionName": args.segmentDefinitionName, + }, opts); +} + +export interface GetSegmentDefinitionOutputArgs { + /** + * The unique name of the domain. + */ + domainName: pulumi.Input; + /** + * The unique name of the segment definition. + */ + segmentDefinitionName: pulumi.Input; +} diff --git a/sdk/nodejs/customerprofiles/index.ts b/sdk/nodejs/customerprofiles/index.ts index f233b3617e..8931d61584 100644 --- a/sdk/nodejs/customerprofiles/index.ts +++ b/sdk/nodejs/customerprofiles/index.ts @@ -45,6 +45,11 @@ export const getObjectType: typeof import("./getObjectType").getObjectType = nul export const getObjectTypeOutput: typeof import("./getObjectType").getObjectTypeOutput = null as any; utilities.lazyLoad(exports, ["getObjectType","getObjectTypeOutput"], () => require("./getObjectType")); +export { GetSegmentDefinitionArgs, GetSegmentDefinitionResult, GetSegmentDefinitionOutputArgs } from "./getSegmentDefinition"; +export const getSegmentDefinition: typeof import("./getSegmentDefinition").getSegmentDefinition = null as any; +export const getSegmentDefinitionOutput: typeof import("./getSegmentDefinition").getSegmentDefinitionOutput = null as any; +utilities.lazyLoad(exports, ["getSegmentDefinition","getSegmentDefinitionOutput"], () => require("./getSegmentDefinition")); + export { IntegrationArgs } from "./integration"; export type Integration = import("./integration").Integration; export const Integration: typeof import("./integration").Integration = null as any; @@ -55,6 +60,11 @@ export type ObjectType = import("./objectType").ObjectType; export const ObjectType: typeof import("./objectType").ObjectType = null as any; utilities.lazyLoad(exports, ["ObjectType"], () => require("./objectType")); +export { SegmentDefinitionArgs } from "./segmentDefinition"; +export type SegmentDefinition = import("./segmentDefinition").SegmentDefinition; +export const SegmentDefinition: typeof import("./segmentDefinition").SegmentDefinition = null as any; +utilities.lazyLoad(exports, ["SegmentDefinition"], () => require("./segmentDefinition")); + // Export enums: export * from "../types/enums/customerprofiles"; @@ -73,6 +83,8 @@ const _module = { return new Integration(name, undefined, { urn }) case "aws-native:customerprofiles:ObjectType": return new ObjectType(name, undefined, { urn }) + case "aws-native:customerprofiles:SegmentDefinition": + return new SegmentDefinition(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } diff --git a/sdk/nodejs/customerprofiles/integration.ts b/sdk/nodejs/customerprofiles/integration.ts index cee0b344dd..82870a1adf 100644 --- a/sdk/nodejs/customerprofiles/integration.ts +++ b/sdk/nodejs/customerprofiles/integration.ts @@ -45,6 +45,10 @@ export class Integration extends pulumi.CustomResource { * The unique name of the domain. */ public readonly domainName!: pulumi.Output; + /** + * A list of unique names for active event triggers associated with the integration. + */ + public readonly eventTriggerNames!: pulumi.Output; /** * The configuration that controls how Customer Profiles retrieves data from the source. */ @@ -85,6 +89,7 @@ export class Integration extends pulumi.CustomResource { throw new Error("Missing required property 'domainName'"); } resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["eventTriggerNames"] = args ? args.eventTriggerNames : undefined; resourceInputs["flowDefinition"] = args ? args.flowDefinition : undefined; resourceInputs["objectTypeName"] = args ? args.objectTypeName : undefined; resourceInputs["objectTypeNames"] = args ? args.objectTypeNames : undefined; @@ -95,6 +100,7 @@ export class Integration extends pulumi.CustomResource { } else { resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["domainName"] = undefined /*out*/; + resourceInputs["eventTriggerNames"] = undefined /*out*/; resourceInputs["flowDefinition"] = undefined /*out*/; resourceInputs["lastUpdatedAt"] = undefined /*out*/; resourceInputs["objectTypeName"] = undefined /*out*/; @@ -117,6 +123,10 @@ export interface IntegrationArgs { * The unique name of the domain. */ domainName: pulumi.Input; + /** + * A list of unique names for active event triggers associated with the integration. + */ + eventTriggerNames?: pulumi.Input[]>; /** * The configuration that controls how Customer Profiles retrieves data from the source. */ diff --git a/sdk/nodejs/customerprofiles/segmentDefinition.ts b/sdk/nodejs/customerprofiles/segmentDefinition.ts new file mode 100644 index 0000000000..a8f2673ef9 --- /dev/null +++ b/sdk/nodejs/customerprofiles/segmentDefinition.ts @@ -0,0 +1,146 @@ +// *** 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"; + +/** + * A segment definition resource of Amazon Connect Customer Profiles + */ +export class SegmentDefinition extends pulumi.CustomResource { + /** + * Get an existing SegmentDefinition 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): SegmentDefinition { + return new SegmentDefinition(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:customerprofiles:SegmentDefinition'; + + /** + * Returns true if the given object is an instance of SegmentDefinition. 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 SegmentDefinition { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SegmentDefinition.__pulumiType; + } + + /** + * The time of this segment definition got created. + */ + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * The description of the segment definition. + */ + public readonly description!: pulumi.Output; + /** + * The display name of the segment definition. + */ + public readonly displayName!: pulumi.Output; + /** + * The unique name of the domain. + */ + public readonly domainName!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the segment definition. + */ + public /*out*/ readonly segmentDefinitionArn!: pulumi.Output; + /** + * The unique name of the segment definition. + */ + public readonly segmentDefinitionName!: pulumi.Output; + /** + * An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + */ + public readonly segmentGroups!: pulumi.Output; + /** + * The tags used to organize, track, or control access for this resource. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a SegmentDefinition 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: SegmentDefinitionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.displayName === undefined) && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if ((!args || args.domainName === undefined) && !opts.urn) { + throw new Error("Missing required property 'domainName'"); + } + if ((!args || args.segmentGroups === undefined) && !opts.urn) { + throw new Error("Missing required property 'segmentGroups'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["domainName"] = args ? args.domainName : undefined; + resourceInputs["segmentDefinitionName"] = args ? args.segmentDefinitionName : undefined; + resourceInputs["segmentGroups"] = args ? args.segmentGroups : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["segmentDefinitionArn"] = undefined /*out*/; + } else { + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["domainName"] = undefined /*out*/; + resourceInputs["segmentDefinitionArn"] = undefined /*out*/; + resourceInputs["segmentDefinitionName"] = undefined /*out*/; + resourceInputs["segmentGroups"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["displayName", "domainName", "segmentDefinitionName", "segmentGroups"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(SegmentDefinition.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a SegmentDefinition resource. + */ +export interface SegmentDefinitionArgs { + /** + * The description of the segment definition. + */ + description?: pulumi.Input; + /** + * The display name of the segment definition. + */ + displayName: pulumi.Input; + /** + * The unique name of the domain. + */ + domainName: pulumi.Input; + /** + * The unique name of the segment definition. + */ + segmentDefinitionName?: pulumi.Input; + /** + * An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + */ + segmentGroups: pulumi.Input; + /** + * The tags used to organize, track, or control access for this resource. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/ec2/getVpcBlockPublicAccessExclusion.ts b/sdk/nodejs/ec2/getVpcBlockPublicAccessExclusion.ts new file mode 100644 index 0000000000..fbff37bc14 --- /dev/null +++ b/sdk/nodejs/ec2/getVpcBlockPublicAccessExclusion.ts @@ -0,0 +1,56 @@ +// *** 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::EC2::VPCBlockPublicAccessExclusion. + */ +export function getVpcBlockPublicAccessExclusion(args: GetVpcBlockPublicAccessExclusionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:ec2:getVpcBlockPublicAccessExclusion", { + "exclusionId": args.exclusionId, + }, opts); +} + +export interface GetVpcBlockPublicAccessExclusionArgs { + /** + * The ID of the exclusion + */ + exclusionId: string; +} + +export interface GetVpcBlockPublicAccessExclusionResult { + /** + * The ID of the exclusion + */ + readonly exclusionId?: string; + /** + * The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + */ + readonly internetGatewayExclusionMode?: enums.ec2.VpcBlockPublicAccessExclusionInternetGatewayExclusionMode; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.Tag[]; +} +/** + * Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + */ +export function getVpcBlockPublicAccessExclusionOutput(args: GetVpcBlockPublicAccessExclusionOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:ec2:getVpcBlockPublicAccessExclusion", { + "exclusionId": args.exclusionId, + }, opts); +} + +export interface GetVpcBlockPublicAccessExclusionOutputArgs { + /** + * The ID of the exclusion + */ + exclusionId: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/getVpcBlockPublicAccessOptions.ts b/sdk/nodejs/ec2/getVpcBlockPublicAccessOptions.ts new file mode 100644 index 0000000000..a553f6a2db --- /dev/null +++ b/sdk/nodejs/ec2/getVpcBlockPublicAccessOptions.ts @@ -0,0 +1,52 @@ +// *** 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::EC2::VPCBlockPublicAccessOptions + */ +export function getVpcBlockPublicAccessOptions(args: GetVpcBlockPublicAccessOptionsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:ec2:getVpcBlockPublicAccessOptions", { + "accountId": args.accountId, + }, opts); +} + +export interface GetVpcBlockPublicAccessOptionsArgs { + /** + * The identifier for the specified AWS account. + */ + accountId: string; +} + +export interface GetVpcBlockPublicAccessOptionsResult { + /** + * The identifier for the specified AWS account. + */ + readonly accountId?: string; + /** + * The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + */ + readonly internetGatewayBlockMode?: enums.ec2.VpcBlockPublicAccessOptionsInternetGatewayBlockMode; +} +/** + * Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + */ +export function getVpcBlockPublicAccessOptionsOutput(args: GetVpcBlockPublicAccessOptionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:ec2:getVpcBlockPublicAccessOptions", { + "accountId": args.accountId, + }, opts); +} + +export interface GetVpcBlockPublicAccessOptionsOutputArgs { + /** + * The identifier for the specified AWS account. + */ + accountId: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/index.ts b/sdk/nodejs/ec2/index.ts index cef6b71019..3268f826b4 100644 --- a/sdk/nodejs/ec2/index.ts +++ b/sdk/nodejs/ec2/index.ts @@ -400,6 +400,16 @@ export const getVpc: typeof import("./getVpc").getVpc = null as any; export const getVpcOutput: typeof import("./getVpc").getVpcOutput = null as any; utilities.lazyLoad(exports, ["getVpc","getVpcOutput"], () => require("./getVpc")); +export { GetVpcBlockPublicAccessExclusionArgs, GetVpcBlockPublicAccessExclusionResult, GetVpcBlockPublicAccessExclusionOutputArgs } from "./getVpcBlockPublicAccessExclusion"; +export const getVpcBlockPublicAccessExclusion: typeof import("./getVpcBlockPublicAccessExclusion").getVpcBlockPublicAccessExclusion = null as any; +export const getVpcBlockPublicAccessExclusionOutput: typeof import("./getVpcBlockPublicAccessExclusion").getVpcBlockPublicAccessExclusionOutput = null as any; +utilities.lazyLoad(exports, ["getVpcBlockPublicAccessExclusion","getVpcBlockPublicAccessExclusionOutput"], () => require("./getVpcBlockPublicAccessExclusion")); + +export { GetVpcBlockPublicAccessOptionsArgs, GetVpcBlockPublicAccessOptionsResult, GetVpcBlockPublicAccessOptionsOutputArgs } from "./getVpcBlockPublicAccessOptions"; +export const getVpcBlockPublicAccessOptions: typeof import("./getVpcBlockPublicAccessOptions").getVpcBlockPublicAccessOptions = null as any; +export const getVpcBlockPublicAccessOptionsOutput: typeof import("./getVpcBlockPublicAccessOptions").getVpcBlockPublicAccessOptionsOutput = null as any; +utilities.lazyLoad(exports, ["getVpcBlockPublicAccessOptions","getVpcBlockPublicAccessOptionsOutput"], () => require("./getVpcBlockPublicAccessOptions")); + export { GetVpcCidrBlockArgs, GetVpcCidrBlockResult, GetVpcCidrBlockOutputArgs } from "./getVpcCidrBlock"; export const getVpcCidrBlock: typeof import("./getVpcCidrBlock").getVpcCidrBlock = null as any; export const getVpcCidrBlockOutput: typeof import("./getVpcCidrBlock").getVpcCidrBlockOutput = null as any; @@ -745,6 +755,16 @@ export type Vpc = import("./vpc").Vpc; export const Vpc: typeof import("./vpc").Vpc = null as any; utilities.lazyLoad(exports, ["Vpc"], () => require("./vpc")); +export { VpcBlockPublicAccessExclusionArgs } from "./vpcBlockPublicAccessExclusion"; +export type VpcBlockPublicAccessExclusion = import("./vpcBlockPublicAccessExclusion").VpcBlockPublicAccessExclusion; +export const VpcBlockPublicAccessExclusion: typeof import("./vpcBlockPublicAccessExclusion").VpcBlockPublicAccessExclusion = null as any; +utilities.lazyLoad(exports, ["VpcBlockPublicAccessExclusion"], () => require("./vpcBlockPublicAccessExclusion")); + +export { VpcBlockPublicAccessOptionsArgs } from "./vpcBlockPublicAccessOptions"; +export type VpcBlockPublicAccessOptions = import("./vpcBlockPublicAccessOptions").VpcBlockPublicAccessOptions; +export const VpcBlockPublicAccessOptions: typeof import("./vpcBlockPublicAccessOptions").VpcBlockPublicAccessOptions = null as any; +utilities.lazyLoad(exports, ["VpcBlockPublicAccessOptions"], () => require("./vpcBlockPublicAccessOptions")); + export { VpcCidrBlockArgs } from "./vpcCidrBlock"; export type VpcCidrBlock = import("./vpcCidrBlock").VpcCidrBlock; export const VpcCidrBlock: typeof import("./vpcCidrBlock").VpcCidrBlock = null as any; @@ -952,6 +972,10 @@ const _module = { return new VolumeAttachment(name, undefined, { urn }) case "aws-native:ec2:Vpc": return new Vpc(name, undefined, { urn }) + case "aws-native:ec2:VpcBlockPublicAccessExclusion": + return new VpcBlockPublicAccessExclusion(name, undefined, { urn }) + case "aws-native:ec2:VpcBlockPublicAccessOptions": + return new VpcBlockPublicAccessOptions(name, undefined, { urn }) case "aws-native:ec2:VpcCidrBlock": return new VpcCidrBlock(name, undefined, { urn }) case "aws-native:ec2:VpcEndpoint": diff --git a/sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts b/sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts new file mode 100644 index 0000000000..627e829d82 --- /dev/null +++ b/sdk/nodejs/ec2/vpcBlockPublicAccessExclusion.ts @@ -0,0 +1,114 @@ +// *** 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::EC2::VPCBlockPublicAccessExclusion. + */ +export class VpcBlockPublicAccessExclusion extends pulumi.CustomResource { + /** + * Get an existing VpcBlockPublicAccessExclusion 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): VpcBlockPublicAccessExclusion { + return new VpcBlockPublicAccessExclusion(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:ec2:VpcBlockPublicAccessExclusion'; + + /** + * Returns true if the given object is an instance of VpcBlockPublicAccessExclusion. 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 VpcBlockPublicAccessExclusion { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcBlockPublicAccessExclusion.__pulumiType; + } + + /** + * The ID of the exclusion + */ + public /*out*/ readonly exclusionId!: pulumi.Output; + /** + * The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + */ + public readonly internetGatewayExclusionMode!: pulumi.Output; + /** + * The ID of the subnet. Required only if you don't specify VpcId + */ + public readonly subnetId!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; + /** + * The ID of the vpc. Required only if you don't specify SubnetId. + */ + public readonly vpcId!: pulumi.Output; + + /** + * Create a VpcBlockPublicAccessExclusion 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: VpcBlockPublicAccessExclusionArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.internetGatewayExclusionMode === undefined) && !opts.urn) { + throw new Error("Missing required property 'internetGatewayExclusionMode'"); + } + resourceInputs["internetGatewayExclusionMode"] = args ? args.internetGatewayExclusionMode : undefined; + resourceInputs["subnetId"] = args ? args.subnetId : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["vpcId"] = args ? args.vpcId : undefined; + resourceInputs["exclusionId"] = undefined /*out*/; + } else { + resourceInputs["exclusionId"] = undefined /*out*/; + resourceInputs["internetGatewayExclusionMode"] = undefined /*out*/; + resourceInputs["subnetId"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["vpcId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["subnetId", "vpcId"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(VpcBlockPublicAccessExclusion.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VpcBlockPublicAccessExclusion resource. + */ +export interface VpcBlockPublicAccessExclusionArgs { + /** + * The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + */ + internetGatewayExclusionMode: pulumi.Input; + /** + * The ID of the subnet. Required only if you don't specify VpcId + */ + subnetId?: pulumi.Input; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; + /** + * The ID of the vpc. Required only if you don't specify SubnetId. + */ + vpcId?: pulumi.Input; +} diff --git a/sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts b/sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts new file mode 100644 index 0000000000..0c543e86ba --- /dev/null +++ b/sdk/nodejs/ec2/vpcBlockPublicAccessOptions.ts @@ -0,0 +1,82 @@ +// *** 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::EC2::VPCBlockPublicAccessOptions + */ +export class VpcBlockPublicAccessOptions extends pulumi.CustomResource { + /** + * Get an existing VpcBlockPublicAccessOptions 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): VpcBlockPublicAccessOptions { + return new VpcBlockPublicAccessOptions(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:ec2:VpcBlockPublicAccessOptions'; + + /** + * Returns true if the given object is an instance of VpcBlockPublicAccessOptions. 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 VpcBlockPublicAccessOptions { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcBlockPublicAccessOptions.__pulumiType; + } + + /** + * The identifier for the specified AWS account. + */ + public /*out*/ readonly accountId!: pulumi.Output; + /** + * The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + */ + public readonly internetGatewayBlockMode!: pulumi.Output; + + /** + * Create a VpcBlockPublicAccessOptions 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: VpcBlockPublicAccessOptionsArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.internetGatewayBlockMode === undefined) && !opts.urn) { + throw new Error("Missing required property 'internetGatewayBlockMode'"); + } + resourceInputs["internetGatewayBlockMode"] = args ? args.internetGatewayBlockMode : undefined; + resourceInputs["accountId"] = undefined /*out*/; + } else { + resourceInputs["accountId"] = undefined /*out*/; + resourceInputs["internetGatewayBlockMode"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcBlockPublicAccessOptions.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a VpcBlockPublicAccessOptions resource. + */ +export interface VpcBlockPublicAccessOptionsArgs { + /** + * The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + */ + internetGatewayBlockMode: pulumi.Input; +} diff --git a/sdk/nodejs/iot/getThingType.ts b/sdk/nodejs/iot/getThingType.ts index 4087e8591e..4a527eeab4 100644 --- a/sdk/nodejs/iot/getThingType.ts +++ b/sdk/nodejs/iot/getThingType.ts @@ -43,6 +43,10 @@ export interface GetThingTypeResult { * An array of key-value pairs to apply to this resource. */ readonly tags?: outputs.Tag[]; + /** + * The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . + */ + readonly thingTypeProperties?: outputs.iot.ThingTypePropertiesProperties; } /** * Resource Type definition for AWS::IoT::ThingType diff --git a/sdk/nodejs/iot/thingType.ts b/sdk/nodejs/iot/thingType.ts index c5e9f8f37e..2cff61d8e6 100644 --- a/sdk/nodejs/iot/thingType.ts +++ b/sdk/nodejs/iot/thingType.ts @@ -90,7 +90,7 @@ export class ThingType extends pulumi.CustomResource { resourceInputs["thingTypeProperties"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["thingTypeName", "thingTypeProperties"] }; + const replaceOnChanges = { replaceOnChanges: ["thingTypeName"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(ThingType.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/iotsitewise/getPortal.ts b/sdk/nodejs/iotsitewise/getPortal.ts index 7284abf5cc..56d821c7bb 100644 --- a/sdk/nodejs/iotsitewise/getPortal.ts +++ b/sdk/nodejs/iotsitewise/getPortal.ts @@ -61,6 +61,7 @@ export interface GetPortalResult { * The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal. */ readonly portalStartUrl?: string; + readonly portalTypeConfiguration?: {[key: string]: outputs.iotsitewise.PortalTypeEntry}; /** * The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. */ diff --git a/sdk/nodejs/iotsitewise/portal.ts b/sdk/nodejs/iotsitewise/portal.ts index 4679489f0f..e32cdc9fcd 100644 --- a/sdk/nodejs/iotsitewise/portal.ts +++ b/sdk/nodejs/iotsitewise/portal.ts @@ -77,6 +77,11 @@ export class Portal extends pulumi.CustomResource { * The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal. */ public /*out*/ readonly portalStartUrl!: pulumi.Output; + /** + * The type of portal + */ + public readonly portalType!: pulumi.Output; + public readonly portalTypeConfiguration!: pulumi.Output<{[key: string]: outputs.iotsitewise.PortalTypeEntry} | undefined>; /** * The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. */ @@ -109,6 +114,8 @@ export class Portal extends pulumi.CustomResource { resourceInputs["portalContactEmail"] = args ? args.portalContactEmail : undefined; resourceInputs["portalDescription"] = args ? args.portalDescription : undefined; resourceInputs["portalName"] = args ? args.portalName : undefined; + resourceInputs["portalType"] = args ? args.portalType : undefined; + resourceInputs["portalTypeConfiguration"] = args ? args.portalTypeConfiguration : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["portalArn"] = undefined /*out*/; @@ -126,11 +133,13 @@ export class Portal extends pulumi.CustomResource { resourceInputs["portalId"] = undefined /*out*/; resourceInputs["portalName"] = undefined /*out*/; resourceInputs["portalStartUrl"] = undefined /*out*/; + resourceInputs["portalType"] = undefined /*out*/; + resourceInputs["portalTypeConfiguration"] = undefined /*out*/; resourceInputs["roleArn"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["portalAuthMode"] }; + const replaceOnChanges = { replaceOnChanges: ["portalAuthMode", "portalType"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Portal.__pulumiType, name, resourceInputs, opts); } @@ -164,6 +173,11 @@ export interface PortalArgs { * A friendly name for the portal. */ portalName?: pulumi.Input; + /** + * The type of portal + */ + portalType?: pulumi.Input; + portalTypeConfiguration?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. */ diff --git a/sdk/nodejs/lambda/eventSourceMapping.ts b/sdk/nodejs/lambda/eventSourceMapping.ts index b24904540b..57e2d03a46 100644 --- a/sdk/nodejs/lambda/eventSourceMapping.ts +++ b/sdk/nodejs/lambda/eventSourceMapping.ts @@ -135,10 +135,12 @@ export class EventSourceMapping extends pulumi.CustomResource { * (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. */ public readonly maximumRetryAttempts!: pulumi.Output; + public readonly metricsConfig!: pulumi.Output; /** * (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. */ public readonly parallelizationFactor!: pulumi.Output; + public readonly provisionedPollerConfig!: pulumi.Output; /** * (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. */ @@ -212,7 +214,9 @@ export class EventSourceMapping extends pulumi.CustomResource { resourceInputs["maximumBatchingWindowInSeconds"] = args ? args.maximumBatchingWindowInSeconds : undefined; resourceInputs["maximumRecordAgeInSeconds"] = args ? args.maximumRecordAgeInSeconds : undefined; resourceInputs["maximumRetryAttempts"] = args ? args.maximumRetryAttempts : undefined; + resourceInputs["metricsConfig"] = args ? args.metricsConfig : undefined; resourceInputs["parallelizationFactor"] = args ? args.parallelizationFactor : undefined; + resourceInputs["provisionedPollerConfig"] = args ? args.provisionedPollerConfig : undefined; resourceInputs["queues"] = args ? args.queues : undefined; resourceInputs["scalingConfig"] = args ? args.scalingConfig : undefined; resourceInputs["selfManagedEventSource"] = args ? args.selfManagedEventSource : undefined; @@ -242,7 +246,9 @@ export class EventSourceMapping extends pulumi.CustomResource { resourceInputs["maximumBatchingWindowInSeconds"] = undefined /*out*/; resourceInputs["maximumRecordAgeInSeconds"] = undefined /*out*/; resourceInputs["maximumRetryAttempts"] = undefined /*out*/; + resourceInputs["metricsConfig"] = undefined /*out*/; resourceInputs["parallelizationFactor"] = undefined /*out*/; + resourceInputs["provisionedPollerConfig"] = undefined /*out*/; resourceInputs["queues"] = undefined /*out*/; resourceInputs["scalingConfig"] = undefined /*out*/; resourceInputs["selfManagedEventSource"] = undefined /*out*/; @@ -347,10 +353,12 @@ export interface EventSourceMappingArgs { * (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. */ maximumRetryAttempts?: pulumi.Input; + metricsConfig?: pulumi.Input; /** * (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. */ parallelizationFactor?: pulumi.Input; + provisionedPollerConfig?: pulumi.Input; /** * (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. */ diff --git a/sdk/nodejs/lambda/getEventSourceMapping.ts b/sdk/nodejs/lambda/getEventSourceMapping.ts index 0c3823db4c..5049cc2312 100644 --- a/sdk/nodejs/lambda/getEventSourceMapping.ts +++ b/sdk/nodejs/lambda/getEventSourceMapping.ts @@ -109,10 +109,12 @@ export interface GetEventSourceMappingResult { * (Kinesis and DynamoDB Streams only) Discard records after the specified number of retries. The default value is -1, which sets the maximum number of retries to infinite. When MaximumRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source. */ readonly maximumRetryAttempts?: number; + readonly metricsConfig?: outputs.lambda.EventSourceMappingMetricsConfig; /** * (Kinesis and DynamoDB Streams only) The number of batches to process concurrently from each shard. The default value is 1. */ readonly parallelizationFactor?: number; + readonly provisionedPollerConfig?: outputs.lambda.EventSourceMappingProvisionedPollerConfig; /** * (Amazon MQ) The name of the Amazon MQ broker destination queue to consume. */ diff --git a/sdk/nodejs/m2/deployment.ts b/sdk/nodejs/m2/deployment.ts new file mode 100644 index 0000000000..2b25e09247 --- /dev/null +++ b/sdk/nodejs/m2/deployment.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"; + +/** + * Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + */ +export class Deployment extends pulumi.CustomResource { + /** + * Get an existing Deployment 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): Deployment { + return new Deployment(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:m2:Deployment'; + + /** + * Returns true if the given object is an instance of Deployment. 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 Deployment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Deployment.__pulumiType; + } + + /** + * The application ID. + */ + public readonly applicationId!: pulumi.Output; + /** + * The version number of the application to deploy + */ + public readonly applicationVersion!: pulumi.Output; + /** + * The deployment ID. + */ + public /*out*/ readonly deploymentId!: pulumi.Output; + /** + * The environment ID. + */ + public readonly environmentId!: pulumi.Output; + /** + * The status of the deployment. + */ + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a Deployment 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: DeploymentArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.applicationId === undefined) && !opts.urn) { + throw new Error("Missing required property 'applicationId'"); + } + if ((!args || args.applicationVersion === undefined) && !opts.urn) { + throw new Error("Missing required property 'applicationVersion'"); + } + if ((!args || args.environmentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'environmentId'"); + } + resourceInputs["applicationId"] = args ? args.applicationId : undefined; + resourceInputs["applicationVersion"] = args ? args.applicationVersion : undefined; + resourceInputs["environmentId"] = args ? args.environmentId : undefined; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } else { + resourceInputs["applicationId"] = undefined /*out*/; + resourceInputs["applicationVersion"] = undefined /*out*/; + resourceInputs["deploymentId"] = undefined /*out*/; + resourceInputs["environmentId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["applicationId", "environmentId"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Deployment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Deployment resource. + */ +export interface DeploymentArgs { + /** + * The application ID. + */ + applicationId: pulumi.Input; + /** + * The version number of the application to deploy + */ + applicationVersion: pulumi.Input; + /** + * The environment ID. + */ + environmentId: pulumi.Input; +} diff --git a/sdk/nodejs/m2/getDeployment.ts b/sdk/nodejs/m2/getDeployment.ts new file mode 100644 index 0000000000..8f08f1a001 --- /dev/null +++ b/sdk/nodejs/m2/getDeployment.ts @@ -0,0 +1,53 @@ +// *** 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 deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + */ +export function getDeployment(args: GetDeploymentArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:m2:getDeployment", { + "applicationId": args.applicationId, + }, opts); +} + +export interface GetDeploymentArgs { + /** + * The application ID. + */ + applicationId: string; +} + +export interface GetDeploymentResult { + /** + * The version number of the application to deploy + */ + readonly applicationVersion?: number; + /** + * The deployment ID. + */ + readonly deploymentId?: string; + /** + * The status of the deployment. + */ + readonly status?: string; +} +/** + * Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + */ +export function getDeploymentOutput(args: GetDeploymentOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:m2:getDeployment", { + "applicationId": args.applicationId, + }, opts); +} + +export interface GetDeploymentOutputArgs { + /** + * The application ID. + */ + applicationId: pulumi.Input; +} diff --git a/sdk/nodejs/m2/index.ts b/sdk/nodejs/m2/index.ts index e7d224f4b1..9980accd94 100644 --- a/sdk/nodejs/m2/index.ts +++ b/sdk/nodejs/m2/index.ts @@ -10,6 +10,11 @@ export type Application = import("./application").Application; export const Application: typeof import("./application").Application = null as any; utilities.lazyLoad(exports, ["Application"], () => require("./application")); +export { DeploymentArgs } from "./deployment"; +export type Deployment = import("./deployment").Deployment; +export const Deployment: typeof import("./deployment").Deployment = null as any; +utilities.lazyLoad(exports, ["Deployment"], () => require("./deployment")); + export { EnvironmentArgs } from "./environment"; export type Environment = import("./environment").Environment; export const Environment: typeof import("./environment").Environment = null as any; @@ -20,6 +25,11 @@ export const getApplication: typeof import("./getApplication").getApplication = export const getApplicationOutput: typeof import("./getApplication").getApplicationOutput = null as any; utilities.lazyLoad(exports, ["getApplication","getApplicationOutput"], () => require("./getApplication")); +export { GetDeploymentArgs, GetDeploymentResult, GetDeploymentOutputArgs } from "./getDeployment"; +export const getDeployment: typeof import("./getDeployment").getDeployment = null as any; +export const getDeploymentOutput: typeof import("./getDeployment").getDeploymentOutput = null as any; +utilities.lazyLoad(exports, ["getDeployment","getDeploymentOutput"], () => require("./getDeployment")); + export { GetEnvironmentArgs, GetEnvironmentResult, GetEnvironmentOutputArgs } from "./getEnvironment"; export const getEnvironment: typeof import("./getEnvironment").getEnvironment = null as any; export const getEnvironmentOutput: typeof import("./getEnvironment").getEnvironmentOutput = null as any; @@ -35,6 +45,8 @@ const _module = { switch (type) { case "aws-native:m2:Application": return new Application(name, undefined, { urn }) + case "aws-native:m2:Deployment": + return new Deployment(name, undefined, { urn }) case "aws-native:m2:Environment": return new Environment(name, undefined, { urn }) default: diff --git a/sdk/nodejs/mwaa/environment.ts b/sdk/nodejs/mwaa/environment.ts index 2f16b6f376..eccd8b9116 100644 --- a/sdk/nodejs/mwaa/environment.ts +++ b/sdk/nodejs/mwaa/environment.ts @@ -98,7 +98,7 @@ export class Environment extends pulumi.CustomResource { /** * The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . * - * Valid values: Accepts between `2` and `5` . Defaults to `2` . + * Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . */ public readonly maxWebservers!: pulumi.Output; /** @@ -108,7 +108,7 @@ export class Environment extends pulumi.CustomResource { /** * The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . * - * Valid values: Accepts between `2` and `5` . Defaults to `2` . + * Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . */ public readonly minWebservers!: pulumi.Output; /** @@ -324,7 +324,7 @@ export interface EnvironmentArgs { /** * The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . * - * Valid values: Accepts between `2` and `5` . Defaults to `2` . + * Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . */ maxWebservers?: pulumi.Input; /** @@ -334,7 +334,7 @@ export interface EnvironmentArgs { /** * The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . * - * Valid values: Accepts between `2` and `5` . Defaults to `2` . + * Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . */ minWebservers?: pulumi.Input; /** diff --git a/sdk/nodejs/mwaa/getEnvironment.ts b/sdk/nodejs/mwaa/getEnvironment.ts index 344f55ff3d..c08d7d41ea 100644 --- a/sdk/nodejs/mwaa/getEnvironment.ts +++ b/sdk/nodejs/mwaa/getEnvironment.ts @@ -78,7 +78,7 @@ export interface GetEnvironmentResult { /** * The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . * - * Valid values: Accepts between `2` and `5` . Defaults to `2` . + * Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . */ readonly maxWebservers?: number; /** @@ -88,7 +88,7 @@ export interface GetEnvironmentResult { /** * The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . * - * Valid values: Accepts between `2` and `5` . Defaults to `2` . + * Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . */ readonly minWebservers?: number; /** diff --git a/sdk/nodejs/opensearchserverless/getSecurityConfig.ts b/sdk/nodejs/opensearchserverless/getSecurityConfig.ts index e2f7340da4..7387e0df77 100644 --- a/sdk/nodejs/opensearchserverless/getSecurityConfig.ts +++ b/sdk/nodejs/opensearchserverless/getSecurityConfig.ts @@ -29,6 +29,7 @@ export interface GetSecurityConfigResult { * Security config description */ readonly description?: string; + readonly iamIdentityCenterOptions?: outputs.opensearchserverless.SecurityConfigIamIdentityCenterConfigOptions; /** * The identifier of the security config */ diff --git a/sdk/nodejs/opensearchserverless/securityConfig.ts b/sdk/nodejs/opensearchserverless/securityConfig.ts index a8596cab55..1f3b37f4da 100644 --- a/sdk/nodejs/opensearchserverless/securityConfig.ts +++ b/sdk/nodejs/opensearchserverless/securityConfig.ts @@ -85,6 +85,7 @@ export class SecurityConfig extends pulumi.CustomResource { * Security config description */ public readonly description!: pulumi.Output; + public readonly iamIdentityCenterOptions!: pulumi.Output; /** * The friendly name of the security config */ @@ -110,6 +111,7 @@ export class SecurityConfig extends pulumi.CustomResource { opts = opts || {}; if (!opts.id) { resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["iamIdentityCenterOptions"] = args ? args.iamIdentityCenterOptions : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["samlOptions"] = args ? args.samlOptions : undefined; resourceInputs["type"] = args ? args.type : undefined; @@ -117,12 +119,13 @@ export class SecurityConfig extends pulumi.CustomResource { } else { resourceInputs["awsId"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; + resourceInputs["iamIdentityCenterOptions"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["samlOptions"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["name", "type"] }; + const replaceOnChanges = { replaceOnChanges: ["iamIdentityCenterOptions.instanceArn", "name", "type"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(SecurityConfig.__pulumiType, name, resourceInputs, opts); } @@ -136,6 +139,7 @@ export interface SecurityConfigArgs { * Security config description */ description?: pulumi.Input; + iamIdentityCenterOptions?: pulumi.Input; /** * The friendly name of the security config */ diff --git a/sdk/nodejs/rbin/getRule.ts b/sdk/nodejs/rbin/getRule.ts index 1d32a44ad9..67b8e93f25 100644 --- a/sdk/nodejs/rbin/getRule.ts +++ b/sdk/nodejs/rbin/getRule.ts @@ -33,6 +33,10 @@ export interface GetRuleResult { * The description of the retention rule. */ readonly description?: string; + /** + * Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + */ + readonly excludeResourceTags?: outputs.rbin.RuleResourceTag[]; /** * The unique ID of the retention rule. */ diff --git a/sdk/nodejs/rbin/rule.ts b/sdk/nodejs/rbin/rule.ts index ac4103ba28..ca10cfb127 100644 --- a/sdk/nodejs/rbin/rule.ts +++ b/sdk/nodejs/rbin/rule.ts @@ -45,6 +45,10 @@ export class Rule extends pulumi.CustomResource { * The description of the retention rule. */ public readonly description!: pulumi.Output; + /** + * Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + */ + public readonly excludeResourceTags!: pulumi.Output; /** * The unique ID of the retention rule. */ @@ -96,6 +100,7 @@ export class Rule extends pulumi.CustomResource { throw new Error("Missing required property 'retentionPeriod'"); } resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["excludeResourceTags"] = args ? args.excludeResourceTags : undefined; resourceInputs["lockConfiguration"] = args ? args.lockConfiguration : undefined; resourceInputs["resourceTags"] = args ? args.resourceTags : undefined; resourceInputs["resourceType"] = args ? args.resourceType : undefined; @@ -108,6 +113,7 @@ export class Rule extends pulumi.CustomResource { } else { resourceInputs["arn"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; + resourceInputs["excludeResourceTags"] = undefined /*out*/; resourceInputs["identifier"] = undefined /*out*/; resourceInputs["lockConfiguration"] = undefined /*out*/; resourceInputs["lockState"] = undefined /*out*/; @@ -132,6 +138,10 @@ export interface RuleArgs { * The description of the retention rule. */ description?: pulumi.Input; + /** + * Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + */ + excludeResourceTags?: pulumi.Input[]>; /** * Information about the retention rule lock configuration. */ diff --git a/sdk/nodejs/rds/getGlobalCluster.ts b/sdk/nodejs/rds/getGlobalCluster.ts index ae3c41c0ee..aa2000b22a 100644 --- a/sdk/nodejs/rds/getGlobalCluster.ts +++ b/sdk/nodejs/rds/getGlobalCluster.ts @@ -37,6 +37,7 @@ export interface GetGlobalClusterResult { * The version number of the database engine to use. If you specify the SourceDBClusterIdentifier property, don't specify this property. The value is inherited from the cluster. */ readonly engineVersion?: string; + readonly globalEndpoint?: outputs.rds.GlobalClusterGlobalEndpoint; /** * An array of key-value pairs to apply to this resource. */ diff --git a/sdk/nodejs/rds/globalCluster.ts b/sdk/nodejs/rds/globalCluster.ts index de0acdd0f7..b9121e35c1 100644 --- a/sdk/nodejs/rds/globalCluster.ts +++ b/sdk/nodejs/rds/globalCluster.ts @@ -58,6 +58,7 @@ export class GlobalCluster extends pulumi.CustomResource { * The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string. */ public readonly globalClusterIdentifier!: pulumi.Output; + public readonly globalEndpoint!: pulumi.Output; /** * The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. */ @@ -88,6 +89,7 @@ export class GlobalCluster extends pulumi.CustomResource { resourceInputs["engineLifecycleSupport"] = args ? args.engineLifecycleSupport : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; resourceInputs["globalClusterIdentifier"] = args ? args.globalClusterIdentifier : undefined; + resourceInputs["globalEndpoint"] = args ? args.globalEndpoint : undefined; resourceInputs["sourceDbClusterIdentifier"] = args ? args.sourceDbClusterIdentifier : undefined; resourceInputs["storageEncrypted"] = args ? args.storageEncrypted : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -97,6 +99,7 @@ export class GlobalCluster extends pulumi.CustomResource { resourceInputs["engineLifecycleSupport"] = undefined /*out*/; resourceInputs["engineVersion"] = undefined /*out*/; resourceInputs["globalClusterIdentifier"] = undefined /*out*/; + resourceInputs["globalEndpoint"] = undefined /*out*/; resourceInputs["sourceDbClusterIdentifier"] = undefined /*out*/; resourceInputs["storageEncrypted"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; @@ -133,6 +136,7 @@ export interface GlobalClusterArgs { * The cluster identifier of the new global database cluster. This parameter is stored as a lowercase string. */ globalClusterIdentifier?: pulumi.Input; + globalEndpoint?: pulumi.Input; /** * The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional. This parameter is stored as a lowercase string. */ diff --git a/sdk/nodejs/route53recoverycontrol/getSafetyRule.ts b/sdk/nodejs/route53recoverycontrol/getSafetyRule.ts index f0e8603256..6c487e91f2 100644 --- a/sdk/nodejs/route53recoverycontrol/getSafetyRule.ts +++ b/sdk/nodejs/route53recoverycontrol/getSafetyRule.ts @@ -55,6 +55,10 @@ export interface GetSafetyRuleResult { * The deployment status of the routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION. */ readonly status?: enums.route53recoverycontrol.SafetyRuleStatus; + /** + * A collection of tags associated with a resource + */ + readonly tags?: outputs.Tag[]; } /** * Resource schema for AWS Route53 Recovery Control basic constructs and validation rules. diff --git a/sdk/nodejs/s3express/directoryBucket.ts b/sdk/nodejs/s3express/directoryBucket.ts index f29e3fd67c..25fd9d9c83 100644 --- a/sdk/nodejs/s3express/directoryBucket.ts +++ b/sdk/nodejs/s3express/directoryBucket.ts @@ -57,6 +57,10 @@ export class DirectoryBucket extends pulumi.CustomResource { * Specifies the number of Availability Zone that's used for redundancy for the bucket. */ public readonly dataRedundancy!: pulumi.Output; + /** + * Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + */ + public readonly lifecycleConfiguration!: pulumi.Output; /** * Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. */ @@ -82,6 +86,7 @@ export class DirectoryBucket extends pulumi.CustomResource { resourceInputs["bucketEncryption"] = args ? args.bucketEncryption : undefined; resourceInputs["bucketName"] = args ? args.bucketName : undefined; resourceInputs["dataRedundancy"] = args ? args.dataRedundancy : undefined; + resourceInputs["lifecycleConfiguration"] = args ? args.lifecycleConfiguration : undefined; resourceInputs["locationName"] = args ? args.locationName : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["availabilityZoneName"] = undefined /*out*/; @@ -91,6 +96,7 @@ export class DirectoryBucket extends pulumi.CustomResource { resourceInputs["bucketEncryption"] = undefined /*out*/; resourceInputs["bucketName"] = undefined /*out*/; resourceInputs["dataRedundancy"] = undefined /*out*/; + resourceInputs["lifecycleConfiguration"] = undefined /*out*/; resourceInputs["locationName"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -116,6 +122,10 @@ export interface DirectoryBucketArgs { * Specifies the number of Availability Zone that's used for redundancy for the bucket. */ dataRedundancy: pulumi.Input; + /** + * Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + */ + lifecycleConfiguration?: pulumi.Input; /** * Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. */ diff --git a/sdk/nodejs/s3express/getDirectoryBucket.ts b/sdk/nodejs/s3express/getDirectoryBucket.ts index 54336d398f..d195055109 100644 --- a/sdk/nodejs/s3express/getDirectoryBucket.ts +++ b/sdk/nodejs/s3express/getDirectoryBucket.ts @@ -37,6 +37,10 @@ export interface GetDirectoryBucketResult { * Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* . */ readonly bucketEncryption?: outputs.s3express.DirectoryBucketBucketEncryption; + /** + * Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + */ + readonly lifecycleConfiguration?: outputs.s3express.DirectoryBucketLifecycleConfiguration; } /** * Resource Type definition for AWS::S3Express::DirectoryBucket. diff --git a/sdk/nodejs/synthetics/canary.ts b/sdk/nodejs/synthetics/canary.ts index ffe4ef210c..2c5a08e91b 100644 --- a/sdk/nodejs/synthetics/canary.ts +++ b/sdk/nodejs/synthetics/canary.ts @@ -158,6 +158,10 @@ export class Canary extends pulumi.CustomResource { * Name of the canary. */ public readonly name!: pulumi.Output; + /** + * Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + */ + public readonly provisionedResourceCleanup!: pulumi.Output; /** * List of resources which canary tags should be replicated to. */ @@ -232,6 +236,7 @@ export class Canary extends pulumi.CustomResource { resourceInputs["executionRoleArn"] = args ? args.executionRoleArn : undefined; resourceInputs["failureRetentionPeriod"] = args ? args.failureRetentionPeriod : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["provisionedResourceCleanup"] = args ? args.provisionedResourceCleanup : undefined; resourceInputs["resourcesToReplicateTags"] = args ? args.resourcesToReplicateTags : undefined; resourceInputs["runConfig"] = args ? args.runConfig : undefined; resourceInputs["runtimeVersion"] = args ? args.runtimeVersion : undefined; @@ -252,6 +257,7 @@ export class Canary extends pulumi.CustomResource { resourceInputs["executionRoleArn"] = undefined /*out*/; resourceInputs["failureRetentionPeriod"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; + resourceInputs["provisionedResourceCleanup"] = undefined /*out*/; resourceInputs["resourcesToReplicateTags"] = undefined /*out*/; resourceInputs["runConfig"] = undefined /*out*/; resourceInputs["runtimeVersion"] = undefined /*out*/; @@ -302,6 +308,10 @@ export interface CanaryArgs { * Name of the canary. */ name?: pulumi.Input; + /** + * Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + */ + provisionedResourceCleanup?: pulumi.Input; /** * List of resources which canary tags should be replicated to. */ diff --git a/sdk/nodejs/synthetics/getCanary.ts b/sdk/nodejs/synthetics/getCanary.ts index 8a7bcf02c7..cdb167d2c6 100644 --- a/sdk/nodejs/synthetics/getCanary.ts +++ b/sdk/nodejs/synthetics/getCanary.ts @@ -49,6 +49,10 @@ export interface GetCanaryResult { * Id of the canary */ readonly id?: string; + /** + * Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + */ + readonly provisionedResourceCleanup?: enums.synthetics.CanaryProvisionedResourceCleanup; /** * Provide canary run configuration */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 88f49594ca..0876330e8b 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -45,21 +45,27 @@ "apigateway/apiKey.ts", "apigateway/authorizer.ts", "apigateway/basePathMapping.ts", + "apigateway/basePathMappingV2.ts", "apigateway/clientCertificate.ts", "apigateway/deployment.ts", "apigateway/documentationPart.ts", "apigateway/documentationVersion.ts", "apigateway/domainName.ts", + "apigateway/domainNameAccessAssociation.ts", + "apigateway/domainNameV2.ts", "apigateway/gatewayResponse.ts", "apigateway/getAccount.ts", "apigateway/getApiKey.ts", "apigateway/getAuthorizer.ts", "apigateway/getBasePathMapping.ts", + "apigateway/getBasePathMappingV2.ts", "apigateway/getClientCertificate.ts", "apigateway/getDeployment.ts", "apigateway/getDocumentationPart.ts", "apigateway/getDocumentationVersion.ts", "apigateway/getDomainName.ts", + "apigateway/getDomainNameAccessAssociation.ts", + "apigateway/getDomainNameV2.ts", "apigateway/getGatewayResponse.ts", "apigateway/getMethod.ts", "apigateway/getModel.ts", @@ -496,10 +502,12 @@ "connect/approvedOrigin.ts", "connect/contactFlow.ts", "connect/contactFlowModule.ts", + "connect/emailAddress.ts", "connect/evaluationForm.ts", "connect/getAgentStatus.ts", "connect/getContactFlow.ts", "connect/getContactFlowModule.ts", + "connect/getEmailAddress.ts", "connect/getEvaluationForm.ts", "connect/getHoursOfOperation.ts", "connect/getInstance.ts", @@ -563,9 +571,11 @@ "customerprofiles/getEventStream.ts", "customerprofiles/getIntegration.ts", "customerprofiles/getObjectType.ts", + "customerprofiles/getSegmentDefinition.ts", "customerprofiles/index.ts", "customerprofiles/integration.ts", "customerprofiles/objectType.ts", + "customerprofiles/segmentDefinition.ts", "databrew/dataset.ts", "databrew/getDataset.ts", "databrew/getJob.ts", @@ -779,6 +789,8 @@ "ec2/getVerifiedAccessTrustProvider.ts", "ec2/getVolume.ts", "ec2/getVpc.ts", + "ec2/getVpcBlockPublicAccessExclusion.ts", + "ec2/getVpcBlockPublicAccessOptions.ts", "ec2/getVpcCidrBlock.ts", "ec2/getVpcEndpoint.ts", "ec2/getVpcEndpointConnectionNotification.ts", @@ -849,6 +861,8 @@ "ec2/volume.ts", "ec2/volumeAttachment.ts", "ec2/vpc.ts", + "ec2/vpcBlockPublicAccessExclusion.ts", + "ec2/vpcBlockPublicAccessOptions.ts", "ec2/vpcCidrBlock.ts", "ec2/vpcEndpoint.ts", "ec2/vpcEndpointConnectionNotification.ts", @@ -1499,8 +1513,10 @@ "lookoutvision/index.ts", "lookoutvision/project.ts", "m2/application.ts", + "m2/deployment.ts", "m2/environment.ts", "m2/getApplication.ts", + "m2/getDeployment.ts", "m2/getEnvironment.ts", "m2/index.ts", "macie/allowList.ts", @@ -2518,7 +2534,9 @@ "workspacesthinclient/getEnvironment.ts", "workspacesthinclient/index.ts", "workspacesweb/browserSettings.ts", + "workspacesweb/dataProtectionSettings.ts", "workspacesweb/getBrowserSettings.ts", + "workspacesweb/getDataProtectionSettings.ts", "workspacesweb/getIdentityProvider.ts", "workspacesweb/getIpAccessSettings.ts", "workspacesweb/getNetworkSettings.ts", diff --git a/sdk/nodejs/types/enums/apigateway/index.ts b/sdk/nodejs/types/enums/apigateway/index.ts index ac51df543e..03bc10bcce 100644 --- a/sdk/nodejs/types/enums/apigateway/index.ts +++ b/sdk/nodejs/types/enums/apigateway/index.ts @@ -22,6 +22,15 @@ export const DocumentationPartLocationType = { */ export type DocumentationPartLocationType = (typeof DocumentationPartLocationType)[keyof typeof DocumentationPartLocationType]; +export const DomainNameAccessAssociationAccessAssociationSourceType = { + Vpce: "VPCE", +} as const; + +/** + * The source type of the domain name access association resource. + */ +export type DomainNameAccessAssociationAccessAssociationSourceType = (typeof DomainNameAccessAssociationAccessAssociationSourceType)[keyof typeof DomainNameAccessAssociationAccessAssociationSourceType]; + export const MethodIntegrationConnectionType = { Internet: "INTERNET", VpcLink: "VPC_LINK", diff --git a/sdk/nodejs/types/enums/b2bi/index.ts b/sdk/nodejs/types/enums/b2bi/index.ts index e1397702ce..53d64bc1cb 100644 --- a/sdk/nodejs/types/enums/b2bi/index.ts +++ b/sdk/nodejs/types/enums/b2bi/index.ts @@ -16,57 +16,324 @@ export const CapabilityType = { export type CapabilityType = (typeof CapabilityType)[keyof typeof CapabilityType]; export const CapabilityX12TransactionSet = { + X12100: "X12_100", + X12101: "X12_101", + X12102: "X12_102", + X12103: "X12_103", + X12104: "X12_104", + X12105: "X12_105", + X12106: "X12_106", + X12107: "X12_107", + X12108: "X12_108", + X12109: "X12_109", X12110: "X12_110", + X12111: "X12_111", + X12112: "X12_112", + X12113: "X12_113", + X12120: "X12_120", + X12121: "X12_121", + X12124: "X12_124", + X12125: "X12_125", + X12126: "X12_126", + X12127: "X12_127", + X12128: "X12_128", + X12129: "X12_129", + X12130: "X12_130", + X12131: "X12_131", + X12132: "X12_132", + X12133: "X12_133", + X12135: "X12_135", + X12138: "X12_138", + X12139: "X12_139", + X12140: "X12_140", + X12141: "X12_141", + X12142: "X12_142", + X12143: "X12_143", + X12144: "X12_144", + X12146: "X12_146", + X12147: "X12_147", + X12148: "X12_148", + X12149: "X12_149", + X12150: "X12_150", + X12151: "X12_151", + X12152: "X12_152", + X12153: "X12_153", + X12154: "X12_154", + X12155: "X12_155", + X12157: "X12_157", + X12158: "X12_158", + X12159: "X12_159", + X12160: "X12_160", + X12161: "X12_161", + X12163: "X12_163", + X12170: "X12_170", + X12175: "X12_175", + X12176: "X12_176", + X12179: "X12_179", X12180: "X12_180", + X12185: "X12_185", + X12186: "X12_186", + X12187: "X12_187", + X12188: "X12_188", + X12189: "X12_189", + X12190: "X12_190", + X12191: "X12_191", + X12194: "X12_194", + X12195: "X12_195", + X12196: "X12_196", + X12197: "X12_197", + X12198: "X12_198", + X12199: "X12_199", + X12200: "X12_200", + X12201: "X12_201", + X12202: "X12_202", + X12203: "X12_203", X12204: "X12_204", + X12205: "X12_205", + X12206: "X12_206", X12210: "X12_210", X12211: "X12_211", + X12212: "X12_212", + X12213: "X12_213", X12214: "X12_214", X12215: "X12_215", + X12216: "X12_216", + X12217: "X12_217", + X12218: "X12_218", + X12219: "X12_219", + X12220: "X12_220", + X12222: "X12_222", + X12223: "X12_223", + X12224: "X12_224", + X12225: "X12_225", + X12227: "X12_227", + X12228: "X12_228", + X12240: "X12_240", + X12242: "X12_242", + X12244: "X12_244", + X12245: "X12_245", + X12248: "X12_248", + X12249: "X12_249", + X12250: "X12_250", + X12251: "X12_251", + X12252: "X12_252", + X12255: "X12_255", + X12256: "X12_256", X12259: "X12_259", X12260: "X12_260", + X12261: "X12_261", + X12262: "X12_262", + X12263: "X12_263", + X12264: "X12_264", + X12265: "X12_265", X12266: "X12_266", + X12267: "X12_267", + X12268: "X12_268", X12269: "X12_269", X12270: "X12_270", X12271: "X12_271", + X12272: "X12_272", + X12273: "X12_273", X12274: "X12_274", X12275: "X12_275", X12276: "X12_276", X12277: "X12_277", X12278: "X12_278", + X12280: "X12_280", + X12283: "X12_283", + X12284: "X12_284", + X12285: "X12_285", + X12286: "X12_286", + X12288: "X12_288", + X12290: "X12_290", + X12300: "X12_300", + X12301: "X12_301", + X12303: "X12_303", + X12304: "X12_304", + X12309: "X12_309", X12310: "X12_310", + X12311: "X12_311", + X12312: "X12_312", + X12313: "X12_313", X12315: "X12_315", + X12317: "X12_317", + X12319: "X12_319", X12322: "X12_322", + X12323: "X12_323", + X12324: "X12_324", + X12325: "X12_325", + X12326: "X12_326", + X12350: "X12_350", + X12352: "X12_352", + X12353: "X12_353", + X12354: "X12_354", + X12355: "X12_355", + X12356: "X12_356", + X12357: "X12_357", + X12358: "X12_358", + X12361: "X12_361", + X12362: "X12_362", X12404: "X12_404", X12410: "X12_410", + X12412: "X12_412", + X12414: "X12_414", X12417: "X12_417", + X12418: "X12_418", + X12419: "X12_419", + X12420: "X12_420", X12421: "X12_421", + X12422: "X12_422", + X12423: "X12_423", + X12424: "X12_424", + X12425: "X12_425", X12426: "X12_426", + X12429: "X12_429", + X12431: "X12_431", + X12432: "X12_432", + X12433: "X12_433", + X12434: "X12_434", + X12435: "X12_435", + X12436: "X12_436", + X12437: "X12_437", + X12440: "X12_440", + X12451: "X12_451", + X12452: "X12_452", + X12453: "X12_453", + X12455: "X12_455", + X12456: "X12_456", + X12460: "X12_460", + X12463: "X12_463", + X12466: "X12_466", + X12468: "X12_468", + X12470: "X12_470", + X12475: "X12_475", + X12485: "X12_485", + X12486: "X12_486", + X12490: "X12_490", + X12492: "X12_492", + X12494: "X12_494", + X12500: "X12_500", + X12501: "X12_501", + X12503: "X12_503", + X12504: "X12_504", + X12511: "X12_511", + X12517: "X12_517", + X12521: "X12_521", + X12527: "X12_527", + X12536: "X12_536", + X12540: "X12_540", + X12561: "X12_561", + X12567: "X12_567", + X12568: "X12_568", + X12601: "X12_601", + X12602: "X12_602", + X12620: "X12_620", + X12625: "X12_625", + X12650: "X12_650", + X12715: "X12_715", + X12753: "X12_753", + X12754: "X12_754", + X12805: "X12_805", + X12806: "X12_806", X12810: "X12_810", + X12811: "X12_811", + X12812: "X12_812", + X12813: "X12_813", + X12814: "X12_814", + X12815: "X12_815", + X12816: "X12_816", + X12818: "X12_818", + X12819: "X12_819", X12820: "X12_820", + X12821: "X12_821", + X12822: "X12_822", + X12823: "X12_823", X12824: "X12_824", + X12826: "X12_826", + X12827: "X12_827", + X12828: "X12_828", + X12829: "X12_829", X12830: "X12_830", + X12831: "X12_831", X12832: "X12_832", + X12833: "X12_833", X12834: "X12_834", X12835: "X12_835", + X12836: "X12_836", X12837: "X12_837", + X12838: "X12_838", + X12839: "X12_839", + X12840: "X12_840", + X12841: "X12_841", + X12842: "X12_842", + X12843: "X12_843", X12844: "X12_844", + X12845: "X12_845", X12846: "X12_846", + X12847: "X12_847", + X12848: "X12_848", X12849: "X12_849", X12850: "X12_850", + X12851: "X12_851", X12852: "X12_852", + X12853: "X12_853", + X12854: "X12_854", X12855: "X12_855", X12856: "X12_856", + X12857: "X12_857", + X12858: "X12_858", + X12859: "X12_859", X12860: "X12_860", X12861: "X12_861", + X12862: "X12_862", + X12863: "X12_863", X12864: "X12_864", X12865: "X12_865", + X12866: "X12_866", + X12867: "X12_867", + X12868: "X12_868", X12869: "X12_869", X12870: "X12_870", + X12871: "X12_871", + X12872: "X12_872", + X12873: "X12_873", + X12874: "X12_874", + X12875: "X12_875", + X12876: "X12_876", + X12877: "X12_877", + X12878: "X12_878", + X12879: "X12_879", + X12880: "X12_880", + X12881: "X12_881", + X12882: "X12_882", + X12883: "X12_883", + X12884: "X12_884", + X12885: "X12_885", + X12886: "X12_886", + X12887: "X12_887", + X12888: "X12_888", + X12889: "X12_889", + X12891: "X12_891", + X12893: "X12_893", + X12894: "X12_894", + X12895: "X12_895", + X12896: "X12_896", + X12920: "X12_920", + X12924: "X12_924", + X12925: "X12_925", + X12926: "X12_926", + X12928: "X12_928", X12940: "X12_940", + X12943: "X12_943", + X12944: "X12_944", X12945: "X12_945", + X12947: "X12_947", + X12980: "X12_980", X12990: "X12_990", + X12993: "X12_993", + X12996: "X12_996", X12997: "X12_997", + X12998: "X12_998", X12999: "X12_999", X12270x279: "X12_270_X279", X12271x279: "X12_271_X279", @@ -98,6 +365,8 @@ export type CapabilityX12TransactionSet = (typeof CapabilityX12TransactionSet)[k export const CapabilityX12Version = { Version4010: "VERSION_4010", Version4030: "VERSION_4030", + Version4050: "VERSION_4050", + Version4060: "VERSION_4060", Version5010: "VERSION_5010", Version5010Hipaa: "VERSION_5010_HIPAA", } as const; @@ -146,57 +415,324 @@ export const TransformerToFormat = { export type TransformerToFormat = (typeof TransformerToFormat)[keyof typeof TransformerToFormat]; export const TransformerX12TransactionSet = { + X12100: "X12_100", + X12101: "X12_101", + X12102: "X12_102", + X12103: "X12_103", + X12104: "X12_104", + X12105: "X12_105", + X12106: "X12_106", + X12107: "X12_107", + X12108: "X12_108", + X12109: "X12_109", X12110: "X12_110", + X12111: "X12_111", + X12112: "X12_112", + X12113: "X12_113", + X12120: "X12_120", + X12121: "X12_121", + X12124: "X12_124", + X12125: "X12_125", + X12126: "X12_126", + X12127: "X12_127", + X12128: "X12_128", + X12129: "X12_129", + X12130: "X12_130", + X12131: "X12_131", + X12132: "X12_132", + X12133: "X12_133", + X12135: "X12_135", + X12138: "X12_138", + X12139: "X12_139", + X12140: "X12_140", + X12141: "X12_141", + X12142: "X12_142", + X12143: "X12_143", + X12144: "X12_144", + X12146: "X12_146", + X12147: "X12_147", + X12148: "X12_148", + X12149: "X12_149", + X12150: "X12_150", + X12151: "X12_151", + X12152: "X12_152", + X12153: "X12_153", + X12154: "X12_154", + X12155: "X12_155", + X12157: "X12_157", + X12158: "X12_158", + X12159: "X12_159", + X12160: "X12_160", + X12161: "X12_161", + X12163: "X12_163", + X12170: "X12_170", + X12175: "X12_175", + X12176: "X12_176", + X12179: "X12_179", X12180: "X12_180", + X12185: "X12_185", + X12186: "X12_186", + X12187: "X12_187", + X12188: "X12_188", + X12189: "X12_189", + X12190: "X12_190", + X12191: "X12_191", + X12194: "X12_194", + X12195: "X12_195", + X12196: "X12_196", + X12197: "X12_197", + X12198: "X12_198", + X12199: "X12_199", + X12200: "X12_200", + X12201: "X12_201", + X12202: "X12_202", + X12203: "X12_203", X12204: "X12_204", + X12205: "X12_205", + X12206: "X12_206", X12210: "X12_210", X12211: "X12_211", + X12212: "X12_212", + X12213: "X12_213", X12214: "X12_214", X12215: "X12_215", + X12216: "X12_216", + X12217: "X12_217", + X12218: "X12_218", + X12219: "X12_219", + X12220: "X12_220", + X12222: "X12_222", + X12223: "X12_223", + X12224: "X12_224", + X12225: "X12_225", + X12227: "X12_227", + X12228: "X12_228", + X12240: "X12_240", + X12242: "X12_242", + X12244: "X12_244", + X12245: "X12_245", + X12248: "X12_248", + X12249: "X12_249", + X12250: "X12_250", + X12251: "X12_251", + X12252: "X12_252", + X12255: "X12_255", + X12256: "X12_256", X12259: "X12_259", X12260: "X12_260", + X12261: "X12_261", + X12262: "X12_262", + X12263: "X12_263", + X12264: "X12_264", + X12265: "X12_265", X12266: "X12_266", + X12267: "X12_267", + X12268: "X12_268", X12269: "X12_269", X12270: "X12_270", X12271: "X12_271", + X12272: "X12_272", + X12273: "X12_273", X12274: "X12_274", X12275: "X12_275", X12276: "X12_276", X12277: "X12_277", X12278: "X12_278", + X12280: "X12_280", + X12283: "X12_283", + X12284: "X12_284", + X12285: "X12_285", + X12286: "X12_286", + X12288: "X12_288", + X12290: "X12_290", + X12300: "X12_300", + X12301: "X12_301", + X12303: "X12_303", + X12304: "X12_304", + X12309: "X12_309", X12310: "X12_310", + X12311: "X12_311", + X12312: "X12_312", + X12313: "X12_313", X12315: "X12_315", + X12317: "X12_317", + X12319: "X12_319", X12322: "X12_322", + X12323: "X12_323", + X12324: "X12_324", + X12325: "X12_325", + X12326: "X12_326", + X12350: "X12_350", + X12352: "X12_352", + X12353: "X12_353", + X12354: "X12_354", + X12355: "X12_355", + X12356: "X12_356", + X12357: "X12_357", + X12358: "X12_358", + X12361: "X12_361", + X12362: "X12_362", X12404: "X12_404", X12410: "X12_410", + X12412: "X12_412", + X12414: "X12_414", X12417: "X12_417", + X12418: "X12_418", + X12419: "X12_419", + X12420: "X12_420", X12421: "X12_421", + X12422: "X12_422", + X12423: "X12_423", + X12424: "X12_424", + X12425: "X12_425", X12426: "X12_426", + X12429: "X12_429", + X12431: "X12_431", + X12432: "X12_432", + X12433: "X12_433", + X12434: "X12_434", + X12435: "X12_435", + X12436: "X12_436", + X12437: "X12_437", + X12440: "X12_440", + X12451: "X12_451", + X12452: "X12_452", + X12453: "X12_453", + X12455: "X12_455", + X12456: "X12_456", + X12460: "X12_460", + X12463: "X12_463", + X12466: "X12_466", + X12468: "X12_468", + X12470: "X12_470", + X12475: "X12_475", + X12485: "X12_485", + X12486: "X12_486", + X12490: "X12_490", + X12492: "X12_492", + X12494: "X12_494", + X12500: "X12_500", + X12501: "X12_501", + X12503: "X12_503", + X12504: "X12_504", + X12511: "X12_511", + X12517: "X12_517", + X12521: "X12_521", + X12527: "X12_527", + X12536: "X12_536", + X12540: "X12_540", + X12561: "X12_561", + X12567: "X12_567", + X12568: "X12_568", + X12601: "X12_601", + X12602: "X12_602", + X12620: "X12_620", + X12625: "X12_625", + X12650: "X12_650", + X12715: "X12_715", + X12753: "X12_753", + X12754: "X12_754", + X12805: "X12_805", + X12806: "X12_806", X12810: "X12_810", + X12811: "X12_811", + X12812: "X12_812", + X12813: "X12_813", + X12814: "X12_814", + X12815: "X12_815", + X12816: "X12_816", + X12818: "X12_818", + X12819: "X12_819", X12820: "X12_820", + X12821: "X12_821", + X12822: "X12_822", + X12823: "X12_823", X12824: "X12_824", + X12826: "X12_826", + X12827: "X12_827", + X12828: "X12_828", + X12829: "X12_829", X12830: "X12_830", + X12831: "X12_831", X12832: "X12_832", + X12833: "X12_833", X12834: "X12_834", X12835: "X12_835", + X12836: "X12_836", X12837: "X12_837", + X12838: "X12_838", + X12839: "X12_839", + X12840: "X12_840", + X12841: "X12_841", + X12842: "X12_842", + X12843: "X12_843", X12844: "X12_844", + X12845: "X12_845", X12846: "X12_846", + X12847: "X12_847", + X12848: "X12_848", X12849: "X12_849", X12850: "X12_850", + X12851: "X12_851", X12852: "X12_852", + X12853: "X12_853", + X12854: "X12_854", X12855: "X12_855", X12856: "X12_856", + X12857: "X12_857", + X12858: "X12_858", + X12859: "X12_859", X12860: "X12_860", X12861: "X12_861", + X12862: "X12_862", + X12863: "X12_863", X12864: "X12_864", X12865: "X12_865", + X12866: "X12_866", + X12867: "X12_867", + X12868: "X12_868", X12869: "X12_869", X12870: "X12_870", + X12871: "X12_871", + X12872: "X12_872", + X12873: "X12_873", + X12874: "X12_874", + X12875: "X12_875", + X12876: "X12_876", + X12877: "X12_877", + X12878: "X12_878", + X12879: "X12_879", + X12880: "X12_880", + X12881: "X12_881", + X12882: "X12_882", + X12883: "X12_883", + X12884: "X12_884", + X12885: "X12_885", + X12886: "X12_886", + X12887: "X12_887", + X12888: "X12_888", + X12889: "X12_889", + X12891: "X12_891", + X12893: "X12_893", + X12894: "X12_894", + X12895: "X12_895", + X12896: "X12_896", + X12920: "X12_920", + X12924: "X12_924", + X12925: "X12_925", + X12926: "X12_926", + X12928: "X12_928", X12940: "X12_940", + X12943: "X12_943", + X12944: "X12_944", X12945: "X12_945", + X12947: "X12_947", + X12980: "X12_980", X12990: "X12_990", + X12993: "X12_993", + X12996: "X12_996", X12997: "X12_997", + X12998: "X12_998", X12999: "X12_999", X12270x279: "X12_270_X279", X12271x279: "X12_271_X279", @@ -228,6 +764,8 @@ export type TransformerX12TransactionSet = (typeof TransformerX12TransactionSet) export const TransformerX12Version = { Version4010: "VERSION_4010", Version4030: "VERSION_4030", + Version4050: "VERSION_4050", + Version4060: "VERSION_4060", Version5010: "VERSION_5010", Version5010Hipaa: "VERSION_5010_HIPAA", } as const; diff --git a/sdk/nodejs/types/enums/connect/index.ts b/sdk/nodejs/types/enums/connect/index.ts index b172f7fee0..c69a25424f 100644 --- a/sdk/nodejs/types/enums/connect/index.ts +++ b/sdk/nodejs/types/enums/connect/index.ts @@ -150,6 +150,21 @@ export const HoursOfOperationConfigDay = { */ export type HoursOfOperationConfigDay = (typeof HoursOfOperationConfigDay)[keyof typeof HoursOfOperationConfigDay]; +export const HoursOfOperationOverrideConfigDay = { + Sunday: "SUNDAY", + Monday: "MONDAY", + Tuesday: "TUESDAY", + Wednesday: "WEDNESDAY", + Thursday: "THURSDAY", + Friday: "FRIDAY", + Saturday: "SATURDAY", +} as const; + +/** + * The day that the hours of operation override applies to. + */ +export type HoursOfOperationOverrideConfigDay = (typeof HoursOfOperationOverrideConfigDay)[keyof typeof HoursOfOperationOverrideConfigDay]; + export const InstanceIdentityManagementType = { Saml: "SAML", ConnectManaged: "CONNECT_MANAGED", diff --git a/sdk/nodejs/types/enums/customerprofiles/index.ts b/sdk/nodejs/types/enums/customerprofiles/index.ts index ab0fc954bb..77a5981e54 100644 --- a/sdk/nodejs/types/enums/customerprofiles/index.ts +++ b/sdk/nodejs/types/enums/customerprofiles/index.ts @@ -306,3 +306,72 @@ export const ObjectTypeKeyStandardIdentifiersItem = { } as const; export type ObjectTypeKeyStandardIdentifiersItem = (typeof ObjectTypeKeyStandardIdentifiersItem)[keyof typeof ObjectTypeKeyStandardIdentifiersItem]; + +export const SegmentDefinitionAttributeDimensionType = { + Inclusive: "INCLUSIVE", + Exclusive: "EXCLUSIVE", + Contains: "CONTAINS", + BeginsWith: "BEGINS_WITH", + EndsWith: "ENDS_WITH", + Before: "BEFORE", + After: "AFTER", + Between: "BETWEEN", + NotBetween: "NOT_BETWEEN", + On: "ON", + GreaterThan: "GREATER_THAN", + LessThan: "LESS_THAN", + GreaterThanOrEqual: "GREATER_THAN_OR_EQUAL", + LessThanOrEqual: "LESS_THAN_OR_EQUAL", + Equal: "EQUAL", +} as const; + +/** + * The type of segment dimension to use. + */ +export type SegmentDefinitionAttributeDimensionType = (typeof SegmentDefinitionAttributeDimensionType)[keyof typeof SegmentDefinitionAttributeDimensionType]; + +export const SegmentDefinitionDateDimensionType = { + Before: "BEFORE", + After: "AFTER", + Between: "BETWEEN", + NotBetween: "NOT_BETWEEN", + On: "ON", +} as const; + +/** + * The type of segment dimension to use for a date dimension. + */ +export type SegmentDefinitionDateDimensionType = (typeof SegmentDefinitionDateDimensionType)[keyof typeof SegmentDefinitionDateDimensionType]; + +export const SegmentDefinitionIncludeOptions = { + All: "ALL", + Any: "ANY", + None: "NONE", +} as const; + +/** + * Specifies the operator on how to handle multiple groups within the same segment. + */ +export type SegmentDefinitionIncludeOptions = (typeof SegmentDefinitionIncludeOptions)[keyof typeof SegmentDefinitionIncludeOptions]; + +export const SegmentDefinitionRangeOverrideUnit = { + Days: "DAYS", +} as const; + +/** + * The unit to be applied to the range. + */ +export type SegmentDefinitionRangeOverrideUnit = (typeof SegmentDefinitionRangeOverrideUnit)[keyof typeof SegmentDefinitionRangeOverrideUnit]; + +export const SegmentDefinitionStringDimensionType = { + Inclusive: "INCLUSIVE", + Exclusive: "EXCLUSIVE", + Contains: "CONTAINS", + BeginsWith: "BEGINS_WITH", + EndsWith: "ENDS_WITH", +} as const; + +/** + * The type of segment dimension to use for a string dimension. + */ +export type SegmentDefinitionStringDimensionType = (typeof SegmentDefinitionStringDimensionType)[keyof typeof SegmentDefinitionStringDimensionType]; diff --git a/sdk/nodejs/types/enums/ec2/index.ts b/sdk/nodejs/types/enums/ec2/index.ts index 9d1709cdb0..e14cddf059 100644 --- a/sdk/nodejs/types/enums/ec2/index.ts +++ b/sdk/nodejs/types/enums/ec2/index.ts @@ -813,6 +813,26 @@ export const SpotFleetTagSpecificationResourceType = { */ export type SpotFleetTagSpecificationResourceType = (typeof SpotFleetTagSpecificationResourceType)[keyof typeof SpotFleetTagSpecificationResourceType]; +export const VpcBlockPublicAccessExclusionInternetGatewayExclusionMode = { + AllowBidirectional: "allow-bidirectional", + AllowEgress: "allow-egress", +} as const; + +/** + * The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + */ +export type VpcBlockPublicAccessExclusionInternetGatewayExclusionMode = (typeof VpcBlockPublicAccessExclusionInternetGatewayExclusionMode)[keyof typeof VpcBlockPublicAccessExclusionInternetGatewayExclusionMode]; + +export const VpcBlockPublicAccessOptionsInternetGatewayBlockMode = { + BlockBidirectional: "block-bidirectional", + BlockIngress: "block-ingress", +} as const; + +/** + * The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + */ +export type VpcBlockPublicAccessOptionsInternetGatewayBlockMode = (typeof VpcBlockPublicAccessOptionsInternetGatewayBlockMode)[keyof typeof VpcBlockPublicAccessOptionsInternetGatewayBlockMode]; + export const VpcEndpointType = { Interface: "Interface", Gateway: "Gateway", diff --git a/sdk/nodejs/types/enums/ecs/index.ts b/sdk/nodejs/types/enums/ecs/index.ts index 5d43a803c7..3fa154cdd2 100644 --- a/sdk/nodejs/types/enums/ecs/index.ts +++ b/sdk/nodejs/types/enums/ecs/index.ts @@ -173,6 +173,9 @@ export const TaskDefinitionContainerDefinitionVersionConsistency = { Disabled: "disabled", } as const; +/** + * Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + */ export type TaskDefinitionContainerDefinitionVersionConsistency = (typeof TaskDefinitionContainerDefinitionVersionConsistency)[keyof typeof TaskDefinitionContainerDefinitionVersionConsistency]; export const TaskDefinitionEfsVolumeConfigurationTransitEncryption = { diff --git a/sdk/nodejs/types/enums/iot/index.ts b/sdk/nodejs/types/enums/iot/index.ts index bd60b486dd..914cd9e9a0 100644 --- a/sdk/nodejs/types/enums/iot/index.ts +++ b/sdk/nodejs/types/enums/iot/index.ts @@ -389,6 +389,13 @@ export const SoftwarePackageVersionPackageVersionStatus = { export type SoftwarePackageVersionPackageVersionStatus = (typeof SoftwarePackageVersionPackageVersionStatus)[keyof typeof SoftwarePackageVersionPackageVersionStatus]; +export const ThingTypePropagatingAttributeConnectionAttribute = { + IotClientId: "iot:ClientId", + IotThingThingName: "iot:Thing.ThingName", +} as const; + +export type ThingTypePropagatingAttributeConnectionAttribute = (typeof ThingTypePropagatingAttributeConnectionAttribute)[keyof typeof ThingTypePropagatingAttributeConnectionAttribute]; + export const TopicRuleCannedAccessControlList = { Private: "private", PublicRead: "public-read", diff --git a/sdk/nodejs/types/enums/iotsitewise/index.ts b/sdk/nodejs/types/enums/iotsitewise/index.ts index 6e9f1d9c90..1fe5390206 100644 --- a/sdk/nodejs/types/enums/iotsitewise/index.ts +++ b/sdk/nodejs/types/enums/iotsitewise/index.ts @@ -36,3 +36,13 @@ export const AssetPropertyNotificationState = { * The MQTT notification state (ENABLED or DISABLED) for this asset property. */ export type AssetPropertyNotificationState = (typeof AssetPropertyNotificationState)[keyof typeof AssetPropertyNotificationState]; + +export const PortalType = { + SitewisePortalV1: "SITEWISE_PORTAL_V1", + SitewisePortalV2: "SITEWISE_PORTAL_V2", +} as const; + +/** + * The type of portal + */ +export type PortalType = (typeof PortalType)[keyof typeof PortalType]; diff --git a/sdk/nodejs/types/enums/lambda/index.ts b/sdk/nodejs/types/enums/lambda/index.ts index a8e058e3d3..6b562ff98f 100644 --- a/sdk/nodejs/types/enums/lambda/index.ts +++ b/sdk/nodejs/types/enums/lambda/index.ts @@ -28,6 +28,12 @@ export const EventSourceMappingFunctionResponseTypesItem = { export type EventSourceMappingFunctionResponseTypesItem = (typeof EventSourceMappingFunctionResponseTypesItem)[keyof typeof EventSourceMappingFunctionResponseTypesItem]; +export const EventSourceMappingMetricsConfigMetricsItem = { + EventCount: "EventCount", +} as const; + +export type EventSourceMappingMetricsConfigMetricsItem = (typeof EventSourceMappingMetricsConfigMetricsItem)[keyof typeof EventSourceMappingMetricsConfigMetricsItem]; + export const EventSourceMappingSourceAccessConfigurationType = { BasicAuth: "BASIC_AUTH", VpcSubnet: "VPC_SUBNET", diff --git a/sdk/nodejs/types/enums/opensearchserverless/index.ts b/sdk/nodejs/types/enums/opensearchserverless/index.ts index beee437adc..3937e2f940 100644 --- a/sdk/nodejs/types/enums/opensearchserverless/index.ts +++ b/sdk/nodejs/types/enums/opensearchserverless/index.ts @@ -43,6 +43,7 @@ export type LifecyclePolicyType = (typeof LifecyclePolicyType)[keyof typeof Life export const SecurityConfigType = { Saml: "saml", + Iamidentitycenter: "iamidentitycenter", } as const; /** diff --git a/sdk/nodejs/types/enums/route53resolver/index.ts b/sdk/nodejs/types/enums/route53resolver/index.ts index 39be6cbb43..b49a5ac094 100644 --- a/sdk/nodejs/types/enums/route53resolver/index.ts +++ b/sdk/nodejs/types/enums/route53resolver/index.ts @@ -69,6 +69,27 @@ export const FirewallRuleGroupFirewallRuleBlockResponse = { */ export type FirewallRuleGroupFirewallRuleBlockResponse = (typeof FirewallRuleGroupFirewallRuleBlockResponse)[keyof typeof FirewallRuleGroupFirewallRuleBlockResponse]; +export const FirewallRuleGroupFirewallRuleConfidenceThreshold = { + Low: "LOW", + Medium: "MEDIUM", + High: "HIGH", +} as const; + +/** + * FirewallDomainRedirectionAction + */ +export type FirewallRuleGroupFirewallRuleConfidenceThreshold = (typeof FirewallRuleGroupFirewallRuleConfidenceThreshold)[keyof typeof FirewallRuleGroupFirewallRuleConfidenceThreshold]; + +export const FirewallRuleGroupFirewallRuleDnsThreatProtection = { + Dga: "DGA", + DnsTunneling: "DNS_TUNNELING", +} as const; + +/** + * FirewallDomainRedirectionAction + */ +export type FirewallRuleGroupFirewallRuleDnsThreatProtection = (typeof FirewallRuleGroupFirewallRuleDnsThreatProtection)[keyof typeof FirewallRuleGroupFirewallRuleDnsThreatProtection]; + export const FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction = { InspectRedirectionDomain: "INSPECT_REDIRECTION_DOMAIN", TrustRedirectionDomain: "TRUST_REDIRECTION_DOMAIN", diff --git a/sdk/nodejs/types/enums/s3express/index.ts b/sdk/nodejs/types/enums/s3express/index.ts index 7d3853b347..89e2311121 100644 --- a/sdk/nodejs/types/enums/s3express/index.ts +++ b/sdk/nodejs/types/enums/s3express/index.ts @@ -11,6 +11,13 @@ export const DirectoryBucketDataRedundancy = { */ export type DirectoryBucketDataRedundancy = (typeof DirectoryBucketDataRedundancy)[keyof typeof DirectoryBucketDataRedundancy]; +export const DirectoryBucketRuleStatus = { + Enabled: "Enabled", + Disabled: "Disabled", +} as const; + +export type DirectoryBucketRuleStatus = (typeof DirectoryBucketRuleStatus)[keyof typeof DirectoryBucketRuleStatus]; + export const DirectoryBucketServerSideEncryptionByDefaultSseAlgorithm = { Awskms: "aws:kms", Aes256: "AES256", diff --git a/sdk/nodejs/types/enums/sagemaker/index.ts b/sdk/nodejs/types/enums/sagemaker/index.ts index e8dfb75f51..7891dfc079 100644 --- a/sdk/nodejs/types/enums/sagemaker/index.ts +++ b/sdk/nodejs/types/enums/sagemaker/index.ts @@ -248,6 +248,11 @@ export const DomainMlTools = { Endpoints: "Endpoints", Projects: "Projects", InferenceOptimization: "InferenceOptimization", + HyperPodClusters: "HyperPodClusters", + Comet: "Comet", + DeepchecksLlmEvaluation: "DeepchecksLLMEvaluation", + Fiddler: "Fiddler", + LakeraGuard: "LakeraGuard", } as const; export type DomainMlTools = (typeof DomainMlTools)[keyof typeof DomainMlTools]; @@ -1197,6 +1202,11 @@ export const UserProfileMlTools = { Endpoints: "Endpoints", Projects: "Projects", InferenceOptimization: "InferenceOptimization", + HyperPodClusters: "HyperPodClusters", + Comet: "Comet", + DeepchecksLlmEvaluation: "DeepchecksLLMEvaluation", + Fiddler: "Fiddler", + LakeraGuard: "LakeraGuard", } as const; export type UserProfileMlTools = (typeof UserProfileMlTools)[keyof typeof UserProfileMlTools]; diff --git a/sdk/nodejs/types/enums/synthetics/index.ts b/sdk/nodejs/types/enums/synthetics/index.ts index daa8cc3716..af71a9fe13 100644 --- a/sdk/nodejs/types/enums/synthetics/index.ts +++ b/sdk/nodejs/types/enums/synthetics/index.ts @@ -2,6 +2,16 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const CanaryProvisionedResourceCleanup = { + Automatic: "AUTOMATIC", + Off: "OFF", +} as const; + +/** + * Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + */ +export type CanaryProvisionedResourceCleanup = (typeof CanaryProvisionedResourceCleanup)[keyof typeof CanaryProvisionedResourceCleanup]; + export const CanaryResourceToTag = { LambdaFunction: "lambda-function", } as const; diff --git a/sdk/nodejs/types/enums/workspacesweb/index.ts b/sdk/nodejs/types/enums/workspacesweb/index.ts index 2abceac9ef..f292c33e1e 100644 --- a/sdk/nodejs/types/enums/workspacesweb/index.ts +++ b/sdk/nodejs/types/enums/workspacesweb/index.ts @@ -2,6 +2,12 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const DataProtectionSettingsRedactionPlaceHolderType = { + CustomText: "CustomText", +} as const; + +export type DataProtectionSettingsRedactionPlaceHolderType = (typeof DataProtectionSettingsRedactionPlaceHolderType)[keyof typeof DataProtectionSettingsRedactionPlaceHolderType]; + export const IdentityProviderType = { Saml: "SAML", Facebook: "Facebook", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index e4f9e523bb..fc1775ed28 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1909,6 +1909,10 @@ export namespace apigateway { truststoreVersion?: pulumi.Input; } + export interface DomainNameV2EndpointConfigurationArgs { + types?: pulumi.Input[]>; + } + /** * ``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls. */ @@ -7297,6 +7301,7 @@ export namespace autoscaling { * The namespace of the metric. */ namespace?: pulumi.Input; + period?: pulumi.Input; /** * The statistic of the metric. */ @@ -7627,6 +7632,7 @@ export namespace autoscaling { * Conditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both. */ metricStat?: pulumi.Input; + period?: pulumi.Input; /** * Indicates whether to return the timestamps and raw data values of this metric. * @@ -7642,6 +7648,7 @@ export namespace autoscaling { * The metric to use. */ metric: pulumi.Input; + period?: pulumi.Input; /** * The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . * @@ -12175,7 +12182,13 @@ export namespace cloudformation { active?: pulumi.Input; } + /** + * Specifies the S3 location of your input parameters. + */ export interface OptionsPropertiesArgs { + /** + * Specifies the S3 location where your input parameters are located. + */ inputParams?: pulumi.Input; } @@ -16612,6 +16625,50 @@ export namespace connect { startTime: pulumi.Input; } + /** + * Overrides attached to the hours of operation. + */ + export interface HoursOfOperationOverrideArgs { + effectiveFrom: pulumi.Input; + effectiveTill: pulumi.Input; + hoursOfOperationOverrideId?: pulumi.Input; + overrideConfig: pulumi.Input[]>; + overrideDescription?: pulumi.Input; + overrideName: pulumi.Input; + } + + /** + * Contains information about the hours of operation override. + */ + export interface HoursOfOperationOverrideConfigArgs { + /** + * The day that the hours of operation override applies to. + */ + day: pulumi.Input; + /** + * The new end time that your contact center closes for the overriden days. + */ + endTime: pulumi.Input; + /** + * The new start time that your contact center opens for the overriden days. + */ + startTime: pulumi.Input; + } + + /** + * The start time or end time for an an hours of operation override. + */ + export interface HoursOfOperationOverrideTimeSliceArgs { + /** + * The hours. + */ + hours: pulumi.Input; + /** + * The minutes. + */ + minutes: pulumi.Input; + } + /** * The start time or end time for an hours of operation. */ @@ -18192,6 +18249,147 @@ export namespace customerprofiles { objectTypeKeyList?: pulumi.Input[]>; } + /** + * The address based criteria for the segment. + */ + export interface SegmentDefinitionAddressDimensionArgs { + city?: pulumi.Input; + country?: pulumi.Input; + county?: pulumi.Input; + postalCode?: pulumi.Input; + province?: pulumi.Input; + state?: pulumi.Input; + } + + /** + * Specifies attribute based criteria for a segment. + */ + export interface SegmentDefinitionAttributeDimensionArgs { + dimensionType: pulumi.Input; + values: pulumi.Input[]>; + } + + /** + * Specifies calculated attribute based criteria for a segment. + */ + export interface SegmentDefinitionCalculatedAttributeDimensionArgs { + conditionOverrides?: pulumi.Input; + dimensionType: pulumi.Input; + values: pulumi.Input[]>; + } + + /** + * Overrides the condition block within the original calculated attribute definition. + */ + export interface SegmentDefinitionConditionOverridesArgs { + range?: pulumi.Input; + } + + /** + * Specifies date based criteria for a segment. + */ + export interface SegmentDefinitionDateDimensionArgs { + dimensionType: pulumi.Input; + values: pulumi.Input[]>; + } + + /** + * The criteria that define the dimensions for the segment. + */ + export interface SegmentDefinitionDimension0PropertiesArgs { + profileAttributes: pulumi.Input; + } + + /** + * The criteria that define the dimensions for the segment. + */ + export interface SegmentDefinitionDimension1PropertiesArgs { + calculatedAttributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Specifies criteria for a segment using extended-length string values. + */ + export interface SegmentDefinitionExtraLengthValueProfileDimensionArgs { + dimensionType: pulumi.Input; + values: pulumi.Input[]>; + } + + /** + * An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + */ + export interface SegmentDefinitionGroupArgs { + dimensions?: pulumi.Input[]>; + sourceSegments?: pulumi.Input[]>; + sourceType?: pulumi.Input; + type?: pulumi.Input; + } + + /** + * Specifies the dimension settings within profile attributes for a segment. + */ + export interface SegmentDefinitionProfileAttributesArgs { + accountNumber?: pulumi.Input; + additionalInformation?: pulumi.Input; + address?: pulumi.Input; + attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + billingAddress?: pulumi.Input; + birthDate?: pulumi.Input; + businessEmailAddress?: pulumi.Input; + businessName?: pulumi.Input; + businessPhoneNumber?: pulumi.Input; + emailAddress?: pulumi.Input; + firstName?: pulumi.Input; + genderString?: pulumi.Input; + homePhoneNumber?: pulumi.Input; + lastName?: pulumi.Input; + mailingAddress?: pulumi.Input; + middleName?: pulumi.Input; + mobilePhoneNumber?: pulumi.Input; + partyTypeString?: pulumi.Input; + personalEmailAddress?: pulumi.Input; + phoneNumber?: pulumi.Input; + shippingAddress?: pulumi.Input; + } + + /** + * Specifies profile based criteria for a segment. + */ + export interface SegmentDefinitionProfileDimensionArgs { + dimensionType: pulumi.Input; + values: pulumi.Input[]>; + } + + /** + * Defines the range to be applied to the calculated attribute definition. + */ + export interface SegmentDefinitionRangeOverrideArgs { + /** + * The ending point for this overridden range. + */ + end?: pulumi.Input; + /** + * The starting point for this overridden range. + */ + start: pulumi.Input; + /** + * The unit to be applied to the range. + */ + unit: pulumi.Input; + } + + export interface SegmentDefinitionSegmentGroupArgs { + groups?: pulumi.Input[]>; + include?: pulumi.Input; + } + + /** + * The base segment to build the segment on. + */ + export interface SegmentDefinitionSourceSegmentArgs { + segmentDefinitionName?: pulumi.Input; + } + } export namespace databrew { @@ -20778,7 +20976,7 @@ export namespace dynamodb { */ provisionedThroughput?: pulumi.Input; /** - * Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + * Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. */ warmThroughput?: pulumi.Input; } @@ -21027,6 +21225,9 @@ export namespace dynamodb { enabled: pulumi.Input; } + /** + * Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. + */ export interface TableWarmThroughputArgs { /** * Represents the number of read operations your base table can instantaneously support. @@ -22165,6 +22366,10 @@ export namespace ec2 { min?: pulumi.Input; } + export interface LaunchTemplateBaselinePerformanceFactorsArgs { + cpu?: pulumi.Input; + } + /** * Specifies a block device mapping for a launch template. You must specify ``DeviceName`` plus exactly one of the following properties: ``Ebs``, ``NoDevice``, or ``VirtualName``. * ``BlockDeviceMapping`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html). @@ -22238,6 +22443,10 @@ export namespace ec2 { udpTimeout?: pulumi.Input; } + export interface LaunchTemplateCpuArgs { + references?: pulumi.Input[]>; + } + /** * Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*. * ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html). @@ -22672,6 +22881,7 @@ export namespace ec2 { * Default: No minimum or maximum limits */ baselineEbsBandwidthMbps?: pulumi.Input; + baselinePerformanceFactors?: pulumi.Input; /** * Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). * + To include burstable performance instance types, specify ``included``. @@ -23117,6 +23327,13 @@ export namespace ec2 { privateIpAddress?: pulumi.Input; } + export interface LaunchTemplateReferenceArgs { + /** + * The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + */ + instanceFamily?: pulumi.Input; + } + /** * Specifies options for Spot Instances. * ``SpotOptions`` is a property of [AWS::EC2::LaunchTemplate InstanceMarketOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html). @@ -26060,6 +26277,9 @@ export namespace ecs { * This parameter is not supported for Windows containers. */ user?: pulumi.Input; + /** + * Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + */ versionConsistency?: pulumi.Input; /** * Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run. @@ -26990,6 +27210,9 @@ export namespace efs { * For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. */ region?: pulumi.Input; + roleArn?: pulumi.Input; + status?: pulumi.Input; + statusMessage?: pulumi.Input; } } @@ -35039,10 +35262,17 @@ export namespace iot { thingGroupDescription?: pulumi.Input; } + export interface ThingTypePropagatingAttributeArgs { + connectionAttribute?: pulumi.Input; + thingAttribute?: pulumi.Input; + userPropertyKey: pulumi.Input; + } + /** * The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . */ export interface ThingTypePropertiesPropertiesArgs { + mqtt5Configuration?: pulumi.Input; /** * A list of searchable thing attribute names. */ @@ -35053,6 +35283,10 @@ export namespace iot { thingTypeDescription?: pulumi.Input; } + export interface ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs { + propagatingAttributes?: pulumi.Input[]>; + } + /** * Specifies the amount of time each device has to finish its execution of the job. */ @@ -38090,6 +38324,13 @@ export namespace iotsitewise { iotCoreThingName: pulumi.Input; } + /** + * Container associated a certain PortalType. + */ + export interface PortalTypeEntryArgs { + portalTools: pulumi.Input[]>; + } + } export namespace iottwinmaker { @@ -42759,6 +43000,13 @@ export namespace lambda { filters?: pulumi.Input[]>; } + export interface EventSourceMappingMetricsConfigArgs { + /** + * Metric groups to enable. + */ + metrics?: pulumi.Input[]>; + } + /** * A destination for events that failed processing. */ @@ -42772,6 +43020,17 @@ export namespace lambda { destination?: pulumi.Input; } + export interface EventSourceMappingProvisionedPollerConfigArgs { + /** + * The maximum number of event pollers this event source can scale up to. + */ + maximumPollers?: pulumi.Input; + /** + * The minimum number of event pollers this event source can scale down to. + */ + minimumPollers?: pulumi.Input; + } + /** * (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value. */ @@ -49831,6 +50090,24 @@ export namespace omics { } export namespace opensearchserverless { + /** + * Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + */ + export interface SecurityConfigIamIdentityCenterConfigOptionsArgs { + applicationArn?: pulumi.Input; + /** + * The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + */ + applicationDescription?: pulumi.Input; + /** + * The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + */ + applicationName?: pulumi.Input; + groupAttribute?: pulumi.Input; + instanceArn: pulumi.Input; + userAttribute?: pulumi.Input; + } + /** * Describes saml options in form of key value map */ @@ -80076,6 +80353,13 @@ export namespace rds { sessionPinningFilters?: pulumi.Input[]>; } + export interface GlobalClusterGlobalEndpointArgs { + /** + * The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + */ + address?: pulumi.Input; + } + /** * The ``OptionConfiguration`` property type specifies an individual option, and its settings, within an ``AWS::RDS::OptionGroup`` resource. */ @@ -81191,14 +81475,26 @@ export namespace route53resolver { * BlockResponse */ blockResponse?: pulumi.Input; + /** + * FirewallDomainRedirectionAction + */ + confidenceThreshold?: pulumi.Input; + /** + * FirewallDomainRedirectionAction + */ + dnsThreatProtection?: pulumi.Input; /** * ResourceId */ - firewallDomainListId: pulumi.Input; + firewallDomainListId?: pulumi.Input; /** * FirewallDomainRedirectionAction */ firewallDomainRedirectionAction?: pulumi.Input; + /** + * ResourceId + */ + firewallThreatProtectionId?: pulumi.Input; /** * Rule Priority */ @@ -82918,6 +83214,16 @@ export namespace s3 { } export namespace s3express { + /** + * Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + */ + export interface DirectoryBucketAbortIncompleteMultipartUploadArgs { + /** + * Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + */ + daysAfterInitiation: pulumi.Input; + } + /** * Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). */ @@ -82928,6 +83234,26 @@ export namespace s3express { serverSideEncryptionConfiguration: pulumi.Input[]>; } + export interface DirectoryBucketLifecycleConfigurationArgs { + /** + * A lifecycle rule for individual objects in an Amazon S3 Express bucket. + */ + rules: pulumi.Input[]>; + } + + /** + * You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + */ + export interface DirectoryBucketRuleArgs { + abortIncompleteMultipartUpload?: pulumi.Input; + expirationInDays?: pulumi.Input; + id?: pulumi.Input; + objectSizeGreaterThan?: pulumi.Input; + objectSizeLessThan?: pulumi.Input; + prefix?: pulumi.Input; + status: pulumi.Input; + } + /** * Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. */ @@ -83234,6 +83560,7 @@ export namespace sagemaker { * The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. */ currentCount?: pulumi.Input; + customMetadata?: any; executionRole: pulumi.Input; /** * The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. @@ -95558,6 +95885,34 @@ export namespace workspacesthinclient { } export namespace workspacesweb { + export interface DataProtectionSettingsCustomPatternArgs { + keywordRegex?: pulumi.Input; + patternDescription?: pulumi.Input; + patternName: pulumi.Input; + patternRegex: pulumi.Input; + } + + export interface DataProtectionSettingsInlineRedactionConfigurationArgs { + globalConfidenceLevel?: pulumi.Input; + globalEnforcedUrls?: pulumi.Input[]>; + globalExemptUrls?: pulumi.Input[]>; + inlineRedactionPatterns: pulumi.Input[]>; + } + + export interface DataProtectionSettingsInlineRedactionPatternArgs { + builtInPatternId?: pulumi.Input; + confidenceLevel?: pulumi.Input; + customPattern?: pulumi.Input; + enforcedUrls?: pulumi.Input[]>; + exemptUrls?: pulumi.Input[]>; + redactionPlaceHolder: pulumi.Input; + } + + export interface DataProtectionSettingsRedactionPlaceHolderArgs { + redactionPlaceHolderText?: pulumi.Input; + redactionPlaceHolderType: pulumi.Input; + } + export interface IpAccessSettingsIpRuleArgs { /** * The description of the IP rule. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 6ae957fcc0..56454d41bb 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1806,6 +1806,10 @@ export namespace apigateway { truststoreVersion?: string; } + export interface DomainNameV2EndpointConfiguration { + types?: string[]; + } + /** * ``Integration`` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls. */ @@ -7215,6 +7219,7 @@ export namespace autoscaling { * The namespace of the metric. */ namespace?: string; + period?: number; /** * The statistic of the metric. */ @@ -7545,6 +7550,7 @@ export namespace autoscaling { * Conditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both. */ metricStat?: outputs.autoscaling.ScalingPolicyTargetTrackingMetricStat; + period?: number; /** * Indicates whether to return the timestamps and raw data values of this metric. * @@ -7560,6 +7566,7 @@ export namespace autoscaling { * The metric to use. */ metric: outputs.autoscaling.ScalingPolicyMetric; + period?: number; /** * The statistic to return. It can include any CloudWatch statistic or extended statistic. For a list of valid values, see the table in [Statistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Statistic) in the *Amazon CloudWatch User Guide* . * @@ -12748,7 +12755,13 @@ export namespace cloudformation { active?: boolean; } + /** + * Specifies the S3 location of your input parameters. + */ export interface OptionsProperties { + /** + * Specifies the S3 location where your input parameters are located. + */ inputParams?: outputs.cloudformation.GuardHookS3Location; } @@ -17324,6 +17337,50 @@ export namespace connect { startTime: outputs.connect.HoursOfOperationTimeSlice; } + /** + * Overrides attached to the hours of operation. + */ + export interface HoursOfOperationOverride { + effectiveFrom: string; + effectiveTill: string; + hoursOfOperationOverrideId?: string; + overrideConfig: outputs.connect.HoursOfOperationOverrideConfig[]; + overrideDescription?: string; + overrideName: string; + } + + /** + * Contains information about the hours of operation override. + */ + export interface HoursOfOperationOverrideConfig { + /** + * The day that the hours of operation override applies to. + */ + day: enums.connect.HoursOfOperationOverrideConfigDay; + /** + * The new end time that your contact center closes for the overriden days. + */ + endTime: outputs.connect.HoursOfOperationOverrideTimeSlice; + /** + * The new start time that your contact center opens for the overriden days. + */ + startTime: outputs.connect.HoursOfOperationOverrideTimeSlice; + } + + /** + * The start time or end time for an an hours of operation override. + */ + export interface HoursOfOperationOverrideTimeSlice { + /** + * The hours. + */ + hours: number; + /** + * The minutes. + */ + minutes: number; + } + /** * The start time or end time for an hours of operation. */ @@ -18941,6 +18998,147 @@ export namespace customerprofiles { objectTypeKeyList?: outputs.customerprofiles.ObjectTypeKey[]; } + /** + * The address based criteria for the segment. + */ + export interface SegmentDefinitionAddressDimension { + city?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + country?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + county?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + postalCode?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + province?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + state?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + } + + /** + * Specifies attribute based criteria for a segment. + */ + export interface SegmentDefinitionAttributeDimension { + dimensionType: enums.customerprofiles.SegmentDefinitionAttributeDimensionType; + values: string[]; + } + + /** + * Specifies calculated attribute based criteria for a segment. + */ + export interface SegmentDefinitionCalculatedAttributeDimension { + conditionOverrides?: outputs.customerprofiles.SegmentDefinitionConditionOverrides; + dimensionType: enums.customerprofiles.SegmentDefinitionAttributeDimensionType; + values: string[]; + } + + /** + * Overrides the condition block within the original calculated attribute definition. + */ + export interface SegmentDefinitionConditionOverrides { + range?: outputs.customerprofiles.SegmentDefinitionRangeOverride; + } + + /** + * Specifies date based criteria for a segment. + */ + export interface SegmentDefinitionDateDimension { + dimensionType: enums.customerprofiles.SegmentDefinitionDateDimensionType; + values: string[]; + } + + /** + * The criteria that define the dimensions for the segment. + */ + export interface SegmentDefinitionDimension0Properties { + profileAttributes: outputs.customerprofiles.SegmentDefinitionProfileAttributes; + } + + /** + * The criteria that define the dimensions for the segment. + */ + export interface SegmentDefinitionDimension1Properties { + calculatedAttributes?: {[key: string]: outputs.customerprofiles.SegmentDefinitionCalculatedAttributeDimension}; + } + + /** + * Specifies criteria for a segment using extended-length string values. + */ + export interface SegmentDefinitionExtraLengthValueProfileDimension { + dimensionType: enums.customerprofiles.SegmentDefinitionStringDimensionType; + values: string[]; + } + + /** + * An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + */ + export interface SegmentDefinitionGroup { + dimensions?: (outputs.customerprofiles.SegmentDefinitionDimension0Properties | outputs.customerprofiles.SegmentDefinitionDimension1Properties)[]; + sourceSegments?: outputs.customerprofiles.SegmentDefinitionSourceSegment[]; + sourceType?: enums.customerprofiles.SegmentDefinitionIncludeOptions; + type?: enums.customerprofiles.SegmentDefinitionIncludeOptions; + } + + /** + * Specifies the dimension settings within profile attributes for a segment. + */ + export interface SegmentDefinitionProfileAttributes { + accountNumber?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + additionalInformation?: outputs.customerprofiles.SegmentDefinitionExtraLengthValueProfileDimension; + address?: outputs.customerprofiles.SegmentDefinitionAddressDimension; + attributes?: {[key: string]: outputs.customerprofiles.SegmentDefinitionAttributeDimension}; + billingAddress?: outputs.customerprofiles.SegmentDefinitionAddressDimension; + birthDate?: outputs.customerprofiles.SegmentDefinitionDateDimension; + businessEmailAddress?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + businessName?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + businessPhoneNumber?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + emailAddress?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + firstName?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + genderString?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + homePhoneNumber?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + lastName?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + mailingAddress?: outputs.customerprofiles.SegmentDefinitionAddressDimension; + middleName?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + mobilePhoneNumber?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + partyTypeString?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + personalEmailAddress?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + phoneNumber?: outputs.customerprofiles.SegmentDefinitionProfileDimension; + shippingAddress?: outputs.customerprofiles.SegmentDefinitionAddressDimension; + } + + /** + * Specifies profile based criteria for a segment. + */ + export interface SegmentDefinitionProfileDimension { + dimensionType: enums.customerprofiles.SegmentDefinitionStringDimensionType; + values: string[]; + } + + /** + * Defines the range to be applied to the calculated attribute definition. + */ + export interface SegmentDefinitionRangeOverride { + /** + * The ending point for this overridden range. + */ + end?: number; + /** + * The starting point for this overridden range. + */ + start: number; + /** + * The unit to be applied to the range. + */ + unit: enums.customerprofiles.SegmentDefinitionRangeOverrideUnit; + } + + export interface SegmentDefinitionSegmentGroup { + groups?: outputs.customerprofiles.SegmentDefinitionGroup[]; + include?: enums.customerprofiles.SegmentDefinitionIncludeOptions; + } + + /** + * The base segment to build the segment on. + */ + export interface SegmentDefinitionSourceSegment { + segmentDefinitionName?: string; + } + } export namespace databrew { @@ -21578,7 +21776,7 @@ export namespace dynamodb { */ provisionedThroughput?: outputs.dynamodb.TableProvisionedThroughput; /** - * Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + * Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. */ warmThroughput?: outputs.dynamodb.TableWarmThroughput; } @@ -21827,6 +22025,9 @@ export namespace dynamodb { enabled: boolean; } + /** + * Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. + */ export interface TableWarmThroughput { /** * Represents the number of read operations your base table can instantaneously support. @@ -22980,6 +23181,10 @@ export namespace ec2 { min?: number; } + export interface LaunchTemplateBaselinePerformanceFactors { + cpu?: outputs.ec2.LaunchTemplateCpu; + } + /** * Specifies a block device mapping for a launch template. You must specify ``DeviceName`` plus exactly one of the following properties: ``Ebs``, ``NoDevice``, or ``VirtualName``. * ``BlockDeviceMapping`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html). @@ -23053,6 +23258,10 @@ export namespace ec2 { udpTimeout?: number; } + export interface LaunchTemplateCpu { + references?: outputs.ec2.LaunchTemplateReference[]; + } + /** * Specifies the CPU options for an instance. For more information, see [Optimize CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) in the *User Guide*. * ``CpuOptions`` is a property of [AWS::EC2::LaunchTemplate LaunchTemplateData](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html). @@ -23487,6 +23696,7 @@ export namespace ec2 { * Default: No minimum or maximum limits */ baselineEbsBandwidthMbps?: outputs.ec2.LaunchTemplateBaselineEbsBandwidthMbps; + baselinePerformanceFactors?: outputs.ec2.LaunchTemplateBaselinePerformanceFactors; /** * Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). * + To include burstable performance instance types, specify ``included``. @@ -23932,6 +24142,13 @@ export namespace ec2 { privateIpAddress?: string; } + export interface LaunchTemplateReference { + /** + * The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + */ + instanceFamily?: string; + } + /** * Specifies options for Spot Instances. * ``SpotOptions`` is a property of [AWS::EC2::LaunchTemplate InstanceMarketOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html). @@ -27417,6 +27634,9 @@ export namespace ecs { * This parameter is not supported for Windows containers. */ user?: string; + /** + * Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + */ versionConsistency?: enums.ecs.TaskDefinitionContainerDefinitionVersionConsistency; /** * Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run. @@ -28347,6 +28567,9 @@ export namespace efs { * For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. */ region?: string; + roleArn?: string; + status?: string; + statusMessage?: string; } } @@ -36477,10 +36700,17 @@ export namespace iot { thingGroupDescription?: string; } + export interface ThingTypePropagatingAttribute { + connectionAttribute?: enums.iot.ThingTypePropagatingAttributeConnectionAttribute; + thingAttribute?: string; + userPropertyKey: string; + } + /** * The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . */ export interface ThingTypePropertiesProperties { + mqtt5Configuration?: outputs.iot.ThingTypePropertiesPropertiesMqtt5ConfigurationProperties; /** * A list of searchable thing attribute names. */ @@ -36491,6 +36721,10 @@ export namespace iot { thingTypeDescription?: string; } + export interface ThingTypePropertiesPropertiesMqtt5ConfigurationProperties { + propagatingAttributes?: outputs.iot.ThingTypePropagatingAttribute[]; + } + /** * Specifies the amount of time each device has to finish its execution of the job. */ @@ -39529,6 +39763,13 @@ export namespace iotsitewise { iotCoreThingName: string; } + /** + * Container associated a certain PortalType. + */ + export interface PortalTypeEntry { + portalTools: string[]; + } + } export namespace iottwinmaker { @@ -44237,6 +44478,13 @@ export namespace lambda { filters?: outputs.lambda.EventSourceMappingFilter[]; } + export interface EventSourceMappingMetricsConfig { + /** + * Metric groups to enable. + */ + metrics?: enums.lambda.EventSourceMappingMetricsConfigMetricsItem[]; + } + /** * A destination for events that failed processing. */ @@ -44250,6 +44498,17 @@ export namespace lambda { destination?: string; } + export interface EventSourceMappingProvisionedPollerConfig { + /** + * The maximum number of event pollers this event source can scale up to. + */ + maximumPollers?: number; + /** + * The minimum number of event pollers this event source can scale down to. + */ + minimumPollers?: number; + } + /** * (Amazon SQS only) The scaling configuration for the event source. To remove the configuration, pass an empty value. */ @@ -51525,6 +51784,24 @@ export namespace omics { } export namespace opensearchserverless { + /** + * Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + */ + export interface SecurityConfigIamIdentityCenterConfigOptions { + applicationArn?: string; + /** + * The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + */ + applicationDescription?: string; + /** + * The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + */ + applicationName?: string; + groupAttribute?: string; + instanceArn: string; + userAttribute?: string; + } + /** * Describes saml options in form of key value map */ @@ -82167,6 +82444,13 @@ export namespace rds { sessionPinningFilters?: string[]; } + export interface GlobalClusterGlobalEndpoint { + /** + * The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + */ + address?: string; + } + /** * The ``OptionConfiguration`` property type specifies an individual option, and its settings, within an ``AWS::RDS::OptionGroup`` resource. */ @@ -83517,14 +83801,26 @@ export namespace route53resolver { * BlockResponse */ blockResponse?: enums.route53resolver.FirewallRuleGroupFirewallRuleBlockResponse; + /** + * FirewallDomainRedirectionAction + */ + confidenceThreshold?: enums.route53resolver.FirewallRuleGroupFirewallRuleConfidenceThreshold; + /** + * FirewallDomainRedirectionAction + */ + dnsThreatProtection?: enums.route53resolver.FirewallRuleGroupFirewallRuleDnsThreatProtection; /** * ResourceId */ - firewallDomainListId: string; + firewallDomainListId?: string; /** * FirewallDomainRedirectionAction */ firewallDomainRedirectionAction?: enums.route53resolver.FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction; + /** + * ResourceId + */ + firewallThreatProtectionId?: string; /** * Rule Priority */ @@ -85255,6 +85551,16 @@ export namespace s3 { } export namespace s3express { + /** + * Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + */ + export interface DirectoryBucketAbortIncompleteMultipartUpload { + /** + * Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + */ + daysAfterInitiation: number; + } + /** * Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). */ @@ -85265,6 +85571,26 @@ export namespace s3express { serverSideEncryptionConfiguration: outputs.s3express.DirectoryBucketServerSideEncryptionRule[]; } + export interface DirectoryBucketLifecycleConfiguration { + /** + * A lifecycle rule for individual objects in an Amazon S3 Express bucket. + */ + rules: outputs.s3express.DirectoryBucketRule[]; + } + + /** + * You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + */ + export interface DirectoryBucketRule { + abortIncompleteMultipartUpload?: outputs.s3express.DirectoryBucketAbortIncompleteMultipartUpload; + expirationInDays?: number; + id?: string; + objectSizeGreaterThan?: string; + objectSizeLessThan?: string; + prefix?: string; + status: enums.s3express.DirectoryBucketRuleStatus; + } + /** * Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. */ @@ -85628,6 +85954,7 @@ export namespace sagemaker { * The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. */ currentCount?: number; + customMetadata?: any; executionRole: string; /** * The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. @@ -98034,6 +98361,34 @@ export namespace workspacesthinclient { } export namespace workspacesweb { + export interface DataProtectionSettingsCustomPattern { + keywordRegex?: string; + patternDescription?: string; + patternName: string; + patternRegex: string; + } + + export interface DataProtectionSettingsInlineRedactionConfiguration { + globalConfidenceLevel?: number; + globalEnforcedUrls?: string[]; + globalExemptUrls?: string[]; + inlineRedactionPatterns: outputs.workspacesweb.DataProtectionSettingsInlineRedactionPattern[]; + } + + export interface DataProtectionSettingsInlineRedactionPattern { + builtInPatternId?: string; + confidenceLevel?: number; + customPattern?: outputs.workspacesweb.DataProtectionSettingsCustomPattern; + enforcedUrls?: string[]; + exemptUrls?: string[]; + redactionPlaceHolder: outputs.workspacesweb.DataProtectionSettingsRedactionPlaceHolder; + } + + export interface DataProtectionSettingsRedactionPlaceHolder { + redactionPlaceHolderText?: string; + redactionPlaceHolderType: enums.workspacesweb.DataProtectionSettingsRedactionPlaceHolderType; + } + export interface IpAccessSettingsIpRule { /** * The description of the IP rule. diff --git a/sdk/nodejs/workspacesweb/dataProtectionSettings.ts b/sdk/nodejs/workspacesweb/dataProtectionSettings.ts new file mode 100644 index 0000000000..5adea57492 --- /dev/null +++ b/sdk/nodejs/workspacesweb/dataProtectionSettings.ts @@ -0,0 +1,98 @@ +// *** 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::WorkSpacesWeb::DataProtectionSettings Resource Type + */ +export class DataProtectionSettings extends pulumi.CustomResource { + /** + * Get an existing DataProtectionSettings 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): DataProtectionSettings { + return new DataProtectionSettings(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:workspacesweb:DataProtectionSettings'; + + /** + * Returns true if the given object is an instance of DataProtectionSettings. 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 DataProtectionSettings { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DataProtectionSettings.__pulumiType; + } + + public readonly additionalEncryptionContext!: pulumi.Output<{[key: string]: string} | undefined>; + public /*out*/ readonly associatedPortalArns!: pulumi.Output; + public /*out*/ readonly creationDate!: pulumi.Output; + public readonly customerManagedKey!: pulumi.Output; + public /*out*/ readonly dataProtectionSettingsArn!: pulumi.Output; + public readonly description!: pulumi.Output; + public readonly displayName!: pulumi.Output; + public readonly inlineRedactionConfiguration!: pulumi.Output; + public readonly tags!: pulumi.Output; + + /** + * Create a DataProtectionSettings 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?: DataProtectionSettingsArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["additionalEncryptionContext"] = args ? args.additionalEncryptionContext : undefined; + resourceInputs["customerManagedKey"] = args ? args.customerManagedKey : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["displayName"] = args ? args.displayName : undefined; + resourceInputs["inlineRedactionConfiguration"] = args ? args.inlineRedactionConfiguration : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["associatedPortalArns"] = undefined /*out*/; + resourceInputs["creationDate"] = undefined /*out*/; + resourceInputs["dataProtectionSettingsArn"] = undefined /*out*/; + } else { + resourceInputs["additionalEncryptionContext"] = undefined /*out*/; + resourceInputs["associatedPortalArns"] = undefined /*out*/; + resourceInputs["creationDate"] = undefined /*out*/; + resourceInputs["customerManagedKey"] = undefined /*out*/; + resourceInputs["dataProtectionSettingsArn"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["displayName"] = undefined /*out*/; + resourceInputs["inlineRedactionConfiguration"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["additionalEncryptionContext.*", "customerManagedKey"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(DataProtectionSettings.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DataProtectionSettings resource. + */ +export interface DataProtectionSettingsArgs { + additionalEncryptionContext?: pulumi.Input<{[key: string]: pulumi.Input}>; + customerManagedKey?: pulumi.Input; + description?: pulumi.Input; + displayName?: pulumi.Input; + inlineRedactionConfiguration?: pulumi.Input; + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/workspacesweb/getDataProtectionSettings.ts b/sdk/nodejs/workspacesweb/getDataProtectionSettings.ts new file mode 100644 index 0000000000..147d17070a --- /dev/null +++ b/sdk/nodejs/workspacesweb/getDataProtectionSettings.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 inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + */ +export function getDataProtectionSettings(args: GetDataProtectionSettingsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:workspacesweb:getDataProtectionSettings", { + "dataProtectionSettingsArn": args.dataProtectionSettingsArn, + }, opts); +} + +export interface GetDataProtectionSettingsArgs { + dataProtectionSettingsArn: string; +} + +export interface GetDataProtectionSettingsResult { + readonly associatedPortalArns?: string[]; + readonly creationDate?: string; + readonly dataProtectionSettingsArn?: string; + readonly description?: string; + readonly displayName?: string; + readonly inlineRedactionConfiguration?: outputs.workspacesweb.DataProtectionSettingsInlineRedactionConfiguration; + readonly tags?: outputs.Tag[]; +} +/** + * Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + */ +export function getDataProtectionSettingsOutput(args: GetDataProtectionSettingsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:workspacesweb:getDataProtectionSettings", { + "dataProtectionSettingsArn": args.dataProtectionSettingsArn, + }, opts); +} + +export interface GetDataProtectionSettingsOutputArgs { + dataProtectionSettingsArn: pulumi.Input; +} diff --git a/sdk/nodejs/workspacesweb/getPortal.ts b/sdk/nodejs/workspacesweb/getPortal.ts index 1af493d4e5..e110646ed8 100644 --- a/sdk/nodejs/workspacesweb/getPortal.ts +++ b/sdk/nodejs/workspacesweb/getPortal.ts @@ -53,6 +53,7 @@ export interface GetPortalResult { * The creation date of the web portal. */ readonly creationDate?: string; + readonly dataProtectionSettingsArn?: string; /** * The name of the web portal. */ diff --git a/sdk/nodejs/workspacesweb/index.ts b/sdk/nodejs/workspacesweb/index.ts index 47e1820a08..004546608d 100644 --- a/sdk/nodejs/workspacesweb/index.ts +++ b/sdk/nodejs/workspacesweb/index.ts @@ -10,11 +10,21 @@ export type BrowserSettings = import("./browserSettings").BrowserSettings; export const BrowserSettings: typeof import("./browserSettings").BrowserSettings = null as any; utilities.lazyLoad(exports, ["BrowserSettings"], () => require("./browserSettings")); +export { DataProtectionSettingsArgs } from "./dataProtectionSettings"; +export type DataProtectionSettings = import("./dataProtectionSettings").DataProtectionSettings; +export const DataProtectionSettings: typeof import("./dataProtectionSettings").DataProtectionSettings = null as any; +utilities.lazyLoad(exports, ["DataProtectionSettings"], () => require("./dataProtectionSettings")); + export { GetBrowserSettingsArgs, GetBrowserSettingsResult, GetBrowserSettingsOutputArgs } from "./getBrowserSettings"; export const getBrowserSettings: typeof import("./getBrowserSettings").getBrowserSettings = null as any; export const getBrowserSettingsOutput: typeof import("./getBrowserSettings").getBrowserSettingsOutput = null as any; utilities.lazyLoad(exports, ["getBrowserSettings","getBrowserSettingsOutput"], () => require("./getBrowserSettings")); +export { GetDataProtectionSettingsArgs, GetDataProtectionSettingsResult, GetDataProtectionSettingsOutputArgs } from "./getDataProtectionSettings"; +export const getDataProtectionSettings: typeof import("./getDataProtectionSettings").getDataProtectionSettings = null as any; +export const getDataProtectionSettingsOutput: typeof import("./getDataProtectionSettings").getDataProtectionSettingsOutput = null as any; +utilities.lazyLoad(exports, ["getDataProtectionSettings","getDataProtectionSettingsOutput"], () => require("./getDataProtectionSettings")); + export { GetIdentityProviderArgs, GetIdentityProviderResult, GetIdentityProviderOutputArgs } from "./getIdentityProvider"; export const getIdentityProvider: typeof import("./getIdentityProvider").getIdentityProvider = null as any; export const getIdentityProviderOutput: typeof import("./getIdentityProvider").getIdentityProviderOutput = null as any; @@ -95,6 +105,8 @@ const _module = { switch (type) { case "aws-native:workspacesweb:BrowserSettings": return new BrowserSettings(name, undefined, { urn }) + case "aws-native:workspacesweb:DataProtectionSettings": + return new DataProtectionSettings(name, undefined, { urn }) case "aws-native:workspacesweb:IdentityProvider": return new IdentityProvider(name, undefined, { urn }) case "aws-native:workspacesweb:IpAccessSettings": diff --git a/sdk/nodejs/workspacesweb/portal.ts b/sdk/nodejs/workspacesweb/portal.ts index 6cba8691d5..736eea119b 100644 --- a/sdk/nodejs/workspacesweb/portal.ts +++ b/sdk/nodejs/workspacesweb/portal.ts @@ -75,6 +75,7 @@ export class Portal extends pulumi.CustomResource { * *Pattern* : `^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$` */ public readonly customerManagedKey!: pulumi.Output; + public readonly dataProtectionSettingsArn!: pulumi.Output; /** * The name of the web portal. */ @@ -151,6 +152,7 @@ export class Portal extends pulumi.CustomResource { resourceInputs["authenticationType"] = args ? args.authenticationType : undefined; resourceInputs["browserSettingsArn"] = args ? args.browserSettingsArn : undefined; resourceInputs["customerManagedKey"] = args ? args.customerManagedKey : undefined; + resourceInputs["dataProtectionSettingsArn"] = args ? args.dataProtectionSettingsArn : undefined; resourceInputs["displayName"] = args ? args.displayName : undefined; resourceInputs["instanceType"] = args ? args.instanceType : undefined; resourceInputs["ipAccessSettingsArn"] = args ? args.ipAccessSettingsArn : undefined; @@ -175,6 +177,7 @@ export class Portal extends pulumi.CustomResource { resourceInputs["browserType"] = undefined /*out*/; resourceInputs["creationDate"] = undefined /*out*/; resourceInputs["customerManagedKey"] = undefined /*out*/; + resourceInputs["dataProtectionSettingsArn"] = undefined /*out*/; resourceInputs["displayName"] = undefined /*out*/; resourceInputs["instanceType"] = undefined /*out*/; resourceInputs["ipAccessSettingsArn"] = undefined /*out*/; @@ -232,6 +235,7 @@ export interface PortalArgs { * *Pattern* : `^arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[a-zA-Z0-9]{1,12}:key\/[a-zA-Z0-9-]+$` */ customerManagedKey?: pulumi.Input; + dataProtectionSettingsArn?: pulumi.Input; /** * The name of the web portal. */ diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index 67f5e81044..bd28a373e3 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -740,11 +740,14 @@ "aws-native:apigateway:ApiKey": "ApiKey", "aws-native:apigateway:Authorizer": "Authorizer", "aws-native:apigateway:BasePathMapping": "BasePathMapping", + "aws-native:apigateway:BasePathMappingV2": "BasePathMappingV2", "aws-native:apigateway:ClientCertificate": "ClientCertificate", "aws-native:apigateway:Deployment": "Deployment", "aws-native:apigateway:DocumentationPart": "DocumentationPart", "aws-native:apigateway:DocumentationVersion": "DocumentationVersion", "aws-native:apigateway:DomainName": "DomainName", + "aws-native:apigateway:DomainNameAccessAssociation": "DomainNameAccessAssociation", + "aws-native:apigateway:DomainNameV2": "DomainNameV2", "aws-native:apigateway:GatewayResponse": "GatewayResponse", "aws-native:apigateway:Method": "Method", "aws-native:apigateway:Model": "Model", @@ -1254,6 +1257,7 @@ "aws-native:connect:ApprovedOrigin": "ApprovedOrigin", "aws-native:connect:ContactFlow": "ContactFlow", "aws-native:connect:ContactFlowModule": "ContactFlowModule", + "aws-native:connect:EmailAddress": "EmailAddress", "aws-native:connect:EvaluationForm": "EvaluationForm", "aws-native:connect:HoursOfOperation": "HoursOfOperation", "aws-native:connect:Instance": "Instance", @@ -1312,7 +1316,8 @@ "aws-native:customerprofiles:Domain": "Domain", "aws-native:customerprofiles:EventStream": "EventStream", "aws-native:customerprofiles:Integration": "Integration", - "aws-native:customerprofiles:ObjectType": "ObjectType" + "aws-native:customerprofiles:ObjectType": "ObjectType", + "aws-native:customerprofiles:SegmentDefinition": "SegmentDefinition" } }, { @@ -1538,6 +1543,8 @@ "aws-native:ec2:Volume": "Volume", "aws-native:ec2:VolumeAttachment": "VolumeAttachment", "aws-native:ec2:Vpc": "Vpc", + "aws-native:ec2:VpcBlockPublicAccessExclusion": "VpcBlockPublicAccessExclusion", + "aws-native:ec2:VpcBlockPublicAccessOptions": "VpcBlockPublicAccessOptions", "aws-native:ec2:VpcCidrBlock": "VpcCidrBlock", "aws-native:ec2:VpcEndpoint": "VpcEndpoint", "aws-native:ec2:VpcEndpointConnectionNotification": "VpcEndpointConnectionNotification", @@ -2292,6 +2299,7 @@ "fqn": "pulumi_aws_native.m2", "classes": { "aws-native:m2:Application": "Application", + "aws-native:m2:Deployment": "Deployment", "aws-native:m2:Environment": "Environment" } }, @@ -3281,6 +3289,7 @@ "fqn": "pulumi_aws_native.workspacesweb", "classes": { "aws-native:workspacesweb:BrowserSettings": "BrowserSettings", + "aws-native:workspacesweb:DataProtectionSettings": "DataProtectionSettings", "aws-native:workspacesweb:IdentityProvider": "IdentityProvider", "aws-native:workspacesweb:IpAccessSettings": "IpAccessSettings", "aws-native:workspacesweb:NetworkSettings": "NetworkSettings", diff --git a/sdk/python/pulumi_aws_native/apigateway/__init__.py b/sdk/python/pulumi_aws_native/apigateway/__init__.py index af0ff34afe..02bfc7f017 100644 --- a/sdk/python/pulumi_aws_native/apigateway/__init__.py +++ b/sdk/python/pulumi_aws_native/apigateway/__init__.py @@ -10,21 +10,27 @@ from .api_key import * from .authorizer import * from .base_path_mapping import * +from .base_path_mapping_v2 import * from .client_certificate import * from .deployment import * from .documentation_part import * from .documentation_version import * from .domain_name import * +from .domain_name_access_association import * +from .domain_name_v2 import * from .gateway_response import * from .get_account import * from .get_api_key import * from .get_authorizer import * from .get_base_path_mapping import * +from .get_base_path_mapping_v2 import * from .get_client_certificate import * from .get_deployment import * from .get_documentation_part import * from .get_documentation_version import * from .get_domain_name import * +from .get_domain_name_access_association import * +from .get_domain_name_v2 import * from .get_gateway_response import * from .get_method import * from .get_model import * diff --git a/sdk/python/pulumi_aws_native/apigateway/_enums.py b/sdk/python/pulumi_aws_native/apigateway/_enums.py index 043de503bc..bde1ded6b7 100644 --- a/sdk/python/pulumi_aws_native/apigateway/_enums.py +++ b/sdk/python/pulumi_aws_native/apigateway/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'DocumentationPartLocationType', + 'DomainNameAccessAssociationAccessAssociationSourceType', 'MethodIntegrationConnectionType', 'MethodIntegrationContentHandling', 'MethodIntegrationPassthroughBehavior', @@ -33,6 +34,13 @@ class DocumentationPartLocationType(str, Enum): RESPONSE_BODY = "RESPONSE_BODY" +class DomainNameAccessAssociationAccessAssociationSourceType(str, Enum): + """ + The source type of the domain name access association resource. + """ + VPCE = "VPCE" + + class MethodIntegrationConnectionType(str, Enum): """ The type of the network connection to the integration endpoint. The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` . diff --git a/sdk/python/pulumi_aws_native/apigateway/_inputs.py b/sdk/python/pulumi_aws_native/apigateway/_inputs.py index 5ba551ab10..80181f5f1e 100644 --- a/sdk/python/pulumi_aws_native/apigateway/_inputs.py +++ b/sdk/python/pulumi_aws_native/apigateway/_inputs.py @@ -36,6 +36,8 @@ 'DomainNameEndpointConfigurationArgsDict', 'DomainNameMutualTlsAuthenticationArgs', 'DomainNameMutualTlsAuthenticationArgsDict', + 'DomainNameV2EndpointConfigurationArgs', + 'DomainNameV2EndpointConfigurationArgsDict', 'MethodIntegrationResponseArgs', 'MethodIntegrationResponseArgsDict', 'MethodIntegrationArgs', @@ -1199,6 +1201,29 @@ def truststore_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "truststore_version", value) +if not MYPY: + class DomainNameV2EndpointConfigurationArgsDict(TypedDict): + types: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] +elif False: + DomainNameV2EndpointConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DomainNameV2EndpointConfigurationArgs: + def __init__(__self__, *, + types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if types is not None: + pulumi.set(__self__, "types", types) + + @property + @pulumi.getter + def types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "types") + + @types.setter + def types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "types", value) + + if not MYPY: class MethodIntegrationResponseArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/apigateway/base_path_mapping_v2.py b/sdk/python/pulumi_aws_native/apigateway/base_path_mapping_v2.py new file mode 100644 index 0000000000..35ac6ff874 --- /dev/null +++ b/sdk/python/pulumi_aws_native/apigateway/base_path_mapping_v2.py @@ -0,0 +1,225 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['BasePathMappingV2Args', 'BasePathMappingV2'] + +@pulumi.input_type +class BasePathMappingV2Args: + def __init__(__self__, *, + domain_name_arn: pulumi.Input[str], + rest_api_id: pulumi.Input[str], + base_path: Optional[pulumi.Input[str]] = None, + stage: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a BasePathMappingV2 resource. + :param pulumi.Input[str] domain_name_arn: The Arn of an AWS::ApiGateway::DomainNameV2 resource. + :param pulumi.Input[str] rest_api_id: The ID of the API. + :param pulumi.Input[str] base_path: The base path name that callers of the API must provide in the URL after the domain name. + :param pulumi.Input[str] stage: The name of the API's stage. + """ + pulumi.set(__self__, "domain_name_arn", domain_name_arn) + pulumi.set(__self__, "rest_api_id", rest_api_id) + if base_path is not None: + pulumi.set(__self__, "base_path", base_path) + if stage is not None: + pulumi.set(__self__, "stage", stage) + + @property + @pulumi.getter(name="domainNameArn") + def domain_name_arn(self) -> pulumi.Input[str]: + """ + The Arn of an AWS::ApiGateway::DomainNameV2 resource. + """ + return pulumi.get(self, "domain_name_arn") + + @domain_name_arn.setter + def domain_name_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_name_arn", value) + + @property + @pulumi.getter(name="restApiId") + def rest_api_id(self) -> pulumi.Input[str]: + """ + The ID of the API. + """ + return pulumi.get(self, "rest_api_id") + + @rest_api_id.setter + def rest_api_id(self, value: pulumi.Input[str]): + pulumi.set(self, "rest_api_id", value) + + @property + @pulumi.getter(name="basePath") + def base_path(self) -> Optional[pulumi.Input[str]]: + """ + The base path name that callers of the API must provide in the URL after the domain name. + """ + return pulumi.get(self, "base_path") + + @base_path.setter + def base_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "base_path", value) + + @property + @pulumi.getter + def stage(self) -> Optional[pulumi.Input[str]]: + """ + The name of the API's stage. + """ + return pulumi.get(self, "stage") + + @stage.setter + def stage(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "stage", value) + + +class BasePathMappingV2(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + base_path: Optional[pulumi.Input[str]] = None, + domain_name_arn: Optional[pulumi.Input[str]] = None, + rest_api_id: Optional[pulumi.Input[str]] = None, + stage: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] base_path: The base path name that callers of the API must provide in the URL after the domain name. + :param pulumi.Input[str] domain_name_arn: The Arn of an AWS::ApiGateway::DomainNameV2 resource. + :param pulumi.Input[str] rest_api_id: The ID of the API. + :param pulumi.Input[str] stage: The name of the API's stage. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: BasePathMappingV2Args, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + + :param str resource_name: The name of the resource. + :param BasePathMappingV2Args 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(BasePathMappingV2Args, 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, + base_path: Optional[pulumi.Input[str]] = None, + domain_name_arn: Optional[pulumi.Input[str]] = None, + rest_api_id: Optional[pulumi.Input[str]] = None, + stage: 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__ = BasePathMappingV2Args.__new__(BasePathMappingV2Args) + + __props__.__dict__["base_path"] = base_path + if domain_name_arn is None and not opts.urn: + raise TypeError("Missing required property 'domain_name_arn'") + __props__.__dict__["domain_name_arn"] = domain_name_arn + if rest_api_id is None and not opts.urn: + raise TypeError("Missing required property 'rest_api_id'") + __props__.__dict__["rest_api_id"] = rest_api_id + __props__.__dict__["stage"] = stage + __props__.__dict__["base_path_mapping_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["basePath", "domainNameArn"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(BasePathMappingV2, __self__).__init__( + 'aws-native:apigateway:BasePathMappingV2', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'BasePathMappingV2': + """ + Get an existing BasePathMappingV2 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__ = BasePathMappingV2Args.__new__(BasePathMappingV2Args) + + __props__.__dict__["base_path"] = None + __props__.__dict__["base_path_mapping_arn"] = None + __props__.__dict__["domain_name_arn"] = None + __props__.__dict__["rest_api_id"] = None + __props__.__dict__["stage"] = None + return BasePathMappingV2(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="basePath") + def base_path(self) -> pulumi.Output[Optional[str]]: + """ + The base path name that callers of the API must provide in the URL after the domain name. + """ + return pulumi.get(self, "base_path") + + @property + @pulumi.getter(name="basePathMappingArn") + def base_path_mapping_arn(self) -> pulumi.Output[str]: + """ + Amazon Resource Name (ARN) of the resource. + """ + return pulumi.get(self, "base_path_mapping_arn") + + @property + @pulumi.getter(name="domainNameArn") + def domain_name_arn(self) -> pulumi.Output[str]: + """ + The Arn of an AWS::ApiGateway::DomainNameV2 resource. + """ + return pulumi.get(self, "domain_name_arn") + + @property + @pulumi.getter(name="restApiId") + def rest_api_id(self) -> pulumi.Output[str]: + """ + The ID of the API. + """ + return pulumi.get(self, "rest_api_id") + + @property + @pulumi.getter + def stage(self) -> pulumi.Output[Optional[str]]: + """ + The name of the API's stage. + """ + return pulumi.get(self, "stage") + diff --git a/sdk/python/pulumi_aws_native/apigateway/domain_name_access_association.py b/sdk/python/pulumi_aws_native/apigateway/domain_name_access_association.py new file mode 100644 index 0000000000..2c418a4274 --- /dev/null +++ b/sdk/python/pulumi_aws_native/apigateway/domain_name_access_association.py @@ -0,0 +1,229 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = ['DomainNameAccessAssociationArgs', 'DomainNameAccessAssociation'] + +@pulumi.input_type +class DomainNameAccessAssociationArgs: + def __init__(__self__, *, + access_association_source: pulumi.Input[str], + access_association_source_type: pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType'], + domain_name_arn: pulumi.Input[str], + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]] = None): + """ + The set of arguments for constructing a DomainNameAccessAssociation resource. + :param pulumi.Input[str] access_association_source: The source of the domain name access association resource. + :param pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType'] access_association_source_type: The source type of the domain name access association resource. + :param pulumi.Input[str] domain_name_arn: The amazon resource name (ARN) of the domain name resource. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]] tags: An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + """ + pulumi.set(__self__, "access_association_source", access_association_source) + pulumi.set(__self__, "access_association_source_type", access_association_source_type) + pulumi.set(__self__, "domain_name_arn", domain_name_arn) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="accessAssociationSource") + def access_association_source(self) -> pulumi.Input[str]: + """ + The source of the domain name access association resource. + """ + return pulumi.get(self, "access_association_source") + + @access_association_source.setter + def access_association_source(self, value: pulumi.Input[str]): + pulumi.set(self, "access_association_source", value) + + @property + @pulumi.getter(name="accessAssociationSourceType") + def access_association_source_type(self) -> pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType']: + """ + The source type of the domain name access association resource. + """ + return pulumi.get(self, "access_association_source_type") + + @access_association_source_type.setter + def access_association_source_type(self, value: pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType']): + pulumi.set(self, "access_association_source_type", value) + + @property + @pulumi.getter(name="domainNameArn") + def domain_name_arn(self) -> pulumi.Input[str]: + """ + The amazon resource name (ARN) of the domain name resource. + """ + return pulumi.get(self, "domain_name_arn") + + @domain_name_arn.setter + def domain_name_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_name_arn", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]]: + """ + An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]]): + pulumi.set(self, "tags", value) + + +class DomainNameAccessAssociation(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_association_source: Optional[pulumi.Input[str]] = None, + access_association_source_type: Optional[pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType']] = None, + domain_name_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]]] = None, + __props__=None): + """ + Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] access_association_source: The source of the domain name access association resource. + :param pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType'] access_association_source_type: The source type of the domain name access association resource. + :param pulumi.Input[str] domain_name_arn: The amazon resource name (ARN) of the domain name resource. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]] tags: An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DomainNameAccessAssociationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + + :param str resource_name: The name of the resource. + :param DomainNameAccessAssociationArgs 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(DomainNameAccessAssociationArgs, 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, + access_association_source: Optional[pulumi.Input[str]] = None, + access_association_source_type: Optional[pulumi.Input['DomainNameAccessAssociationAccessAssociationSourceType']] = None, + domain_name_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]]] = 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__ = DomainNameAccessAssociationArgs.__new__(DomainNameAccessAssociationArgs) + + if access_association_source is None and not opts.urn: + raise TypeError("Missing required property 'access_association_source'") + __props__.__dict__["access_association_source"] = access_association_source + if access_association_source_type is None and not opts.urn: + raise TypeError("Missing required property 'access_association_source_type'") + __props__.__dict__["access_association_source_type"] = access_association_source_type + if domain_name_arn is None and not opts.urn: + raise TypeError("Missing required property 'domain_name_arn'") + __props__.__dict__["domain_name_arn"] = domain_name_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["domain_name_access_association_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["accessAssociationSource", "accessAssociationSourceType", "domainNameArn", "tags[*]"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(DomainNameAccessAssociation, __self__).__init__( + 'aws-native:apigateway:DomainNameAccessAssociation', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DomainNameAccessAssociation': + """ + Get an existing DomainNameAccessAssociation 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__ = DomainNameAccessAssociationArgs.__new__(DomainNameAccessAssociationArgs) + + __props__.__dict__["access_association_source"] = None + __props__.__dict__["access_association_source_type"] = None + __props__.__dict__["domain_name_access_association_arn"] = None + __props__.__dict__["domain_name_arn"] = None + __props__.__dict__["tags"] = None + return DomainNameAccessAssociation(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accessAssociationSource") + def access_association_source(self) -> pulumi.Output[str]: + """ + The source of the domain name access association resource. + """ + return pulumi.get(self, "access_association_source") + + @property + @pulumi.getter(name="accessAssociationSourceType") + def access_association_source_type(self) -> pulumi.Output['DomainNameAccessAssociationAccessAssociationSourceType']: + """ + The source type of the domain name access association resource. + """ + return pulumi.get(self, "access_association_source_type") + + @property + @pulumi.getter(name="domainNameAccessAssociationArn") + def domain_name_access_association_arn(self) -> pulumi.Output[str]: + """ + The amazon resource name (ARN) of the domain name access association resource. + """ + return pulumi.get(self, "domain_name_access_association_arn") + + @property + @pulumi.getter(name="domainNameArn") + def domain_name_arn(self) -> pulumi.Output[str]: + """ + The amazon resource name (ARN) of the domain name resource. + """ + return pulumi.get(self, "domain_name_arn") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.CreateOnlyTag']]]: + """ + An array of arbitrary tags (key-value pairs) to associate with the domainname access association. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/apigateway/domain_name_v2.py b/sdk/python/pulumi_aws_native/apigateway/domain_name_v2.py new file mode 100644 index 0000000000..f5a104f18e --- /dev/null +++ b/sdk/python/pulumi_aws_native/apigateway/domain_name_v2.py @@ -0,0 +1,281 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._inputs import * + +__all__ = ['DomainNameV2Args', 'DomainNameV2'] + +@pulumi.input_type +class DomainNameV2Args: + def __init__(__self__, *, + certificate_arn: Optional[pulumi.Input[str]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + endpoint_configuration: Optional[pulumi.Input['DomainNameV2EndpointConfigurationArgs']] = None, + management_policy: Optional[Any] = None, + policy: Optional[Any] = None, + security_policy: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a DomainNameV2 resource. + :param Any management_policy: Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + :param Any policy: Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if domain_name is not None: + pulumi.set(__self__, "domain_name", domain_name) + if endpoint_configuration is not None: + pulumi.set(__self__, "endpoint_configuration", endpoint_configuration) + if management_policy is not None: + pulumi.set(__self__, "management_policy", management_policy) + if policy is not None: + pulumi.set(__self__, "policy", policy) + if security_policy is not None: + pulumi.set(__self__, "security_policy", security_policy) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "certificate_arn") + + @certificate_arn.setter + def certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_arn", value) + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "domain_name") + + @domain_name.setter + def domain_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "domain_name", value) + + @property + @pulumi.getter(name="endpointConfiguration") + def endpoint_configuration(self) -> Optional[pulumi.Input['DomainNameV2EndpointConfigurationArgs']]: + return pulumi.get(self, "endpoint_configuration") + + @endpoint_configuration.setter + def endpoint_configuration(self, value: Optional[pulumi.Input['DomainNameV2EndpointConfigurationArgs']]): + pulumi.set(self, "endpoint_configuration", value) + + @property + @pulumi.getter(name="managementPolicy") + def management_policy(self) -> Optional[Any]: + """ + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + return pulumi.get(self, "management_policy") + + @management_policy.setter + def management_policy(self, value: Optional[Any]): + pulumi.set(self, "management_policy", value) + + @property + @pulumi.getter + def policy(self) -> Optional[Any]: + """ + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: Optional[Any]): + pulumi.set(self, "policy", value) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "security_policy") + + @security_policy.setter + def security_policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "security_policy", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + 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 DomainNameV2(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + certificate_arn: Optional[pulumi.Input[str]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + endpoint_configuration: Optional[pulumi.Input[Union['DomainNameV2EndpointConfigurationArgs', 'DomainNameV2EndpointConfigurationArgsDict']]] = None, + management_policy: Optional[Any] = None, + policy: Optional[Any] = None, + security_policy: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Resource Type definition for AWS::ApiGateway::DomainNameV2. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param Any management_policy: Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + :param Any policy: Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[DomainNameV2Args] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::ApiGateway::DomainNameV2. + + :param str resource_name: The name of the resource. + :param DomainNameV2Args 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(DomainNameV2Args, 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_arn: Optional[pulumi.Input[str]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + endpoint_configuration: Optional[pulumi.Input[Union['DomainNameV2EndpointConfigurationArgs', 'DomainNameV2EndpointConfigurationArgsDict']]] = None, + management_policy: Optional[Any] = None, + policy: Optional[Any] = None, + security_policy: Optional[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__ = DomainNameV2Args.__new__(DomainNameV2Args) + + __props__.__dict__["certificate_arn"] = certificate_arn + __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["endpoint_configuration"] = endpoint_configuration + __props__.__dict__["management_policy"] = management_policy + __props__.__dict__["policy"] = policy + __props__.__dict__["security_policy"] = security_policy + __props__.__dict__["tags"] = tags + __props__.__dict__["domain_name_arn"] = None + __props__.__dict__["domain_name_id"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["domainName", "endpointConfiguration", "securityPolicy"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(DomainNameV2, __self__).__init__( + 'aws-native:apigateway:DomainNameV2', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DomainNameV2': + """ + Get an existing DomainNameV2 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__ = DomainNameV2Args.__new__(DomainNameV2Args) + + __props__.__dict__["certificate_arn"] = None + __props__.__dict__["domain_name"] = None + __props__.__dict__["domain_name_arn"] = None + __props__.__dict__["domain_name_id"] = None + __props__.__dict__["endpoint_configuration"] = None + __props__.__dict__["management_policy"] = None + __props__.__dict__["policy"] = None + __props__.__dict__["security_policy"] = None + __props__.__dict__["tags"] = None + return DomainNameV2(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "certificate_arn") + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "domain_name") + + @property + @pulumi.getter(name="domainNameArn") + def domain_name_arn(self) -> pulumi.Output[str]: + """ + The amazon resource name (ARN) of the domain name resource. + """ + return pulumi.get(self, "domain_name_arn") + + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "domain_name_id") + + @property + @pulumi.getter(name="endpointConfiguration") + def endpoint_configuration(self) -> pulumi.Output[Optional['outputs.DomainNameV2EndpointConfiguration']]: + return pulumi.get(self, "endpoint_configuration") + + @property + @pulumi.getter(name="managementPolicy") + def management_policy(self) -> pulumi.Output[Optional[Any]]: + """ + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + return pulumi.get(self, "management_policy") + + @property + @pulumi.getter + def policy(self) -> pulumi.Output[Optional[Any]]: + """ + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + return pulumi.get(self, "policy") + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "security_policy") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/apigateway/get_base_path_mapping_v2.py b/sdk/python/pulumi_aws_native/apigateway/get_base_path_mapping_v2.py new file mode 100644 index 0000000000..eb9aa4fce2 --- /dev/null +++ b/sdk/python/pulumi_aws_native/apigateway/get_base_path_mapping_v2.py @@ -0,0 +1,105 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetBasePathMappingV2Result', + 'AwaitableGetBasePathMappingV2Result', + 'get_base_path_mapping_v2', + 'get_base_path_mapping_v2_output', +] + +@pulumi.output_type +class GetBasePathMappingV2Result: + def __init__(__self__, base_path_mapping_arn=None, rest_api_id=None, stage=None): + if base_path_mapping_arn and not isinstance(base_path_mapping_arn, str): + raise TypeError("Expected argument 'base_path_mapping_arn' to be a str") + pulumi.set(__self__, "base_path_mapping_arn", base_path_mapping_arn) + if rest_api_id and not isinstance(rest_api_id, str): + raise TypeError("Expected argument 'rest_api_id' to be a str") + pulumi.set(__self__, "rest_api_id", rest_api_id) + if stage and not isinstance(stage, str): + raise TypeError("Expected argument 'stage' to be a str") + pulumi.set(__self__, "stage", stage) + + @property + @pulumi.getter(name="basePathMappingArn") + def base_path_mapping_arn(self) -> Optional[str]: + """ + Amazon Resource Name (ARN) of the resource. + """ + return pulumi.get(self, "base_path_mapping_arn") + + @property + @pulumi.getter(name="restApiId") + def rest_api_id(self) -> Optional[str]: + """ + The ID of the API. + """ + return pulumi.get(self, "rest_api_id") + + @property + @pulumi.getter + def stage(self) -> Optional[str]: + """ + The name of the API's stage. + """ + return pulumi.get(self, "stage") + + +class AwaitableGetBasePathMappingV2Result(GetBasePathMappingV2Result): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetBasePathMappingV2Result( + base_path_mapping_arn=self.base_path_mapping_arn, + rest_api_id=self.rest_api_id, + stage=self.stage) + + +def get_base_path_mapping_v2(base_path_mapping_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBasePathMappingV2Result: + """ + Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + + + :param str base_path_mapping_arn: Amazon Resource Name (ARN) of the resource. + """ + __args__ = dict() + __args__['basePathMappingArn'] = base_path_mapping_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:apigateway:getBasePathMappingV2', __args__, opts=opts, typ=GetBasePathMappingV2Result).value + + return AwaitableGetBasePathMappingV2Result( + base_path_mapping_arn=pulumi.get(__ret__, 'base_path_mapping_arn'), + rest_api_id=pulumi.get(__ret__, 'rest_api_id'), + stage=pulumi.get(__ret__, 'stage')) +def get_base_path_mapping_v2_output(base_path_mapping_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBasePathMappingV2Result]: + """ + Resource Type definition for AWS::ApiGateway::BasePathMappingV2 + + + :param str base_path_mapping_arn: Amazon Resource Name (ARN) of the resource. + """ + __args__ = dict() + __args__['basePathMappingArn'] = base_path_mapping_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:apigateway:getBasePathMappingV2', __args__, opts=opts, typ=GetBasePathMappingV2Result) + return __ret__.apply(lambda __response__: GetBasePathMappingV2Result( + base_path_mapping_arn=pulumi.get(__response__, 'base_path_mapping_arn'), + rest_api_id=pulumi.get(__response__, 'rest_api_id'), + stage=pulumi.get(__response__, 'stage'))) diff --git a/sdk/python/pulumi_aws_native/apigateway/get_domain_name_access_association.py b/sdk/python/pulumi_aws_native/apigateway/get_domain_name_access_association.py new file mode 100644 index 0000000000..eb660ca72a --- /dev/null +++ b/sdk/python/pulumi_aws_native/apigateway/get_domain_name_access_association.py @@ -0,0 +1,77 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetDomainNameAccessAssociationResult', + 'AwaitableGetDomainNameAccessAssociationResult', + 'get_domain_name_access_association', + 'get_domain_name_access_association_output', +] + +@pulumi.output_type +class GetDomainNameAccessAssociationResult: + def __init__(__self__, domain_name_access_association_arn=None): + if domain_name_access_association_arn and not isinstance(domain_name_access_association_arn, str): + raise TypeError("Expected argument 'domain_name_access_association_arn' to be a str") + pulumi.set(__self__, "domain_name_access_association_arn", domain_name_access_association_arn) + + @property + @pulumi.getter(name="domainNameAccessAssociationArn") + def domain_name_access_association_arn(self) -> Optional[str]: + """ + The amazon resource name (ARN) of the domain name access association resource. + """ + return pulumi.get(self, "domain_name_access_association_arn") + + +class AwaitableGetDomainNameAccessAssociationResult(GetDomainNameAccessAssociationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDomainNameAccessAssociationResult( + domain_name_access_association_arn=self.domain_name_access_association_arn) + + +def get_domain_name_access_association(domain_name_access_association_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainNameAccessAssociationResult: + """ + Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + + + :param str domain_name_access_association_arn: The amazon resource name (ARN) of the domain name access association resource. + """ + __args__ = dict() + __args__['domainNameAccessAssociationArn'] = domain_name_access_association_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:apigateway:getDomainNameAccessAssociation', __args__, opts=opts, typ=GetDomainNameAccessAssociationResult).value + + return AwaitableGetDomainNameAccessAssociationResult( + domain_name_access_association_arn=pulumi.get(__ret__, 'domain_name_access_association_arn')) +def get_domain_name_access_association_output(domain_name_access_association_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainNameAccessAssociationResult]: + """ + Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation. + + + :param str domain_name_access_association_arn: The amazon resource name (ARN) of the domain name access association resource. + """ + __args__ = dict() + __args__['domainNameAccessAssociationArn'] = domain_name_access_association_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:apigateway:getDomainNameAccessAssociation', __args__, opts=opts, typ=GetDomainNameAccessAssociationResult) + return __ret__.apply(lambda __response__: GetDomainNameAccessAssociationResult( + domain_name_access_association_arn=pulumi.get(__response__, 'domain_name_access_association_arn'))) diff --git a/sdk/python/pulumi_aws_native/apigateway/get_domain_name_v2.py b/sdk/python/pulumi_aws_native/apigateway/get_domain_name_v2.py new file mode 100644 index 0000000000..f8ceddaf3e --- /dev/null +++ b/sdk/python/pulumi_aws_native/apigateway/get_domain_name_v2.py @@ -0,0 +1,139 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import outputs as _root_outputs + +__all__ = [ + 'GetDomainNameV2Result', + 'AwaitableGetDomainNameV2Result', + 'get_domain_name_v2', + 'get_domain_name_v2_output', +] + +@pulumi.output_type +class GetDomainNameV2Result: + def __init__(__self__, certificate_arn=None, domain_name_arn=None, domain_name_id=None, management_policy=None, policy=None, tags=None): + if certificate_arn and not isinstance(certificate_arn, str): + raise TypeError("Expected argument 'certificate_arn' to be a str") + pulumi.set(__self__, "certificate_arn", certificate_arn) + if domain_name_arn and not isinstance(domain_name_arn, str): + raise TypeError("Expected argument 'domain_name_arn' to be a str") + pulumi.set(__self__, "domain_name_arn", domain_name_arn) + if domain_name_id and not isinstance(domain_name_id, str): + raise TypeError("Expected argument 'domain_name_id' to be a str") + pulumi.set(__self__, "domain_name_id", domain_name_id) + if management_policy and not isinstance(management_policy, dict): + raise TypeError("Expected argument 'management_policy' to be a dict") + pulumi.set(__self__, "management_policy", management_policy) + if policy and not isinstance(policy, dict): + raise TypeError("Expected argument 'policy' to be a dict") + pulumi.set(__self__, "policy", policy) + 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="certificateArn") + def certificate_arn(self) -> Optional[str]: + return pulumi.get(self, "certificate_arn") + + @property + @pulumi.getter(name="domainNameArn") + def domain_name_arn(self) -> Optional[str]: + """ + The amazon resource name (ARN) of the domain name resource. + """ + return pulumi.get(self, "domain_name_arn") + + @property + @pulumi.getter(name="domainNameId") + def domain_name_id(self) -> Optional[str]: + return pulumi.get(self, "domain_name_id") + + @property + @pulumi.getter(name="managementPolicy") + def management_policy(self) -> Optional[Any]: + """ + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + return pulumi.get(self, "management_policy") + + @property + @pulumi.getter + def policy(self) -> Optional[Any]: + """ + Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::ApiGateway::DomainNameV2` for more information about the expected schema for this property. + """ + return pulumi.get(self, "policy") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + return pulumi.get(self, "tags") + + +class AwaitableGetDomainNameV2Result(GetDomainNameV2Result): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDomainNameV2Result( + certificate_arn=self.certificate_arn, + domain_name_arn=self.domain_name_arn, + domain_name_id=self.domain_name_id, + management_policy=self.management_policy, + policy=self.policy, + tags=self.tags) + + +def get_domain_name_v2(domain_name_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDomainNameV2Result: + """ + Resource Type definition for AWS::ApiGateway::DomainNameV2. + + + :param str domain_name_arn: The amazon resource name (ARN) of the domain name resource. + """ + __args__ = dict() + __args__['domainNameArn'] = domain_name_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:apigateway:getDomainNameV2', __args__, opts=opts, typ=GetDomainNameV2Result).value + + return AwaitableGetDomainNameV2Result( + certificate_arn=pulumi.get(__ret__, 'certificate_arn'), + domain_name_arn=pulumi.get(__ret__, 'domain_name_arn'), + domain_name_id=pulumi.get(__ret__, 'domain_name_id'), + management_policy=pulumi.get(__ret__, 'management_policy'), + policy=pulumi.get(__ret__, 'policy'), + tags=pulumi.get(__ret__, 'tags')) +def get_domain_name_v2_output(domain_name_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDomainNameV2Result]: + """ + Resource Type definition for AWS::ApiGateway::DomainNameV2. + + + :param str domain_name_arn: The amazon resource name (ARN) of the domain name resource. + """ + __args__ = dict() + __args__['domainNameArn'] = domain_name_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:apigateway:getDomainNameV2', __args__, opts=opts, typ=GetDomainNameV2Result) + return __ret__.apply(lambda __response__: GetDomainNameV2Result( + certificate_arn=pulumi.get(__response__, 'certificate_arn'), + domain_name_arn=pulumi.get(__response__, 'domain_name_arn'), + domain_name_id=pulumi.get(__response__, 'domain_name_id'), + management_policy=pulumi.get(__response__, 'management_policy'), + policy=pulumi.get(__response__, 'policy'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/apigateway/outputs.py b/sdk/python/pulumi_aws_native/apigateway/outputs.py index 262cdc2bac..35de2778a1 100644 --- a/sdk/python/pulumi_aws_native/apigateway/outputs.py +++ b/sdk/python/pulumi_aws_native/apigateway/outputs.py @@ -27,6 +27,7 @@ 'DocumentationPartLocation', 'DomainNameEndpointConfiguration', 'DomainNameMutualTlsAuthentication', + 'DomainNameV2EndpointConfiguration', 'MethodIntegration', 'MethodIntegrationResponse', 'MethodResponse', @@ -930,6 +931,19 @@ def truststore_version(self) -> Optional[str]: return pulumi.get(self, "truststore_version") +@pulumi.output_type +class DomainNameV2EndpointConfiguration(dict): + def __init__(__self__, *, + types: Optional[Sequence[str]] = None): + if types is not None: + pulumi.set(__self__, "types", types) + + @property + @pulumi.getter + def types(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "types") + + @pulumi.output_type class MethodIntegration(dict): """ diff --git a/sdk/python/pulumi_aws_native/autoscaling/_inputs.py b/sdk/python/pulumi_aws_native/autoscaling/_inputs.py index fc0f8c3778..c5d07bc424 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/_inputs.py +++ b/sdk/python/pulumi_aws_native/autoscaling/_inputs.py @@ -3063,6 +3063,7 @@ class ScalingPolicyCustomizedMetricSpecificationArgsDict(TypedDict): """ The namespace of the metric. """ + period: NotRequired[pulumi.Input[int]] statistic: NotRequired[pulumi.Input[str]] """ The statistic of the metric. @@ -3081,6 +3082,7 @@ def __init__(__self__, *, metric_name: Optional[pulumi.Input[str]] = None, metrics: Optional[pulumi.Input[Sequence[pulumi.Input['ScalingPolicyTargetTrackingMetricDataQueryArgs']]]] = None, namespace: Optional[pulumi.Input[str]] = None, + period: Optional[pulumi.Input[int]] = None, statistic: Optional[pulumi.Input[str]] = None, unit: Optional[pulumi.Input[str]] = None): """ @@ -3101,6 +3103,8 @@ def __init__(__self__, *, pulumi.set(__self__, "metrics", metrics) if namespace is not None: pulumi.set(__self__, "namespace", namespace) + if period is not None: + pulumi.set(__self__, "period", period) if statistic is not None: pulumi.set(__self__, "statistic", statistic) if unit is not None: @@ -3156,6 +3160,15 @@ def namespace(self) -> Optional[pulumi.Input[str]]: def namespace(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "namespace", value) + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + @property @pulumi.getter def statistic(self) -> Optional[pulumi.Input[str]]: @@ -4471,6 +4484,7 @@ class ScalingPolicyTargetTrackingMetricDataQueryArgsDict(TypedDict): Conditional: Within each `TargetTrackingMetricDataQuery` object, you must specify either `Expression` or `MetricStat` , but not both. """ + period: NotRequired[pulumi.Input[int]] return_data: NotRequired[pulumi.Input[bool]] """ Indicates whether to return the timestamps and raw data values of this metric. @@ -4489,6 +4503,7 @@ def __init__(__self__, *, expression: Optional[pulumi.Input[str]] = None, label: Optional[pulumi.Input[str]] = None, metric_stat: Optional[pulumi.Input['ScalingPolicyTargetTrackingMetricStatArgs']] = None, + period: Optional[pulumi.Input[int]] = None, return_data: Optional[pulumi.Input[bool]] = None): """ :param pulumi.Input[str] id: A short name that identifies the object's results in the response. This name must be unique among all `TargetTrackingMetricDataQuery` objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter. @@ -4512,6 +4527,8 @@ def __init__(__self__, *, pulumi.set(__self__, "label", label) if metric_stat is not None: pulumi.set(__self__, "metric_stat", metric_stat) + if period is not None: + pulumi.set(__self__, "period", period) if return_data is not None: pulumi.set(__self__, "return_data", return_data) @@ -4567,6 +4584,15 @@ def metric_stat(self) -> Optional[pulumi.Input['ScalingPolicyTargetTrackingMetri def metric_stat(self, value: Optional[pulumi.Input['ScalingPolicyTargetTrackingMetricStatArgs']]): pulumi.set(self, "metric_stat", value) + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + @property @pulumi.getter(name="returnData") def return_data(self) -> Optional[pulumi.Input[bool]]: @@ -4596,6 +4622,7 @@ class ScalingPolicyTargetTrackingMetricStatArgsDict(TypedDict): The most commonly used metric for scaling is `Average` . """ + period: NotRequired[pulumi.Input[int]] unit: NotRequired[pulumi.Input[str]] """ The unit to use for the returned data points. For a complete list of the units that CloudWatch supports, see the [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html) data type in the *Amazon CloudWatch API Reference* . @@ -4608,6 +4635,7 @@ class ScalingPolicyTargetTrackingMetricStatArgs: def __init__(__self__, *, metric: pulumi.Input['ScalingPolicyMetricArgs'], stat: pulumi.Input[str], + period: Optional[pulumi.Input[int]] = None, unit: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input['ScalingPolicyMetricArgs'] metric: The metric to use. @@ -4618,6 +4646,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "metric", metric) pulumi.set(__self__, "stat", stat) + if period is not None: + pulumi.set(__self__, "period", period) if unit is not None: pulumi.set(__self__, "unit", unit) @@ -4647,6 +4677,15 @@ def stat(self) -> pulumi.Input[str]: def stat(self, value: pulumi.Input[str]): pulumi.set(self, "stat", value) + @property + @pulumi.getter + def period(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "period") + + @period.setter + def period(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "period", value) + @property @pulumi.getter def unit(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws_native/autoscaling/outputs.py b/sdk/python/pulumi_aws_native/autoscaling/outputs.py index 74c5aadcdb..a10ab6c18b 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/outputs.py +++ b/sdk/python/pulumi_aws_native/autoscaling/outputs.py @@ -2342,6 +2342,7 @@ def __init__(__self__, *, metric_name: Optional[str] = None, metrics: Optional[Sequence['outputs.ScalingPolicyTargetTrackingMetricDataQuery']] = None, namespace: Optional[str] = None, + period: Optional[int] = None, statistic: Optional[str] = None, unit: Optional[str] = None): """ @@ -2362,6 +2363,8 @@ def __init__(__self__, *, pulumi.set(__self__, "metrics", metrics) if namespace is not None: pulumi.set(__self__, "namespace", namespace) + if period is not None: + pulumi.set(__self__, "period", period) if statistic is not None: pulumi.set(__self__, "statistic", statistic) if unit is not None: @@ -2401,6 +2404,11 @@ def namespace(self) -> Optional[str]: """ return pulumi.get(self, "namespace") + @property + @pulumi.getter + def period(self) -> Optional[int]: + return pulumi.get(self, "period") + @property @pulumi.getter def statistic(self) -> Optional[str]: @@ -3470,6 +3478,7 @@ def __init__(__self__, *, expression: Optional[str] = None, label: Optional[str] = None, metric_stat: Optional['outputs.ScalingPolicyTargetTrackingMetricStat'] = None, + period: Optional[int] = None, return_data: Optional[bool] = None): """ :param str id: A short name that identifies the object's results in the response. This name must be unique among all `TargetTrackingMetricDataQuery` objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter. @@ -3493,6 +3502,8 @@ def __init__(__self__, *, pulumi.set(__self__, "label", label) if metric_stat is not None: pulumi.set(__self__, "metric_stat", metric_stat) + if period is not None: + pulumi.set(__self__, "period", period) if return_data is not None: pulumi.set(__self__, "return_data", return_data) @@ -3532,6 +3543,11 @@ def metric_stat(self) -> Optional['outputs.ScalingPolicyTargetTrackingMetricStat """ return pulumi.get(self, "metric_stat") + @property + @pulumi.getter + def period(self) -> Optional[int]: + return pulumi.get(self, "period") + @property @pulumi.getter(name="returnData") def return_data(self) -> Optional[bool]: @@ -3550,6 +3566,7 @@ class ScalingPolicyTargetTrackingMetricStat(dict): def __init__(__self__, *, metric: 'outputs.ScalingPolicyMetric', stat: str, + period: Optional[int] = None, unit: Optional[str] = None): """ :param 'ScalingPolicyMetric' metric: The metric to use. @@ -3560,6 +3577,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "metric", metric) pulumi.set(__self__, "stat", stat) + if period is not None: + pulumi.set(__self__, "period", period) if unit is not None: pulumi.set(__self__, "unit", unit) @@ -3581,6 +3600,11 @@ def stat(self) -> str: """ return pulumi.get(self, "stat") + @property + @pulumi.getter + def period(self) -> Optional[int]: + return pulumi.get(self, "period") + @property @pulumi.getter def unit(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws_native/b2bi/_enums.py b/sdk/python/pulumi_aws_native/b2bi/_enums.py index 35472d19ca..b318df4e22 100644 --- a/sdk/python/pulumi_aws_native/b2bi/_enums.py +++ b/sdk/python/pulumi_aws_native/b2bi/_enums.py @@ -30,57 +30,324 @@ class CapabilityType(str, Enum): class CapabilityX12TransactionSet(str, Enum): + X12100 = "X12_100" + X12101 = "X12_101" + X12102 = "X12_102" + X12103 = "X12_103" + X12104 = "X12_104" + X12105 = "X12_105" + X12106 = "X12_106" + X12107 = "X12_107" + X12108 = "X12_108" + X12109 = "X12_109" X12110 = "X12_110" + X12111 = "X12_111" + X12112 = "X12_112" + X12113 = "X12_113" + X12120 = "X12_120" + X12121 = "X12_121" + X12124 = "X12_124" + X12125 = "X12_125" + X12126 = "X12_126" + X12127 = "X12_127" + X12128 = "X12_128" + X12129 = "X12_129" + X12130 = "X12_130" + X12131 = "X12_131" + X12132 = "X12_132" + X12133 = "X12_133" + X12135 = "X12_135" + X12138 = "X12_138" + X12139 = "X12_139" + X12140 = "X12_140" + X12141 = "X12_141" + X12142 = "X12_142" + X12143 = "X12_143" + X12144 = "X12_144" + X12146 = "X12_146" + X12147 = "X12_147" + X12148 = "X12_148" + X12149 = "X12_149" + X12150 = "X12_150" + X12151 = "X12_151" + X12152 = "X12_152" + X12153 = "X12_153" + X12154 = "X12_154" + X12155 = "X12_155" + X12157 = "X12_157" + X12158 = "X12_158" + X12159 = "X12_159" + X12160 = "X12_160" + X12161 = "X12_161" + X12163 = "X12_163" + X12170 = "X12_170" + X12175 = "X12_175" + X12176 = "X12_176" + X12179 = "X12_179" X12180 = "X12_180" + X12185 = "X12_185" + X12186 = "X12_186" + X12187 = "X12_187" + X12188 = "X12_188" + X12189 = "X12_189" + X12190 = "X12_190" + X12191 = "X12_191" + X12194 = "X12_194" + X12195 = "X12_195" + X12196 = "X12_196" + X12197 = "X12_197" + X12198 = "X12_198" + X12199 = "X12_199" + X12200 = "X12_200" + X12201 = "X12_201" + X12202 = "X12_202" + X12203 = "X12_203" X12204 = "X12_204" + X12205 = "X12_205" + X12206 = "X12_206" X12210 = "X12_210" X12211 = "X12_211" + X12212 = "X12_212" + X12213 = "X12_213" X12214 = "X12_214" X12215 = "X12_215" + X12216 = "X12_216" + X12217 = "X12_217" + X12218 = "X12_218" + X12219 = "X12_219" + X12220 = "X12_220" + X12222 = "X12_222" + X12223 = "X12_223" + X12224 = "X12_224" + X12225 = "X12_225" + X12227 = "X12_227" + X12228 = "X12_228" + X12240 = "X12_240" + X12242 = "X12_242" + X12244 = "X12_244" + X12245 = "X12_245" + X12248 = "X12_248" + X12249 = "X12_249" + X12250 = "X12_250" + X12251 = "X12_251" + X12252 = "X12_252" + X12255 = "X12_255" + X12256 = "X12_256" X12259 = "X12_259" X12260 = "X12_260" + X12261 = "X12_261" + X12262 = "X12_262" + X12263 = "X12_263" + X12264 = "X12_264" + X12265 = "X12_265" X12266 = "X12_266" + X12267 = "X12_267" + X12268 = "X12_268" X12269 = "X12_269" X12270 = "X12_270" X12271 = "X12_271" + X12272 = "X12_272" + X12273 = "X12_273" X12274 = "X12_274" X12275 = "X12_275" X12276 = "X12_276" X12277 = "X12_277" X12278 = "X12_278" + X12280 = "X12_280" + X12283 = "X12_283" + X12284 = "X12_284" + X12285 = "X12_285" + X12286 = "X12_286" + X12288 = "X12_288" + X12290 = "X12_290" + X12300 = "X12_300" + X12301 = "X12_301" + X12303 = "X12_303" + X12304 = "X12_304" + X12309 = "X12_309" X12310 = "X12_310" + X12311 = "X12_311" + X12312 = "X12_312" + X12313 = "X12_313" X12315 = "X12_315" + X12317 = "X12_317" + X12319 = "X12_319" X12322 = "X12_322" + X12323 = "X12_323" + X12324 = "X12_324" + X12325 = "X12_325" + X12326 = "X12_326" + X12350 = "X12_350" + X12352 = "X12_352" + X12353 = "X12_353" + X12354 = "X12_354" + X12355 = "X12_355" + X12356 = "X12_356" + X12357 = "X12_357" + X12358 = "X12_358" + X12361 = "X12_361" + X12362 = "X12_362" X12404 = "X12_404" X12410 = "X12_410" + X12412 = "X12_412" + X12414 = "X12_414" X12417 = "X12_417" + X12418 = "X12_418" + X12419 = "X12_419" + X12420 = "X12_420" X12421 = "X12_421" + X12422 = "X12_422" + X12423 = "X12_423" + X12424 = "X12_424" + X12425 = "X12_425" X12426 = "X12_426" + X12429 = "X12_429" + X12431 = "X12_431" + X12432 = "X12_432" + X12433 = "X12_433" + X12434 = "X12_434" + X12435 = "X12_435" + X12436 = "X12_436" + X12437 = "X12_437" + X12440 = "X12_440" + X12451 = "X12_451" + X12452 = "X12_452" + X12453 = "X12_453" + X12455 = "X12_455" + X12456 = "X12_456" + X12460 = "X12_460" + X12463 = "X12_463" + X12466 = "X12_466" + X12468 = "X12_468" + X12470 = "X12_470" + X12475 = "X12_475" + X12485 = "X12_485" + X12486 = "X12_486" + X12490 = "X12_490" + X12492 = "X12_492" + X12494 = "X12_494" + X12500 = "X12_500" + X12501 = "X12_501" + X12503 = "X12_503" + X12504 = "X12_504" + X12511 = "X12_511" + X12517 = "X12_517" + X12521 = "X12_521" + X12527 = "X12_527" + X12536 = "X12_536" + X12540 = "X12_540" + X12561 = "X12_561" + X12567 = "X12_567" + X12568 = "X12_568" + X12601 = "X12_601" + X12602 = "X12_602" + X12620 = "X12_620" + X12625 = "X12_625" + X12650 = "X12_650" + X12715 = "X12_715" + X12753 = "X12_753" + X12754 = "X12_754" + X12805 = "X12_805" + X12806 = "X12_806" X12810 = "X12_810" + X12811 = "X12_811" + X12812 = "X12_812" + X12813 = "X12_813" + X12814 = "X12_814" + X12815 = "X12_815" + X12816 = "X12_816" + X12818 = "X12_818" + X12819 = "X12_819" X12820 = "X12_820" + X12821 = "X12_821" + X12822 = "X12_822" + X12823 = "X12_823" X12824 = "X12_824" + X12826 = "X12_826" + X12827 = "X12_827" + X12828 = "X12_828" + X12829 = "X12_829" X12830 = "X12_830" + X12831 = "X12_831" X12832 = "X12_832" + X12833 = "X12_833" X12834 = "X12_834" X12835 = "X12_835" + X12836 = "X12_836" X12837 = "X12_837" + X12838 = "X12_838" + X12839 = "X12_839" + X12840 = "X12_840" + X12841 = "X12_841" + X12842 = "X12_842" + X12843 = "X12_843" X12844 = "X12_844" + X12845 = "X12_845" X12846 = "X12_846" + X12847 = "X12_847" + X12848 = "X12_848" X12849 = "X12_849" X12850 = "X12_850" + X12851 = "X12_851" X12852 = "X12_852" + X12853 = "X12_853" + X12854 = "X12_854" X12855 = "X12_855" X12856 = "X12_856" + X12857 = "X12_857" + X12858 = "X12_858" + X12859 = "X12_859" X12860 = "X12_860" X12861 = "X12_861" + X12862 = "X12_862" + X12863 = "X12_863" X12864 = "X12_864" X12865 = "X12_865" + X12866 = "X12_866" + X12867 = "X12_867" + X12868 = "X12_868" X12869 = "X12_869" X12870 = "X12_870" + X12871 = "X12_871" + X12872 = "X12_872" + X12873 = "X12_873" + X12874 = "X12_874" + X12875 = "X12_875" + X12876 = "X12_876" + X12877 = "X12_877" + X12878 = "X12_878" + X12879 = "X12_879" + X12880 = "X12_880" + X12881 = "X12_881" + X12882 = "X12_882" + X12883 = "X12_883" + X12884 = "X12_884" + X12885 = "X12_885" + X12886 = "X12_886" + X12887 = "X12_887" + X12888 = "X12_888" + X12889 = "X12_889" + X12891 = "X12_891" + X12893 = "X12_893" + X12894 = "X12_894" + X12895 = "X12_895" + X12896 = "X12_896" + X12920 = "X12_920" + X12924 = "X12_924" + X12925 = "X12_925" + X12926 = "X12_926" + X12928 = "X12_928" X12940 = "X12_940" + X12943 = "X12_943" + X12944 = "X12_944" X12945 = "X12_945" + X12947 = "X12_947" + X12980 = "X12_980" X12990 = "X12_990" + X12993 = "X12_993" + X12996 = "X12_996" X12997 = "X12_997" + X12998 = "X12_998" X12999 = "X12_999" X12270X279 = "X12_270_X279" X12271X279 = "X12_271_X279" @@ -110,6 +377,8 @@ class CapabilityX12TransactionSet(str, Enum): class CapabilityX12Version(str, Enum): VERSION4010 = "VERSION_4010" VERSION4030 = "VERSION_4030" + VERSION4050 = "VERSION_4050" + VERSION4060 = "VERSION_4060" VERSION5010 = "VERSION_5010" VERSION5010_HIPAA = "VERSION_5010_HIPAA" @@ -144,57 +413,324 @@ class TransformerToFormat(str, Enum): class TransformerX12TransactionSet(str, Enum): + X12100 = "X12_100" + X12101 = "X12_101" + X12102 = "X12_102" + X12103 = "X12_103" + X12104 = "X12_104" + X12105 = "X12_105" + X12106 = "X12_106" + X12107 = "X12_107" + X12108 = "X12_108" + X12109 = "X12_109" X12110 = "X12_110" + X12111 = "X12_111" + X12112 = "X12_112" + X12113 = "X12_113" + X12120 = "X12_120" + X12121 = "X12_121" + X12124 = "X12_124" + X12125 = "X12_125" + X12126 = "X12_126" + X12127 = "X12_127" + X12128 = "X12_128" + X12129 = "X12_129" + X12130 = "X12_130" + X12131 = "X12_131" + X12132 = "X12_132" + X12133 = "X12_133" + X12135 = "X12_135" + X12138 = "X12_138" + X12139 = "X12_139" + X12140 = "X12_140" + X12141 = "X12_141" + X12142 = "X12_142" + X12143 = "X12_143" + X12144 = "X12_144" + X12146 = "X12_146" + X12147 = "X12_147" + X12148 = "X12_148" + X12149 = "X12_149" + X12150 = "X12_150" + X12151 = "X12_151" + X12152 = "X12_152" + X12153 = "X12_153" + X12154 = "X12_154" + X12155 = "X12_155" + X12157 = "X12_157" + X12158 = "X12_158" + X12159 = "X12_159" + X12160 = "X12_160" + X12161 = "X12_161" + X12163 = "X12_163" + X12170 = "X12_170" + X12175 = "X12_175" + X12176 = "X12_176" + X12179 = "X12_179" X12180 = "X12_180" + X12185 = "X12_185" + X12186 = "X12_186" + X12187 = "X12_187" + X12188 = "X12_188" + X12189 = "X12_189" + X12190 = "X12_190" + X12191 = "X12_191" + X12194 = "X12_194" + X12195 = "X12_195" + X12196 = "X12_196" + X12197 = "X12_197" + X12198 = "X12_198" + X12199 = "X12_199" + X12200 = "X12_200" + X12201 = "X12_201" + X12202 = "X12_202" + X12203 = "X12_203" X12204 = "X12_204" + X12205 = "X12_205" + X12206 = "X12_206" X12210 = "X12_210" X12211 = "X12_211" + X12212 = "X12_212" + X12213 = "X12_213" X12214 = "X12_214" X12215 = "X12_215" + X12216 = "X12_216" + X12217 = "X12_217" + X12218 = "X12_218" + X12219 = "X12_219" + X12220 = "X12_220" + X12222 = "X12_222" + X12223 = "X12_223" + X12224 = "X12_224" + X12225 = "X12_225" + X12227 = "X12_227" + X12228 = "X12_228" + X12240 = "X12_240" + X12242 = "X12_242" + X12244 = "X12_244" + X12245 = "X12_245" + X12248 = "X12_248" + X12249 = "X12_249" + X12250 = "X12_250" + X12251 = "X12_251" + X12252 = "X12_252" + X12255 = "X12_255" + X12256 = "X12_256" X12259 = "X12_259" X12260 = "X12_260" + X12261 = "X12_261" + X12262 = "X12_262" + X12263 = "X12_263" + X12264 = "X12_264" + X12265 = "X12_265" X12266 = "X12_266" + X12267 = "X12_267" + X12268 = "X12_268" X12269 = "X12_269" X12270 = "X12_270" X12271 = "X12_271" + X12272 = "X12_272" + X12273 = "X12_273" X12274 = "X12_274" X12275 = "X12_275" X12276 = "X12_276" X12277 = "X12_277" X12278 = "X12_278" + X12280 = "X12_280" + X12283 = "X12_283" + X12284 = "X12_284" + X12285 = "X12_285" + X12286 = "X12_286" + X12288 = "X12_288" + X12290 = "X12_290" + X12300 = "X12_300" + X12301 = "X12_301" + X12303 = "X12_303" + X12304 = "X12_304" + X12309 = "X12_309" X12310 = "X12_310" + X12311 = "X12_311" + X12312 = "X12_312" + X12313 = "X12_313" X12315 = "X12_315" + X12317 = "X12_317" + X12319 = "X12_319" X12322 = "X12_322" + X12323 = "X12_323" + X12324 = "X12_324" + X12325 = "X12_325" + X12326 = "X12_326" + X12350 = "X12_350" + X12352 = "X12_352" + X12353 = "X12_353" + X12354 = "X12_354" + X12355 = "X12_355" + X12356 = "X12_356" + X12357 = "X12_357" + X12358 = "X12_358" + X12361 = "X12_361" + X12362 = "X12_362" X12404 = "X12_404" X12410 = "X12_410" + X12412 = "X12_412" + X12414 = "X12_414" X12417 = "X12_417" + X12418 = "X12_418" + X12419 = "X12_419" + X12420 = "X12_420" X12421 = "X12_421" + X12422 = "X12_422" + X12423 = "X12_423" + X12424 = "X12_424" + X12425 = "X12_425" X12426 = "X12_426" + X12429 = "X12_429" + X12431 = "X12_431" + X12432 = "X12_432" + X12433 = "X12_433" + X12434 = "X12_434" + X12435 = "X12_435" + X12436 = "X12_436" + X12437 = "X12_437" + X12440 = "X12_440" + X12451 = "X12_451" + X12452 = "X12_452" + X12453 = "X12_453" + X12455 = "X12_455" + X12456 = "X12_456" + X12460 = "X12_460" + X12463 = "X12_463" + X12466 = "X12_466" + X12468 = "X12_468" + X12470 = "X12_470" + X12475 = "X12_475" + X12485 = "X12_485" + X12486 = "X12_486" + X12490 = "X12_490" + X12492 = "X12_492" + X12494 = "X12_494" + X12500 = "X12_500" + X12501 = "X12_501" + X12503 = "X12_503" + X12504 = "X12_504" + X12511 = "X12_511" + X12517 = "X12_517" + X12521 = "X12_521" + X12527 = "X12_527" + X12536 = "X12_536" + X12540 = "X12_540" + X12561 = "X12_561" + X12567 = "X12_567" + X12568 = "X12_568" + X12601 = "X12_601" + X12602 = "X12_602" + X12620 = "X12_620" + X12625 = "X12_625" + X12650 = "X12_650" + X12715 = "X12_715" + X12753 = "X12_753" + X12754 = "X12_754" + X12805 = "X12_805" + X12806 = "X12_806" X12810 = "X12_810" + X12811 = "X12_811" + X12812 = "X12_812" + X12813 = "X12_813" + X12814 = "X12_814" + X12815 = "X12_815" + X12816 = "X12_816" + X12818 = "X12_818" + X12819 = "X12_819" X12820 = "X12_820" + X12821 = "X12_821" + X12822 = "X12_822" + X12823 = "X12_823" X12824 = "X12_824" + X12826 = "X12_826" + X12827 = "X12_827" + X12828 = "X12_828" + X12829 = "X12_829" X12830 = "X12_830" + X12831 = "X12_831" X12832 = "X12_832" + X12833 = "X12_833" X12834 = "X12_834" X12835 = "X12_835" + X12836 = "X12_836" X12837 = "X12_837" + X12838 = "X12_838" + X12839 = "X12_839" + X12840 = "X12_840" + X12841 = "X12_841" + X12842 = "X12_842" + X12843 = "X12_843" X12844 = "X12_844" + X12845 = "X12_845" X12846 = "X12_846" + X12847 = "X12_847" + X12848 = "X12_848" X12849 = "X12_849" X12850 = "X12_850" + X12851 = "X12_851" X12852 = "X12_852" + X12853 = "X12_853" + X12854 = "X12_854" X12855 = "X12_855" X12856 = "X12_856" + X12857 = "X12_857" + X12858 = "X12_858" + X12859 = "X12_859" X12860 = "X12_860" X12861 = "X12_861" + X12862 = "X12_862" + X12863 = "X12_863" X12864 = "X12_864" X12865 = "X12_865" + X12866 = "X12_866" + X12867 = "X12_867" + X12868 = "X12_868" X12869 = "X12_869" X12870 = "X12_870" + X12871 = "X12_871" + X12872 = "X12_872" + X12873 = "X12_873" + X12874 = "X12_874" + X12875 = "X12_875" + X12876 = "X12_876" + X12877 = "X12_877" + X12878 = "X12_878" + X12879 = "X12_879" + X12880 = "X12_880" + X12881 = "X12_881" + X12882 = "X12_882" + X12883 = "X12_883" + X12884 = "X12_884" + X12885 = "X12_885" + X12886 = "X12_886" + X12887 = "X12_887" + X12888 = "X12_888" + X12889 = "X12_889" + X12891 = "X12_891" + X12893 = "X12_893" + X12894 = "X12_894" + X12895 = "X12_895" + X12896 = "X12_896" + X12920 = "X12_920" + X12924 = "X12_924" + X12925 = "X12_925" + X12926 = "X12_926" + X12928 = "X12_928" X12940 = "X12_940" + X12943 = "X12_943" + X12944 = "X12_944" X12945 = "X12_945" + X12947 = "X12_947" + X12980 = "X12_980" X12990 = "X12_990" + X12993 = "X12_993" + X12996 = "X12_996" X12997 = "X12_997" + X12998 = "X12_998" X12999 = "X12_999" X12270X279 = "X12_270_X279" X12271X279 = "X12_271_X279" @@ -224,5 +760,7 @@ class TransformerX12TransactionSet(str, Enum): class TransformerX12Version(str, Enum): VERSION4010 = "VERSION_4010" VERSION4030 = "VERSION_4030" + VERSION4050 = "VERSION_4050" + VERSION4060 = "VERSION_4060" VERSION5010 = "VERSION_5010" VERSION5010_HIPAA = "VERSION_5010_HIPAA" diff --git a/sdk/python/pulumi_aws_native/cloudformation/_inputs.py b/sdk/python/pulumi_aws_native/cloudformation/_inputs.py index c4bfd03ff9..4c1c5382b8 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/_inputs.py +++ b/sdk/python/pulumi_aws_native/cloudformation/_inputs.py @@ -269,7 +269,13 @@ def active(self, value: Optional[pulumi.Input[bool]]): if not MYPY: class OptionsPropertiesArgsDict(TypedDict): + """ + Specifies the S3 location of your input parameters. + """ input_params: NotRequired[pulumi.Input['GuardHookS3LocationArgsDict']] + """ + Specifies the S3 location where your input parameters are located. + """ elif False: OptionsPropertiesArgsDict: TypeAlias = Mapping[str, Any] @@ -277,12 +283,19 @@ class OptionsPropertiesArgsDict(TypedDict): class OptionsPropertiesArgs: def __init__(__self__, *, input_params: Optional[pulumi.Input['GuardHookS3LocationArgs']] = None): + """ + Specifies the S3 location of your input parameters. + :param pulumi.Input['GuardHookS3LocationArgs'] input_params: Specifies the S3 location where your input parameters are located. + """ if input_params is not None: pulumi.set(__self__, "input_params", input_params) @property @pulumi.getter(name="inputParams") def input_params(self) -> Optional[pulumi.Input['GuardHookS3LocationArgs']]: + """ + Specifies the S3 location where your input parameters are located. + """ return pulumi.get(self, "input_params") @input_params.setter diff --git a/sdk/python/pulumi_aws_native/cloudformation/get_guard_hook.py b/sdk/python/pulumi_aws_native/cloudformation/get_guard_hook.py index 04069e58f3..3717094823 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/get_guard_hook.py +++ b/sdk/python/pulumi_aws_native/cloudformation/get_guard_hook.py @@ -89,11 +89,17 @@ def log_bucket(self) -> Optional[str]: @property @pulumi.getter def options(self) -> Optional['outputs.OptionsProperties']: + """ + Specifies the S3 location of your input parameters. + """ return pulumi.get(self, "options") @property @pulumi.getter(name="ruleLocation") def rule_location(self) -> Optional['outputs.GuardHookS3Location']: + """ + Specifies the S3 location of your Guard rules. + """ return pulumi.get(self, "rule_location") @property diff --git a/sdk/python/pulumi_aws_native/cloudformation/guard_hook.py b/sdk/python/pulumi_aws_native/cloudformation/guard_hook.py index a2ee4bf45d..4a83505926 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/guard_hook.py +++ b/sdk/python/pulumi_aws_native/cloudformation/guard_hook.py @@ -38,8 +38,10 @@ def __init__(__self__, *, :param pulumi.Input[str] execution_role: The execution role ARN assumed by hooks to read Guard rules from S3 and write Guard outputs to S3. :param pulumi.Input['GuardHookFailureMode'] failure_mode: Attribute to specify CloudFormation behavior on hook failure. :param pulumi.Input['GuardHookHookStatus'] hook_status: Attribute to specify which stacks this hook applies to or should get invoked for + :param pulumi.Input['GuardHookS3LocationArgs'] rule_location: Specifies the S3 location of your Guard rules. :param pulumi.Input[Sequence[pulumi.Input['GuardHookTargetOperation']]] target_operations: Which operations should this Hook run against? Resource changes, stacks or change sets. :param pulumi.Input[str] log_bucket: S3 Bucket where the guard validate report will be uploaded to + :param pulumi.Input['OptionsPropertiesArgs'] options: Specifies the S3 location of your input parameters. :param pulumi.Input['StackFiltersPropertiesArgs'] stack_filters: Filters to allow hooks to target specific stack attributes :param pulumi.Input[Union['TargetFilters0PropertiesArgs', 'TargetFilters1PropertiesArgs']] target_filters: Attribute to specify which targets should invoke the hook """ @@ -109,6 +111,9 @@ def hook_status(self, value: pulumi.Input['GuardHookHookStatus']): @property @pulumi.getter(name="ruleLocation") def rule_location(self) -> pulumi.Input['GuardHookS3LocationArgs']: + """ + Specifies the S3 location of your Guard rules. + """ return pulumi.get(self, "rule_location") @rule_location.setter @@ -142,6 +147,9 @@ def log_bucket(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def options(self) -> Optional[pulumi.Input['OptionsPropertiesArgs']]: + """ + Specifies the S3 location of your input parameters. + """ return pulumi.get(self, "options") @options.setter @@ -199,6 +207,8 @@ def __init__(__self__, :param pulumi.Input['GuardHookFailureMode'] failure_mode: Attribute to specify CloudFormation behavior on hook failure. :param pulumi.Input['GuardHookHookStatus'] hook_status: Attribute to specify which stacks this hook applies to or should get invoked for :param pulumi.Input[str] log_bucket: S3 Bucket where the guard validate report will be uploaded to + :param pulumi.Input[Union['OptionsPropertiesArgs', 'OptionsPropertiesArgsDict']] options: Specifies the S3 location of your input parameters. + :param pulumi.Input[Union['GuardHookS3LocationArgs', 'GuardHookS3LocationArgsDict']] rule_location: Specifies the S3 location of your Guard rules. :param pulumi.Input[Union['StackFiltersPropertiesArgs', 'StackFiltersPropertiesArgsDict']] stack_filters: Filters to allow hooks to target specific stack attributes :param pulumi.Input[Union[Union['TargetFilters0PropertiesArgs', 'TargetFilters0PropertiesArgsDict'], Union['TargetFilters1PropertiesArgs', 'TargetFilters1PropertiesArgsDict']]] target_filters: Attribute to specify which targets should invoke the hook :param pulumi.Input[Sequence[pulumi.Input['GuardHookTargetOperation']]] target_operations: Which operations should this Hook run against? Resource changes, stacks or change sets. @@ -357,11 +367,17 @@ def log_bucket(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter def options(self) -> pulumi.Output[Optional['outputs.OptionsProperties']]: + """ + Specifies the S3 location of your input parameters. + """ return pulumi.get(self, "options") @property @pulumi.getter(name="ruleLocation") def rule_location(self) -> pulumi.Output['outputs.GuardHookS3Location']: + """ + Specifies the S3 location of your Guard rules. + """ return pulumi.get(self, "rule_location") @property diff --git a/sdk/python/pulumi_aws_native/cloudformation/outputs.py b/sdk/python/pulumi_aws_native/cloudformation/outputs.py index 572426a49a..d3d629f813 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/outputs.py +++ b/sdk/python/pulumi_aws_native/cloudformation/outputs.py @@ -226,6 +226,9 @@ def active(self) -> Optional[bool]: @pulumi.output_type class OptionsProperties(dict): + """ + Specifies the S3 location of your input parameters. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -245,12 +248,19 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, input_params: Optional['outputs.GuardHookS3Location'] = None): + """ + Specifies the S3 location of your input parameters. + :param 'GuardHookS3Location' input_params: Specifies the S3 location where your input parameters are located. + """ if input_params is not None: pulumi.set(__self__, "input_params", input_params) @property @pulumi.getter(name="inputParams") def input_params(self) -> Optional['outputs.GuardHookS3Location']: + """ + Specifies the S3 location where your input parameters are located. + """ return pulumi.get(self, "input_params") diff --git a/sdk/python/pulumi_aws_native/connect/__init__.py b/sdk/python/pulumi_aws_native/connect/__init__.py index a3e05b771d..074a3c8dd1 100644 --- a/sdk/python/pulumi_aws_native/connect/__init__.py +++ b/sdk/python/pulumi_aws_native/connect/__init__.py @@ -10,10 +10,12 @@ from .approved_origin import * from .contact_flow import * from .contact_flow_module import * +from .email_address import * from .evaluation_form import * from .get_agent_status import * from .get_contact_flow import * from .get_contact_flow_module import * +from .get_email_address import * from .get_evaluation_form import * from .get_hours_of_operation import * from .get_instance import * diff --git a/sdk/python/pulumi_aws_native/connect/_enums.py b/sdk/python/pulumi_aws_native/connect/_enums.py index 01b6910e42..031e23f764 100644 --- a/sdk/python/pulumi_aws_native/connect/_enums.py +++ b/sdk/python/pulumi_aws_native/connect/_enums.py @@ -17,6 +17,7 @@ 'EvaluationFormSingleSelectQuestionRuleCategoryAutomationCondition', 'EvaluationFormStatus', 'HoursOfOperationConfigDay', + 'HoursOfOperationOverrideConfigDay', 'InstanceIdentityManagementType', 'InstanceStatus', 'InstanceStorageConfigEncryptionType', @@ -165,6 +166,19 @@ class HoursOfOperationConfigDay(str, Enum): SATURDAY = "SATURDAY" +class HoursOfOperationOverrideConfigDay(str, Enum): + """ + The day that the hours of operation override applies to. + """ + SUNDAY = "SUNDAY" + MONDAY = "MONDAY" + TUESDAY = "TUESDAY" + WEDNESDAY = "WEDNESDAY" + THURSDAY = "THURSDAY" + FRIDAY = "FRIDAY" + SATURDAY = "SATURDAY" + + class InstanceIdentityManagementType(str, Enum): """ Specifies the type of directory integration for new instance. diff --git a/sdk/python/pulumi_aws_native/connect/_inputs.py b/sdk/python/pulumi_aws_native/connect/_inputs.py index 748acc4e8b..edc93a1610 100644 --- a/sdk/python/pulumi_aws_native/connect/_inputs.py +++ b/sdk/python/pulumi_aws_native/connect/_inputs.py @@ -50,6 +50,12 @@ 'EvaluationFormSingleSelectQuestionRuleCategoryAutomationArgsDict', 'HoursOfOperationConfigArgs', 'HoursOfOperationConfigArgsDict', + 'HoursOfOperationOverrideConfigArgs', + 'HoursOfOperationOverrideConfigArgsDict', + 'HoursOfOperationOverrideTimeSliceArgs', + 'HoursOfOperationOverrideTimeSliceArgsDict', + 'HoursOfOperationOverrideArgs', + 'HoursOfOperationOverrideArgsDict', 'HoursOfOperationTimeSliceArgs', 'HoursOfOperationTimeSliceArgsDict', 'InstanceAttributesArgs', @@ -1449,6 +1455,223 @@ def start_time(self, value: pulumi.Input['HoursOfOperationTimeSliceArgs']): pulumi.set(self, "start_time", value) +if not MYPY: + class HoursOfOperationOverrideConfigArgsDict(TypedDict): + """ + Contains information about the hours of operation override. + """ + day: pulumi.Input['HoursOfOperationOverrideConfigDay'] + """ + The day that the hours of operation override applies to. + """ + end_time: pulumi.Input['HoursOfOperationOverrideTimeSliceArgsDict'] + """ + The new end time that your contact center closes for the overriden days. + """ + start_time: pulumi.Input['HoursOfOperationOverrideTimeSliceArgsDict'] + """ + The new start time that your contact center opens for the overriden days. + """ +elif False: + HoursOfOperationOverrideConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HoursOfOperationOverrideConfigArgs: + def __init__(__self__, *, + day: pulumi.Input['HoursOfOperationOverrideConfigDay'], + end_time: pulumi.Input['HoursOfOperationOverrideTimeSliceArgs'], + start_time: pulumi.Input['HoursOfOperationOverrideTimeSliceArgs']): + """ + Contains information about the hours of operation override. + :param pulumi.Input['HoursOfOperationOverrideConfigDay'] day: The day that the hours of operation override applies to. + :param pulumi.Input['HoursOfOperationOverrideTimeSliceArgs'] end_time: The new end time that your contact center closes for the overriden days. + :param pulumi.Input['HoursOfOperationOverrideTimeSliceArgs'] start_time: The new start time that your contact center opens for the overriden days. + """ + pulumi.set(__self__, "day", day) + pulumi.set(__self__, "end_time", end_time) + pulumi.set(__self__, "start_time", start_time) + + @property + @pulumi.getter + def day(self) -> pulumi.Input['HoursOfOperationOverrideConfigDay']: + """ + The day that the hours of operation override applies to. + """ + return pulumi.get(self, "day") + + @day.setter + def day(self, value: pulumi.Input['HoursOfOperationOverrideConfigDay']): + pulumi.set(self, "day", value) + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> pulumi.Input['HoursOfOperationOverrideTimeSliceArgs']: + """ + The new end time that your contact center closes for the overriden days. + """ + return pulumi.get(self, "end_time") + + @end_time.setter + def end_time(self, value: pulumi.Input['HoursOfOperationOverrideTimeSliceArgs']): + pulumi.set(self, "end_time", value) + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> pulumi.Input['HoursOfOperationOverrideTimeSliceArgs']: + """ + The new start time that your contact center opens for the overriden days. + """ + return pulumi.get(self, "start_time") + + @start_time.setter + def start_time(self, value: pulumi.Input['HoursOfOperationOverrideTimeSliceArgs']): + pulumi.set(self, "start_time", value) + + +if not MYPY: + class HoursOfOperationOverrideTimeSliceArgsDict(TypedDict): + """ + The start time or end time for an an hours of operation override. + """ + hours: pulumi.Input[int] + """ + The hours. + """ + minutes: pulumi.Input[int] + """ + The minutes. + """ +elif False: + HoursOfOperationOverrideTimeSliceArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HoursOfOperationOverrideTimeSliceArgs: + def __init__(__self__, *, + hours: pulumi.Input[int], + minutes: pulumi.Input[int]): + """ + The start time or end time for an an hours of operation override. + :param pulumi.Input[int] hours: The hours. + :param pulumi.Input[int] minutes: The minutes. + """ + pulumi.set(__self__, "hours", hours) + pulumi.set(__self__, "minutes", minutes) + + @property + @pulumi.getter + def hours(self) -> pulumi.Input[int]: + """ + The hours. + """ + return pulumi.get(self, "hours") + + @hours.setter + def hours(self, value: pulumi.Input[int]): + pulumi.set(self, "hours", value) + + @property + @pulumi.getter + def minutes(self) -> pulumi.Input[int]: + """ + The minutes. + """ + return pulumi.get(self, "minutes") + + @minutes.setter + def minutes(self, value: pulumi.Input[int]): + pulumi.set(self, "minutes", value) + + +if not MYPY: + class HoursOfOperationOverrideArgsDict(TypedDict): + """ + Overrides attached to the hours of operation. + """ + effective_from: pulumi.Input[str] + effective_till: pulumi.Input[str] + override_config: pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideConfigArgsDict']]] + override_name: pulumi.Input[str] + hours_of_operation_override_id: NotRequired[pulumi.Input[str]] + override_description: NotRequired[pulumi.Input[str]] +elif False: + HoursOfOperationOverrideArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class HoursOfOperationOverrideArgs: + def __init__(__self__, *, + effective_from: pulumi.Input[str], + effective_till: pulumi.Input[str], + override_config: pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideConfigArgs']]], + override_name: pulumi.Input[str], + hours_of_operation_override_id: Optional[pulumi.Input[str]] = None, + override_description: Optional[pulumi.Input[str]] = None): + """ + Overrides attached to the hours of operation. + """ + pulumi.set(__self__, "effective_from", effective_from) + pulumi.set(__self__, "effective_till", effective_till) + pulumi.set(__self__, "override_config", override_config) + pulumi.set(__self__, "override_name", override_name) + if hours_of_operation_override_id is not None: + pulumi.set(__self__, "hours_of_operation_override_id", hours_of_operation_override_id) + if override_description is not None: + pulumi.set(__self__, "override_description", override_description) + + @property + @pulumi.getter(name="effectiveFrom") + def effective_from(self) -> pulumi.Input[str]: + return pulumi.get(self, "effective_from") + + @effective_from.setter + def effective_from(self, value: pulumi.Input[str]): + pulumi.set(self, "effective_from", value) + + @property + @pulumi.getter(name="effectiveTill") + def effective_till(self) -> pulumi.Input[str]: + return pulumi.get(self, "effective_till") + + @effective_till.setter + def effective_till(self, value: pulumi.Input[str]): + pulumi.set(self, "effective_till", value) + + @property + @pulumi.getter(name="overrideConfig") + def override_config(self) -> pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideConfigArgs']]]: + return pulumi.get(self, "override_config") + + @override_config.setter + def override_config(self, value: pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideConfigArgs']]]): + pulumi.set(self, "override_config", value) + + @property + @pulumi.getter(name="overrideName") + def override_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "override_name") + + @override_name.setter + def override_name(self, value: pulumi.Input[str]): + pulumi.set(self, "override_name", value) + + @property + @pulumi.getter(name="hoursOfOperationOverrideId") + def hours_of_operation_override_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "hours_of_operation_override_id") + + @hours_of_operation_override_id.setter + def hours_of_operation_override_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hours_of_operation_override_id", value) + + @property + @pulumi.getter(name="overrideDescription") + def override_description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "override_description") + + @override_description.setter + def override_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "override_description", value) + + if not MYPY: class HoursOfOperationTimeSliceArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/connect/email_address.py b/sdk/python/pulumi_aws_native/connect/email_address.py new file mode 100644 index 0000000000..4fd6b63797 --- /dev/null +++ b/sdk/python/pulumi_aws_native/connect/email_address.py @@ -0,0 +1,256 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs + +__all__ = ['EmailAddressArgs', 'EmailAddress'] + +@pulumi.input_type +class EmailAddressArgs: + def __init__(__self__, *, + email_address: pulumi.Input[str], + instance_arn: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a EmailAddress resource. + :param pulumi.Input[str] email_address: Email address to be created for this instance + :param pulumi.Input[str] instance_arn: The identifier of the Amazon Connect instance. + :param pulumi.Input[str] description: A description for the email address. + :param pulumi.Input[str] display_name: The display name for the email address. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: One or more tags. + """ + pulumi.set(__self__, "email_address", email_address) + pulumi.set(__self__, "instance_arn", instance_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="emailAddress") + def email_address(self) -> pulumi.Input[str]: + """ + Email address to be created for this instance + """ + return pulumi.get(self, "email_address") + + @email_address.setter + def email_address(self, value: pulumi.Input[str]): + pulumi.set(self, "email_address", value) + + @property + @pulumi.getter(name="instanceArn") + def instance_arn(self) -> pulumi.Input[str]: + """ + The identifier of the Amazon Connect instance. + """ + return pulumi.get(self, "instance_arn") + + @instance_arn.setter + def instance_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description for the email address. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The display name for the email address. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + One or more tags. + """ + 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 EmailAddress(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + email_address: Optional[pulumi.Input[str]] = None, + instance_arn: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Resource Type definition for AWS::Connect::EmailAddress + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description for the email address. + :param pulumi.Input[str] display_name: The display name for the email address. + :param pulumi.Input[str] email_address: Email address to be created for this instance + :param pulumi.Input[str] instance_arn: The identifier of the Amazon Connect instance. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: One or more tags. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EmailAddressArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::Connect::EmailAddress + + :param str resource_name: The name of the resource. + :param EmailAddressArgs 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(EmailAddressArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + email_address: Optional[pulumi.Input[str]] = None, + instance_arn: Optional[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__ = EmailAddressArgs.__new__(EmailAddressArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + if email_address is None and not opts.urn: + raise TypeError("Missing required property 'email_address'") + __props__.__dict__["email_address"] = email_address + if instance_arn is None and not opts.urn: + raise TypeError("Missing required property 'instance_arn'") + __props__.__dict__["instance_arn"] = instance_arn + __props__.__dict__["tags"] = tags + __props__.__dict__["email_address_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["emailAddress"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(EmailAddress, __self__).__init__( + 'aws-native:connect:EmailAddress', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'EmailAddress': + """ + Get an existing EmailAddress 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__ = EmailAddressArgs.__new__(EmailAddressArgs) + + __props__.__dict__["description"] = None + __props__.__dict__["display_name"] = None + __props__.__dict__["email_address"] = None + __props__.__dict__["email_address_arn"] = None + __props__.__dict__["instance_arn"] = None + __props__.__dict__["tags"] = None + return EmailAddress(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A description for the email address. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + """ + The display name for the email address. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="emailAddress") + def email_address(self) -> pulumi.Output[str]: + """ + Email address to be created for this instance + """ + return pulumi.get(self, "email_address") + + @property + @pulumi.getter(name="emailAddressArn") + def email_address_arn(self) -> pulumi.Output[str]: + """ + The identifier of the email address. + """ + return pulumi.get(self, "email_address_arn") + + @property + @pulumi.getter(name="instanceArn") + def instance_arn(self) -> pulumi.Output[str]: + """ + The identifier of the Amazon Connect instance. + """ + return pulumi.get(self, "instance_arn") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + One or more tags. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/connect/get_email_address.py b/sdk/python/pulumi_aws_native/connect/get_email_address.py new file mode 100644 index 0000000000..f2d4f02509 --- /dev/null +++ b/sdk/python/pulumi_aws_native/connect/get_email_address.py @@ -0,0 +1,134 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import outputs as _root_outputs + +__all__ = [ + 'GetEmailAddressResult', + 'AwaitableGetEmailAddressResult', + 'get_email_address', + 'get_email_address_output', +] + +@pulumi.output_type +class GetEmailAddressResult: + def __init__(__self__, description=None, display_name=None, email_address_arn=None, instance_arn=None, tags=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if email_address_arn and not isinstance(email_address_arn, str): + raise TypeError("Expected argument 'email_address_arn' to be a str") + pulumi.set(__self__, "email_address_arn", email_address_arn) + if instance_arn and not isinstance(instance_arn, str): + raise TypeError("Expected argument 'instance_arn' to be a str") + pulumi.set(__self__, "instance_arn", instance_arn) + 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 description(self) -> Optional[str]: + """ + A description for the email address. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + """ + The display name for the email address. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="emailAddressArn") + def email_address_arn(self) -> Optional[str]: + """ + The identifier of the email address. + """ + return pulumi.get(self, "email_address_arn") + + @property + @pulumi.getter(name="instanceArn") + def instance_arn(self) -> Optional[str]: + """ + The identifier of the Amazon Connect instance. + """ + return pulumi.get(self, "instance_arn") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + One or more tags. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetEmailAddressResult(GetEmailAddressResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEmailAddressResult( + description=self.description, + display_name=self.display_name, + email_address_arn=self.email_address_arn, + instance_arn=self.instance_arn, + tags=self.tags) + + +def get_email_address(email_address_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEmailAddressResult: + """ + Resource Type definition for AWS::Connect::EmailAddress + + + :param str email_address_arn: The identifier of the email address. + """ + __args__ = dict() + __args__['emailAddressArn'] = email_address_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:connect:getEmailAddress', __args__, opts=opts, typ=GetEmailAddressResult).value + + return AwaitableGetEmailAddressResult( + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + email_address_arn=pulumi.get(__ret__, 'email_address_arn'), + instance_arn=pulumi.get(__ret__, 'instance_arn'), + tags=pulumi.get(__ret__, 'tags')) +def get_email_address_output(email_address_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEmailAddressResult]: + """ + Resource Type definition for AWS::Connect::EmailAddress + + + :param str email_address_arn: The identifier of the email address. + """ + __args__ = dict() + __args__['emailAddressArn'] = email_address_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:connect:getEmailAddress', __args__, opts=opts, typ=GetEmailAddressResult) + return __ret__.apply(lambda __response__: GetEmailAddressResult( + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + email_address_arn=pulumi.get(__response__, 'email_address_arn'), + instance_arn=pulumi.get(__response__, 'instance_arn'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/connect/get_hours_of_operation.py b/sdk/python/pulumi_aws_native/connect/get_hours_of_operation.py index 0b5bef6b8b..f38fc5d8e1 100644 --- a/sdk/python/pulumi_aws_native/connect/get_hours_of_operation.py +++ b/sdk/python/pulumi_aws_native/connect/get_hours_of_operation.py @@ -26,7 +26,7 @@ @pulumi.output_type class GetHoursOfOperationResult: - def __init__(__self__, config=None, description=None, hours_of_operation_arn=None, instance_arn=None, name=None, tags=None, time_zone=None): + def __init__(__self__, config=None, description=None, hours_of_operation_arn=None, hours_of_operation_overrides=None, instance_arn=None, name=None, tags=None, time_zone=None): if config and not isinstance(config, list): raise TypeError("Expected argument 'config' to be a list") pulumi.set(__self__, "config", config) @@ -36,6 +36,9 @@ def __init__(__self__, config=None, description=None, hours_of_operation_arn=Non if hours_of_operation_arn and not isinstance(hours_of_operation_arn, str): raise TypeError("Expected argument 'hours_of_operation_arn' to be a str") pulumi.set(__self__, "hours_of_operation_arn", hours_of_operation_arn) + if hours_of_operation_overrides and not isinstance(hours_of_operation_overrides, list): + raise TypeError("Expected argument 'hours_of_operation_overrides' to be a list") + pulumi.set(__self__, "hours_of_operation_overrides", hours_of_operation_overrides) if instance_arn and not isinstance(instance_arn, str): raise TypeError("Expected argument 'instance_arn' to be a str") pulumi.set(__self__, "instance_arn", instance_arn) @@ -73,6 +76,14 @@ def hours_of_operation_arn(self) -> Optional[str]: """ return pulumi.get(self, "hours_of_operation_arn") + @property + @pulumi.getter(name="hoursOfOperationOverrides") + def hours_of_operation_overrides(self) -> Optional[Sequence['outputs.HoursOfOperationOverride']]: + """ + One or more hours of operation overrides assigned to an hour of operation. + """ + return pulumi.get(self, "hours_of_operation_overrides") + @property @pulumi.getter(name="instanceArn") def instance_arn(self) -> Optional[str]: @@ -115,6 +126,7 @@ def __await__(self): config=self.config, description=self.description, hours_of_operation_arn=self.hours_of_operation_arn, + hours_of_operation_overrides=self.hours_of_operation_overrides, instance_arn=self.instance_arn, name=self.name, tags=self.tags, @@ -138,6 +150,7 @@ def get_hours_of_operation(hours_of_operation_arn: Optional[str] = None, config=pulumi.get(__ret__, 'config'), description=pulumi.get(__ret__, 'description'), hours_of_operation_arn=pulumi.get(__ret__, 'hours_of_operation_arn'), + hours_of_operation_overrides=pulumi.get(__ret__, 'hours_of_operation_overrides'), instance_arn=pulumi.get(__ret__, 'instance_arn'), name=pulumi.get(__ret__, 'name'), tags=pulumi.get(__ret__, 'tags'), @@ -158,6 +171,7 @@ def get_hours_of_operation_output(hours_of_operation_arn: Optional[pulumi.Input[ config=pulumi.get(__response__, 'config'), description=pulumi.get(__response__, 'description'), hours_of_operation_arn=pulumi.get(__response__, 'hours_of_operation_arn'), + hours_of_operation_overrides=pulumi.get(__response__, 'hours_of_operation_overrides'), instance_arn=pulumi.get(__response__, 'instance_arn'), name=pulumi.get(__response__, 'name'), tags=pulumi.get(__response__, 'tags'), diff --git a/sdk/python/pulumi_aws_native/connect/hours_of_operation.py b/sdk/python/pulumi_aws_native/connect/hours_of_operation.py index 5d6cff7a1b..737c2f6c7f 100644 --- a/sdk/python/pulumi_aws_native/connect/hours_of_operation.py +++ b/sdk/python/pulumi_aws_native/connect/hours_of_operation.py @@ -28,6 +28,7 @@ def __init__(__self__, *, instance_arn: pulumi.Input[str], time_zone: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None, + hours_of_operation_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ @@ -36,6 +37,7 @@ def __init__(__self__, *, :param pulumi.Input[str] instance_arn: The identifier of the Amazon Connect instance. :param pulumi.Input[str] time_zone: The time zone of the hours of operation. :param pulumi.Input[str] description: The description of the hours of operation. + :param pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideArgs']]] hours_of_operation_overrides: One or more hours of operation overrides assigned to an hour of operation. :param pulumi.Input[str] name: The name of the hours of operation. :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: One or more tags. """ @@ -44,6 +46,8 @@ def __init__(__self__, *, pulumi.set(__self__, "time_zone", time_zone) if description is not None: pulumi.set(__self__, "description", description) + if hours_of_operation_overrides is not None: + pulumi.set(__self__, "hours_of_operation_overrides", hours_of_operation_overrides) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: @@ -97,6 +101,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="hoursOfOperationOverrides") + def hours_of_operation_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideArgs']]]]: + """ + One or more hours of operation overrides assigned to an hour of operation. + """ + return pulumi.get(self, "hours_of_operation_overrides") + + @hours_of_operation_overrides.setter + def hours_of_operation_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HoursOfOperationOverrideArgs']]]]): + pulumi.set(self, "hours_of_operation_overrides", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -129,6 +145,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, config: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HoursOfOperationConfigArgs', 'HoursOfOperationConfigArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, + hours_of_operation_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HoursOfOperationOverrideArgs', 'HoursOfOperationOverrideArgsDict']]]]] = None, instance_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, @@ -171,6 +188,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[Union['HoursOfOperationConfigArgs', 'HoursOfOperationConfigArgsDict']]]] config: Configuration information for the hours of operation: day, start time, and end time. :param pulumi.Input[str] description: The description of the hours of operation. + :param pulumi.Input[Sequence[pulumi.Input[Union['HoursOfOperationOverrideArgs', 'HoursOfOperationOverrideArgsDict']]]] hours_of_operation_overrides: One or more hours of operation overrides assigned to an hour of operation. :param pulumi.Input[str] instance_arn: The identifier of the Amazon Connect instance. :param pulumi.Input[str] name: The name of the hours of operation. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: One or more tags. @@ -232,6 +250,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, config: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HoursOfOperationConfigArgs', 'HoursOfOperationConfigArgsDict']]]]] = None, description: Optional[pulumi.Input[str]] = None, + hours_of_operation_overrides: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HoursOfOperationOverrideArgs', 'HoursOfOperationOverrideArgsDict']]]]] = None, instance_arn: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, @@ -249,6 +268,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'config'") __props__.__dict__["config"] = config __props__.__dict__["description"] = description + __props__.__dict__["hours_of_operation_overrides"] = hours_of_operation_overrides if instance_arn is None and not opts.urn: raise TypeError("Missing required property 'instance_arn'") __props__.__dict__["instance_arn"] = instance_arn @@ -283,6 +303,7 @@ def get(resource_name: str, __props__.__dict__["config"] = None __props__.__dict__["description"] = None __props__.__dict__["hours_of_operation_arn"] = None + __props__.__dict__["hours_of_operation_overrides"] = None __props__.__dict__["instance_arn"] = None __props__.__dict__["name"] = None __props__.__dict__["tags"] = None @@ -313,6 +334,14 @@ def hours_of_operation_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "hours_of_operation_arn") + @property + @pulumi.getter(name="hoursOfOperationOverrides") + def hours_of_operation_overrides(self) -> pulumi.Output[Optional[Sequence['outputs.HoursOfOperationOverride']]]: + """ + One or more hours of operation overrides assigned to an hour of operation. + """ + return pulumi.get(self, "hours_of_operation_overrides") + @property @pulumi.getter(name="instanceArn") def instance_arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/connect/outputs.py b/sdk/python/pulumi_aws_native/connect/outputs.py index 93fc83b80b..443879ba67 100644 --- a/sdk/python/pulumi_aws_native/connect/outputs.py +++ b/sdk/python/pulumi_aws_native/connect/outputs.py @@ -34,6 +34,9 @@ 'EvaluationFormSingleSelectQuestionProperties', 'EvaluationFormSingleSelectQuestionRuleCategoryAutomation', 'HoursOfOperationConfig', + 'HoursOfOperationOverride', + 'HoursOfOperationOverrideConfig', + 'HoursOfOperationOverrideTimeSlice', 'HoursOfOperationTimeSlice', 'InstanceAttributes', 'InstanceStorageConfigEncryptionConfig', @@ -1125,6 +1128,184 @@ def start_time(self) -> 'outputs.HoursOfOperationTimeSlice': return pulumi.get(self, "start_time") +@pulumi.output_type +class HoursOfOperationOverride(dict): + """ + Overrides attached to the hours of operation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "effectiveFrom": + suggest = "effective_from" + elif key == "effectiveTill": + suggest = "effective_till" + elif key == "overrideConfig": + suggest = "override_config" + elif key == "overrideName": + suggest = "override_name" + elif key == "hoursOfOperationOverrideId": + suggest = "hours_of_operation_override_id" + elif key == "overrideDescription": + suggest = "override_description" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HoursOfOperationOverride. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HoursOfOperationOverride.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HoursOfOperationOverride.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + effective_from: str, + effective_till: str, + override_config: Sequence['outputs.HoursOfOperationOverrideConfig'], + override_name: str, + hours_of_operation_override_id: Optional[str] = None, + override_description: Optional[str] = None): + """ + Overrides attached to the hours of operation. + """ + pulumi.set(__self__, "effective_from", effective_from) + pulumi.set(__self__, "effective_till", effective_till) + pulumi.set(__self__, "override_config", override_config) + pulumi.set(__self__, "override_name", override_name) + if hours_of_operation_override_id is not None: + pulumi.set(__self__, "hours_of_operation_override_id", hours_of_operation_override_id) + if override_description is not None: + pulumi.set(__self__, "override_description", override_description) + + @property + @pulumi.getter(name="effectiveFrom") + def effective_from(self) -> str: + return pulumi.get(self, "effective_from") + + @property + @pulumi.getter(name="effectiveTill") + def effective_till(self) -> str: + return pulumi.get(self, "effective_till") + + @property + @pulumi.getter(name="overrideConfig") + def override_config(self) -> Sequence['outputs.HoursOfOperationOverrideConfig']: + return pulumi.get(self, "override_config") + + @property + @pulumi.getter(name="overrideName") + def override_name(self) -> str: + return pulumi.get(self, "override_name") + + @property + @pulumi.getter(name="hoursOfOperationOverrideId") + def hours_of_operation_override_id(self) -> Optional[str]: + return pulumi.get(self, "hours_of_operation_override_id") + + @property + @pulumi.getter(name="overrideDescription") + def override_description(self) -> Optional[str]: + return pulumi.get(self, "override_description") + + +@pulumi.output_type +class HoursOfOperationOverrideConfig(dict): + """ + Contains information about the hours of operation override. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endTime": + suggest = "end_time" + elif key == "startTime": + suggest = "start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in HoursOfOperationOverrideConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + HoursOfOperationOverrideConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + HoursOfOperationOverrideConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + day: 'HoursOfOperationOverrideConfigDay', + end_time: 'outputs.HoursOfOperationOverrideTimeSlice', + start_time: 'outputs.HoursOfOperationOverrideTimeSlice'): + """ + Contains information about the hours of operation override. + :param 'HoursOfOperationOverrideConfigDay' day: The day that the hours of operation override applies to. + :param 'HoursOfOperationOverrideTimeSlice' end_time: The new end time that your contact center closes for the overriden days. + :param 'HoursOfOperationOverrideTimeSlice' start_time: The new start time that your contact center opens for the overriden days. + """ + pulumi.set(__self__, "day", day) + pulumi.set(__self__, "end_time", end_time) + pulumi.set(__self__, "start_time", start_time) + + @property + @pulumi.getter + def day(self) -> 'HoursOfOperationOverrideConfigDay': + """ + The day that the hours of operation override applies to. + """ + return pulumi.get(self, "day") + + @property + @pulumi.getter(name="endTime") + def end_time(self) -> 'outputs.HoursOfOperationOverrideTimeSlice': + """ + The new end time that your contact center closes for the overriden days. + """ + return pulumi.get(self, "end_time") + + @property + @pulumi.getter(name="startTime") + def start_time(self) -> 'outputs.HoursOfOperationOverrideTimeSlice': + """ + The new start time that your contact center opens for the overriden days. + """ + return pulumi.get(self, "start_time") + + +@pulumi.output_type +class HoursOfOperationOverrideTimeSlice(dict): + """ + The start time or end time for an an hours of operation override. + """ + def __init__(__self__, *, + hours: int, + minutes: int): + """ + The start time or end time for an an hours of operation override. + :param int hours: The hours. + :param int minutes: The minutes. + """ + pulumi.set(__self__, "hours", hours) + pulumi.set(__self__, "minutes", minutes) + + @property + @pulumi.getter + def hours(self) -> int: + """ + The hours. + """ + return pulumi.get(self, "hours") + + @property + @pulumi.getter + def minutes(self) -> int: + """ + The minutes. + """ + return pulumi.get(self, "minutes") + + @pulumi.output_type class HoursOfOperationTimeSlice(dict): """ diff --git a/sdk/python/pulumi_aws_native/customerprofiles/__init__.py b/sdk/python/pulumi_aws_native/customerprofiles/__init__.py index c23d888b35..3c4d1f18a4 100644 --- a/sdk/python/pulumi_aws_native/customerprofiles/__init__.py +++ b/sdk/python/pulumi_aws_native/customerprofiles/__init__.py @@ -14,7 +14,9 @@ from .get_event_stream import * from .get_integration import * from .get_object_type import * +from .get_segment_definition import * from .integration import * from .object_type import * +from .segment_definition import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/customerprofiles/_enums.py b/sdk/python/pulumi_aws_native/customerprofiles/_enums.py index b5d7a37fda..d7aff22882 100644 --- a/sdk/python/pulumi_aws_native/customerprofiles/_enums.py +++ b/sdk/python/pulumi_aws_native/customerprofiles/_enums.py @@ -26,6 +26,11 @@ 'IntegrationZendeskConnectorOperator', 'ObjectTypeFieldContentType', 'ObjectTypeKeyStandardIdentifiersItem', + 'SegmentDefinitionAttributeDimensionType', + 'SegmentDefinitionDateDimensionType', + 'SegmentDefinitionIncludeOptions', + 'SegmentDefinitionRangeOverrideUnit', + 'SegmentDefinitionStringDimensionType', ] @@ -290,3 +295,62 @@ class ObjectTypeKeyStandardIdentifiersItem(str, Enum): ASSET = "ASSET" CASE = "CASE" ORDER = "ORDER" + + +class SegmentDefinitionAttributeDimensionType(str, Enum): + """ + The type of segment dimension to use. + """ + INCLUSIVE = "INCLUSIVE" + EXCLUSIVE = "EXCLUSIVE" + CONTAINS = "CONTAINS" + BEGINS_WITH = "BEGINS_WITH" + ENDS_WITH = "ENDS_WITH" + BEFORE = "BEFORE" + AFTER = "AFTER" + BETWEEN = "BETWEEN" + NOT_BETWEEN = "NOT_BETWEEN" + ON = "ON" + GREATER_THAN = "GREATER_THAN" + LESS_THAN = "LESS_THAN" + GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL" + LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL" + EQUAL = "EQUAL" + + +class SegmentDefinitionDateDimensionType(str, Enum): + """ + The type of segment dimension to use for a date dimension. + """ + BEFORE = "BEFORE" + AFTER = "AFTER" + BETWEEN = "BETWEEN" + NOT_BETWEEN = "NOT_BETWEEN" + ON = "ON" + + +class SegmentDefinitionIncludeOptions(str, Enum): + """ + Specifies the operator on how to handle multiple groups within the same segment. + """ + ALL = "ALL" + ANY = "ANY" + NONE = "NONE" + + +class SegmentDefinitionRangeOverrideUnit(str, Enum): + """ + The unit to be applied to the range. + """ + DAYS = "DAYS" + + +class SegmentDefinitionStringDimensionType(str, Enum): + """ + The type of segment dimension to use for a string dimension. + """ + INCLUSIVE = "INCLUSIVE" + EXCLUSIVE = "EXCLUSIVE" + CONTAINS = "CONTAINS" + BEGINS_WITH = "BEGINS_WITH" + ENDS_WITH = "ENDS_WITH" diff --git a/sdk/python/pulumi_aws_native/customerprofiles/_inputs.py b/sdk/python/pulumi_aws_native/customerprofiles/_inputs.py index 4a2a5210fc..fab81d20d6 100644 --- a/sdk/python/pulumi_aws_native/customerprofiles/_inputs.py +++ b/sdk/python/pulumi_aws_native/customerprofiles/_inputs.py @@ -86,6 +86,34 @@ 'ObjectTypeKeyMapArgsDict', 'ObjectTypeKeyArgs', 'ObjectTypeKeyArgsDict', + 'SegmentDefinitionAddressDimensionArgs', + 'SegmentDefinitionAddressDimensionArgsDict', + 'SegmentDefinitionAttributeDimensionArgs', + 'SegmentDefinitionAttributeDimensionArgsDict', + 'SegmentDefinitionCalculatedAttributeDimensionArgs', + 'SegmentDefinitionCalculatedAttributeDimensionArgsDict', + 'SegmentDefinitionConditionOverridesArgs', + 'SegmentDefinitionConditionOverridesArgsDict', + 'SegmentDefinitionDateDimensionArgs', + 'SegmentDefinitionDateDimensionArgsDict', + 'SegmentDefinitionDimension0PropertiesArgs', + 'SegmentDefinitionDimension0PropertiesArgsDict', + 'SegmentDefinitionDimension1PropertiesArgs', + 'SegmentDefinitionDimension1PropertiesArgsDict', + 'SegmentDefinitionExtraLengthValueProfileDimensionArgs', + 'SegmentDefinitionExtraLengthValueProfileDimensionArgsDict', + 'SegmentDefinitionGroupArgs', + 'SegmentDefinitionGroupArgsDict', + 'SegmentDefinitionProfileAttributesArgs', + 'SegmentDefinitionProfileAttributesArgsDict', + 'SegmentDefinitionProfileDimensionArgs', + 'SegmentDefinitionProfileDimensionArgsDict', + 'SegmentDefinitionRangeOverrideArgs', + 'SegmentDefinitionRangeOverrideArgsDict', + 'SegmentDefinitionSegmentGroupArgs', + 'SegmentDefinitionSegmentGroupArgsDict', + 'SegmentDefinitionSourceSegmentArgs', + 'SegmentDefinitionSourceSegmentArgsDict', ] MYPY = False @@ -2447,3 +2475,892 @@ def standard_identifiers(self, value: Optional[pulumi.Input[Sequence[pulumi.Inpu pulumi.set(self, "standard_identifiers", value) +if not MYPY: + class SegmentDefinitionAddressDimensionArgsDict(TypedDict): + """ + The address based criteria for the segment. + """ + city: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + country: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + county: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + postal_code: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + province: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + state: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] +elif False: + SegmentDefinitionAddressDimensionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionAddressDimensionArgs: + def __init__(__self__, *, + city: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + country: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + county: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + postal_code: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + province: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + state: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None): + """ + The address based criteria for the segment. + """ + if city is not None: + pulumi.set(__self__, "city", city) + if country is not None: + pulumi.set(__self__, "country", country) + if county is not None: + pulumi.set(__self__, "county", county) + if postal_code is not None: + pulumi.set(__self__, "postal_code", postal_code) + if province is not None: + pulumi.set(__self__, "province", province) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def city(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "city") + + @city.setter + def city(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "city", value) + + @property + @pulumi.getter + def country(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "country") + + @country.setter + def country(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "country", value) + + @property + @pulumi.getter + def county(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "county") + + @county.setter + def county(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "county", value) + + @property + @pulumi.getter(name="postalCode") + def postal_code(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "postal_code") + + @postal_code.setter + def postal_code(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "postal_code", value) + + @property + @pulumi.getter + def province(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "province") + + @province.setter + def province(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "province", value) + + @property + @pulumi.getter + def state(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "state") + + @state.setter + def state(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "state", value) + + +if not MYPY: + class SegmentDefinitionAttributeDimensionArgsDict(TypedDict): + """ + Specifies attribute based criteria for a segment. + """ + dimension_type: pulumi.Input['SegmentDefinitionAttributeDimensionType'] + values: pulumi.Input[Sequence[pulumi.Input[str]]] +elif False: + SegmentDefinitionAttributeDimensionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionAttributeDimensionArgs: + def __init__(__self__, *, + dimension_type: pulumi.Input['SegmentDefinitionAttributeDimensionType'], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Specifies attribute based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> pulumi.Input['SegmentDefinitionAttributeDimensionType']: + return pulumi.get(self, "dimension_type") + + @dimension_type.setter + def dimension_type(self, value: pulumi.Input['SegmentDefinitionAttributeDimensionType']): + pulumi.set(self, "dimension_type", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +if not MYPY: + class SegmentDefinitionCalculatedAttributeDimensionArgsDict(TypedDict): + """ + Specifies calculated attribute based criteria for a segment. + """ + dimension_type: pulumi.Input['SegmentDefinitionAttributeDimensionType'] + values: pulumi.Input[Sequence[pulumi.Input[str]]] + condition_overrides: NotRequired[pulumi.Input['SegmentDefinitionConditionOverridesArgsDict']] +elif False: + SegmentDefinitionCalculatedAttributeDimensionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionCalculatedAttributeDimensionArgs: + def __init__(__self__, *, + dimension_type: pulumi.Input['SegmentDefinitionAttributeDimensionType'], + values: pulumi.Input[Sequence[pulumi.Input[str]]], + condition_overrides: Optional[pulumi.Input['SegmentDefinitionConditionOverridesArgs']] = None): + """ + Specifies calculated attribute based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + if condition_overrides is not None: + pulumi.set(__self__, "condition_overrides", condition_overrides) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> pulumi.Input['SegmentDefinitionAttributeDimensionType']: + return pulumi.get(self, "dimension_type") + + @dimension_type.setter + def dimension_type(self, value: pulumi.Input['SegmentDefinitionAttributeDimensionType']): + pulumi.set(self, "dimension_type", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + @property + @pulumi.getter(name="conditionOverrides") + def condition_overrides(self) -> Optional[pulumi.Input['SegmentDefinitionConditionOverridesArgs']]: + return pulumi.get(self, "condition_overrides") + + @condition_overrides.setter + def condition_overrides(self, value: Optional[pulumi.Input['SegmentDefinitionConditionOverridesArgs']]): + pulumi.set(self, "condition_overrides", value) + + +if not MYPY: + class SegmentDefinitionConditionOverridesArgsDict(TypedDict): + """ + Overrides the condition block within the original calculated attribute definition. + """ + range: NotRequired[pulumi.Input['SegmentDefinitionRangeOverrideArgsDict']] +elif False: + SegmentDefinitionConditionOverridesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionConditionOverridesArgs: + def __init__(__self__, *, + range: Optional[pulumi.Input['SegmentDefinitionRangeOverrideArgs']] = None): + """ + Overrides the condition block within the original calculated attribute definition. + """ + if range is not None: + pulumi.set(__self__, "range", range) + + @property + @pulumi.getter + def range(self) -> Optional[pulumi.Input['SegmentDefinitionRangeOverrideArgs']]: + return pulumi.get(self, "range") + + @range.setter + def range(self, value: Optional[pulumi.Input['SegmentDefinitionRangeOverrideArgs']]): + pulumi.set(self, "range", value) + + +if not MYPY: + class SegmentDefinitionDateDimensionArgsDict(TypedDict): + """ + Specifies date based criteria for a segment. + """ + dimension_type: pulumi.Input['SegmentDefinitionDateDimensionType'] + values: pulumi.Input[Sequence[pulumi.Input[str]]] +elif False: + SegmentDefinitionDateDimensionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionDateDimensionArgs: + def __init__(__self__, *, + dimension_type: pulumi.Input['SegmentDefinitionDateDimensionType'], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Specifies date based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> pulumi.Input['SegmentDefinitionDateDimensionType']: + return pulumi.get(self, "dimension_type") + + @dimension_type.setter + def dimension_type(self, value: pulumi.Input['SegmentDefinitionDateDimensionType']): + pulumi.set(self, "dimension_type", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +if not MYPY: + class SegmentDefinitionDimension0PropertiesArgsDict(TypedDict): + """ + The criteria that define the dimensions for the segment. + """ + profile_attributes: pulumi.Input['SegmentDefinitionProfileAttributesArgsDict'] +elif False: + SegmentDefinitionDimension0PropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionDimension0PropertiesArgs: + def __init__(__self__, *, + profile_attributes: pulumi.Input['SegmentDefinitionProfileAttributesArgs']): + """ + The criteria that define the dimensions for the segment. + """ + pulumi.set(__self__, "profile_attributes", profile_attributes) + + @property + @pulumi.getter(name="profileAttributes") + def profile_attributes(self) -> pulumi.Input['SegmentDefinitionProfileAttributesArgs']: + return pulumi.get(self, "profile_attributes") + + @profile_attributes.setter + def profile_attributes(self, value: pulumi.Input['SegmentDefinitionProfileAttributesArgs']): + pulumi.set(self, "profile_attributes", value) + + +if not MYPY: + class SegmentDefinitionDimension1PropertiesArgsDict(TypedDict): + """ + The criteria that define the dimensions for the segment. + """ + calculated_attributes: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionCalculatedAttributeDimensionArgsDict']]]] +elif False: + SegmentDefinitionDimension1PropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionDimension1PropertiesArgs: + def __init__(__self__, *, + calculated_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionCalculatedAttributeDimensionArgs']]]] = None): + """ + The criteria that define the dimensions for the segment. + """ + if calculated_attributes is not None: + pulumi.set(__self__, "calculated_attributes", calculated_attributes) + + @property + @pulumi.getter(name="calculatedAttributes") + def calculated_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionCalculatedAttributeDimensionArgs']]]]: + return pulumi.get(self, "calculated_attributes") + + @calculated_attributes.setter + def calculated_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionCalculatedAttributeDimensionArgs']]]]): + pulumi.set(self, "calculated_attributes", value) + + +if not MYPY: + class SegmentDefinitionExtraLengthValueProfileDimensionArgsDict(TypedDict): + """ + Specifies criteria for a segment using extended-length string values. + """ + dimension_type: pulumi.Input['SegmentDefinitionStringDimensionType'] + values: pulumi.Input[Sequence[pulumi.Input[str]]] +elif False: + SegmentDefinitionExtraLengthValueProfileDimensionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionExtraLengthValueProfileDimensionArgs: + def __init__(__self__, *, + dimension_type: pulumi.Input['SegmentDefinitionStringDimensionType'], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Specifies criteria for a segment using extended-length string values. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> pulumi.Input['SegmentDefinitionStringDimensionType']: + return pulumi.get(self, "dimension_type") + + @dimension_type.setter + def dimension_type(self, value: pulumi.Input['SegmentDefinitionStringDimensionType']): + pulumi.set(self, "dimension_type", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +if not MYPY: + class SegmentDefinitionGroupArgsDict(TypedDict): + """ + An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + """ + dimensions: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union['SegmentDefinitionDimension0PropertiesArgsDict', 'SegmentDefinitionDimension1PropertiesArgsDict']]]]] + source_segments: NotRequired[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionSourceSegmentArgsDict']]]] + source_type: NotRequired[pulumi.Input['SegmentDefinitionIncludeOptions']] + type: NotRequired[pulumi.Input['SegmentDefinitionIncludeOptions']] +elif False: + SegmentDefinitionGroupArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionGroupArgs: + def __init__(__self__, *, + dimensions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SegmentDefinitionDimension0PropertiesArgs', 'SegmentDefinitionDimension1PropertiesArgs']]]]] = None, + source_segments: Optional[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionSourceSegmentArgs']]]] = None, + source_type: Optional[pulumi.Input['SegmentDefinitionIncludeOptions']] = None, + type: Optional[pulumi.Input['SegmentDefinitionIncludeOptions']] = None): + """ + An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + """ + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if source_segments is not None: + pulumi.set(__self__, "source_segments", source_segments) + if source_type is not None: + pulumi.set(__self__, "source_type", source_type) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def dimensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Union['SegmentDefinitionDimension0PropertiesArgs', 'SegmentDefinitionDimension1PropertiesArgs']]]]]: + return pulumi.get(self, "dimensions") + + @dimensions.setter + def dimensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SegmentDefinitionDimension0PropertiesArgs', 'SegmentDefinitionDimension1PropertiesArgs']]]]]): + pulumi.set(self, "dimensions", value) + + @property + @pulumi.getter(name="sourceSegments") + def source_segments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionSourceSegmentArgs']]]]: + return pulumi.get(self, "source_segments") + + @source_segments.setter + def source_segments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionSourceSegmentArgs']]]]): + pulumi.set(self, "source_segments", value) + + @property + @pulumi.getter(name="sourceType") + def source_type(self) -> Optional[pulumi.Input['SegmentDefinitionIncludeOptions']]: + return pulumi.get(self, "source_type") + + @source_type.setter + def source_type(self, value: Optional[pulumi.Input['SegmentDefinitionIncludeOptions']]): + pulumi.set(self, "source_type", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['SegmentDefinitionIncludeOptions']]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['SegmentDefinitionIncludeOptions']]): + pulumi.set(self, "type", value) + + +if not MYPY: + class SegmentDefinitionProfileAttributesArgsDict(TypedDict): + """ + Specifies the dimension settings within profile attributes for a segment. + """ + account_number: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + additional_information: NotRequired[pulumi.Input['SegmentDefinitionExtraLengthValueProfileDimensionArgsDict']] + address: NotRequired[pulumi.Input['SegmentDefinitionAddressDimensionArgsDict']] + attributes: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionAttributeDimensionArgsDict']]]] + billing_address: NotRequired[pulumi.Input['SegmentDefinitionAddressDimensionArgsDict']] + birth_date: NotRequired[pulumi.Input['SegmentDefinitionDateDimensionArgsDict']] + business_email_address: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + business_name: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + business_phone_number: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + email_address: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + first_name: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + gender_string: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + home_phone_number: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + last_name: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + mailing_address: NotRequired[pulumi.Input['SegmentDefinitionAddressDimensionArgsDict']] + middle_name: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + mobile_phone_number: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + party_type_string: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + personal_email_address: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + phone_number: NotRequired[pulumi.Input['SegmentDefinitionProfileDimensionArgsDict']] + shipping_address: NotRequired[pulumi.Input['SegmentDefinitionAddressDimensionArgsDict']] +elif False: + SegmentDefinitionProfileAttributesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionProfileAttributesArgs: + def __init__(__self__, *, + account_number: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + additional_information: Optional[pulumi.Input['SegmentDefinitionExtraLengthValueProfileDimensionArgs']] = None, + address: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionAttributeDimensionArgs']]]] = None, + billing_address: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']] = None, + birth_date: Optional[pulumi.Input['SegmentDefinitionDateDimensionArgs']] = None, + business_email_address: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + business_name: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + business_phone_number: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + email_address: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + first_name: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + gender_string: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + home_phone_number: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + last_name: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + mailing_address: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']] = None, + middle_name: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + mobile_phone_number: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + party_type_string: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + personal_email_address: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + phone_number: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']] = None, + shipping_address: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']] = None): + """ + Specifies the dimension settings within profile attributes for a segment. + """ + if account_number is not None: + pulumi.set(__self__, "account_number", account_number) + if additional_information is not None: + pulumi.set(__self__, "additional_information", additional_information) + if address is not None: + pulumi.set(__self__, "address", address) + if attributes is not None: + pulumi.set(__self__, "attributes", attributes) + if billing_address is not None: + pulumi.set(__self__, "billing_address", billing_address) + if birth_date is not None: + pulumi.set(__self__, "birth_date", birth_date) + if business_email_address is not None: + pulumi.set(__self__, "business_email_address", business_email_address) + if business_name is not None: + pulumi.set(__self__, "business_name", business_name) + if business_phone_number is not None: + pulumi.set(__self__, "business_phone_number", business_phone_number) + if email_address is not None: + pulumi.set(__self__, "email_address", email_address) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if gender_string is not None: + pulumi.set(__self__, "gender_string", gender_string) + if home_phone_number is not None: + pulumi.set(__self__, "home_phone_number", home_phone_number) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + if mailing_address is not None: + pulumi.set(__self__, "mailing_address", mailing_address) + if middle_name is not None: + pulumi.set(__self__, "middle_name", middle_name) + if mobile_phone_number is not None: + pulumi.set(__self__, "mobile_phone_number", mobile_phone_number) + if party_type_string is not None: + pulumi.set(__self__, "party_type_string", party_type_string) + if personal_email_address is not None: + pulumi.set(__self__, "personal_email_address", personal_email_address) + if phone_number is not None: + pulumi.set(__self__, "phone_number", phone_number) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="accountNumber") + def account_number(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "account_number") + + @account_number.setter + def account_number(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "account_number", value) + + @property + @pulumi.getter(name="additionalInformation") + def additional_information(self) -> Optional[pulumi.Input['SegmentDefinitionExtraLengthValueProfileDimensionArgs']]: + return pulumi.get(self, "additional_information") + + @additional_information.setter + def additional_information(self, value: Optional[pulumi.Input['SegmentDefinitionExtraLengthValueProfileDimensionArgs']]): + pulumi.set(self, "additional_information", value) + + @property + @pulumi.getter + def address(self) -> Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]: + return pulumi.get(self, "address") + + @address.setter + def address(self, value: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]): + pulumi.set(self, "address", value) + + @property + @pulumi.getter + def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionAttributeDimensionArgs']]]]: + return pulumi.get(self, "attributes") + + @attributes.setter + def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['SegmentDefinitionAttributeDimensionArgs']]]]): + pulumi.set(self, "attributes", value) + + @property + @pulumi.getter(name="billingAddress") + def billing_address(self) -> Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]: + return pulumi.get(self, "billing_address") + + @billing_address.setter + def billing_address(self, value: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]): + pulumi.set(self, "billing_address", value) + + @property + @pulumi.getter(name="birthDate") + def birth_date(self) -> Optional[pulumi.Input['SegmentDefinitionDateDimensionArgs']]: + return pulumi.get(self, "birth_date") + + @birth_date.setter + def birth_date(self, value: Optional[pulumi.Input['SegmentDefinitionDateDimensionArgs']]): + pulumi.set(self, "birth_date", value) + + @property + @pulumi.getter(name="businessEmailAddress") + def business_email_address(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "business_email_address") + + @business_email_address.setter + def business_email_address(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "business_email_address", value) + + @property + @pulumi.getter(name="businessName") + def business_name(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "business_name") + + @business_name.setter + def business_name(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "business_name", value) + + @property + @pulumi.getter(name="businessPhoneNumber") + def business_phone_number(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "business_phone_number") + + @business_phone_number.setter + def business_phone_number(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "business_phone_number", value) + + @property + @pulumi.getter(name="emailAddress") + def email_address(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "email_address") + + @email_address.setter + def email_address(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "email_address", value) + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "first_name", value) + + @property + @pulumi.getter(name="genderString") + def gender_string(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "gender_string") + + @gender_string.setter + def gender_string(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "gender_string", value) + + @property + @pulumi.getter(name="homePhoneNumber") + def home_phone_number(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "home_phone_number") + + @home_phone_number.setter + def home_phone_number(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "home_phone_number", value) + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "last_name", value) + + @property + @pulumi.getter(name="mailingAddress") + def mailing_address(self) -> Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]: + return pulumi.get(self, "mailing_address") + + @mailing_address.setter + def mailing_address(self, value: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]): + pulumi.set(self, "mailing_address", value) + + @property + @pulumi.getter(name="middleName") + def middle_name(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "middle_name") + + @middle_name.setter + def middle_name(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "middle_name", value) + + @property + @pulumi.getter(name="mobilePhoneNumber") + def mobile_phone_number(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "mobile_phone_number") + + @mobile_phone_number.setter + def mobile_phone_number(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "mobile_phone_number", value) + + @property + @pulumi.getter(name="partyTypeString") + def party_type_string(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "party_type_string") + + @party_type_string.setter + def party_type_string(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "party_type_string", value) + + @property + @pulumi.getter(name="personalEmailAddress") + def personal_email_address(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "personal_email_address") + + @personal_email_address.setter + def personal_email_address(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "personal_email_address", value) + + @property + @pulumi.getter(name="phoneNumber") + def phone_number(self) -> Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]: + return pulumi.get(self, "phone_number") + + @phone_number.setter + def phone_number(self, value: Optional[pulumi.Input['SegmentDefinitionProfileDimensionArgs']]): + pulumi.set(self, "phone_number", value) + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]: + return pulumi.get(self, "shipping_address") + + @shipping_address.setter + def shipping_address(self, value: Optional[pulumi.Input['SegmentDefinitionAddressDimensionArgs']]): + pulumi.set(self, "shipping_address", value) + + +if not MYPY: + class SegmentDefinitionProfileDimensionArgsDict(TypedDict): + """ + Specifies profile based criteria for a segment. + """ + dimension_type: pulumi.Input['SegmentDefinitionStringDimensionType'] + values: pulumi.Input[Sequence[pulumi.Input[str]]] +elif False: + SegmentDefinitionProfileDimensionArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionProfileDimensionArgs: + def __init__(__self__, *, + dimension_type: pulumi.Input['SegmentDefinitionStringDimensionType'], + values: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Specifies profile based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> pulumi.Input['SegmentDefinitionStringDimensionType']: + return pulumi.get(self, "dimension_type") + + @dimension_type.setter + def dimension_type(self, value: pulumi.Input['SegmentDefinitionStringDimensionType']): + pulumi.set(self, "dimension_type", value) + + @property + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "values") + + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "values", value) + + +if not MYPY: + class SegmentDefinitionRangeOverrideArgsDict(TypedDict): + """ + Defines the range to be applied to the calculated attribute definition. + """ + start: pulumi.Input[int] + """ + The starting point for this overridden range. + """ + unit: pulumi.Input['SegmentDefinitionRangeOverrideUnit'] + """ + The unit to be applied to the range. + """ + end: NotRequired[pulumi.Input[int]] + """ + The ending point for this overridden range. + """ +elif False: + SegmentDefinitionRangeOverrideArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionRangeOverrideArgs: + def __init__(__self__, *, + start: pulumi.Input[int], + unit: pulumi.Input['SegmentDefinitionRangeOverrideUnit'], + end: Optional[pulumi.Input[int]] = None): + """ + Defines the range to be applied to the calculated attribute definition. + :param pulumi.Input[int] start: The starting point for this overridden range. + :param pulumi.Input['SegmentDefinitionRangeOverrideUnit'] unit: The unit to be applied to the range. + :param pulumi.Input[int] end: The ending point for this overridden range. + """ + pulumi.set(__self__, "start", start) + pulumi.set(__self__, "unit", unit) + if end is not None: + pulumi.set(__self__, "end", end) + + @property + @pulumi.getter + def start(self) -> pulumi.Input[int]: + """ + The starting point for this overridden range. + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: pulumi.Input[int]): + pulumi.set(self, "start", value) + + @property + @pulumi.getter + def unit(self) -> pulumi.Input['SegmentDefinitionRangeOverrideUnit']: + """ + The unit to be applied to the range. + """ + return pulumi.get(self, "unit") + + @unit.setter + def unit(self, value: pulumi.Input['SegmentDefinitionRangeOverrideUnit']): + pulumi.set(self, "unit", value) + + @property + @pulumi.getter + def end(self) -> Optional[pulumi.Input[int]]: + """ + The ending point for this overridden range. + """ + return pulumi.get(self, "end") + + @end.setter + def end(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "end", value) + + +if not MYPY: + class SegmentDefinitionSegmentGroupArgsDict(TypedDict): + groups: NotRequired[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionGroupArgsDict']]]] + include: NotRequired[pulumi.Input['SegmentDefinitionIncludeOptions']] +elif False: + SegmentDefinitionSegmentGroupArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionSegmentGroupArgs: + def __init__(__self__, *, + groups: Optional[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionGroupArgs']]]] = None, + include: Optional[pulumi.Input['SegmentDefinitionIncludeOptions']] = None): + if groups is not None: + pulumi.set(__self__, "groups", groups) + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter + def groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionGroupArgs']]]]: + return pulumi.get(self, "groups") + + @groups.setter + def groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SegmentDefinitionGroupArgs']]]]): + pulumi.set(self, "groups", value) + + @property + @pulumi.getter + def include(self) -> Optional[pulumi.Input['SegmentDefinitionIncludeOptions']]: + return pulumi.get(self, "include") + + @include.setter + def include(self, value: Optional[pulumi.Input['SegmentDefinitionIncludeOptions']]): + pulumi.set(self, "include", value) + + +if not MYPY: + class SegmentDefinitionSourceSegmentArgsDict(TypedDict): + """ + The base segment to build the segment on. + """ + segment_definition_name: NotRequired[pulumi.Input[str]] +elif False: + SegmentDefinitionSourceSegmentArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SegmentDefinitionSourceSegmentArgs: + def __init__(__self__, *, + segment_definition_name: Optional[pulumi.Input[str]] = None): + """ + The base segment to build the segment on. + """ + if segment_definition_name is not None: + pulumi.set(__self__, "segment_definition_name", segment_definition_name) + + @property + @pulumi.getter(name="segmentDefinitionName") + def segment_definition_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "segment_definition_name") + + @segment_definition_name.setter + def segment_definition_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "segment_definition_name", value) + + diff --git a/sdk/python/pulumi_aws_native/customerprofiles/get_integration.py b/sdk/python/pulumi_aws_native/customerprofiles/get_integration.py index d8189d30d1..0ed7e18755 100644 --- a/sdk/python/pulumi_aws_native/customerprofiles/get_integration.py +++ b/sdk/python/pulumi_aws_native/customerprofiles/get_integration.py @@ -25,10 +25,13 @@ @pulumi.output_type class GetIntegrationResult: - def __init__(__self__, created_at=None, last_updated_at=None, object_type_name=None, object_type_names=None, tags=None): + def __init__(__self__, created_at=None, event_trigger_names=None, last_updated_at=None, object_type_name=None, object_type_names=None, tags=None): 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 event_trigger_names and not isinstance(event_trigger_names, list): + raise TypeError("Expected argument 'event_trigger_names' to be a list") + pulumi.set(__self__, "event_trigger_names", event_trigger_names) if last_updated_at and not isinstance(last_updated_at, str): raise TypeError("Expected argument 'last_updated_at' to be a str") pulumi.set(__self__, "last_updated_at", last_updated_at) @@ -50,6 +53,14 @@ def created_at(self) -> Optional[str]: """ return pulumi.get(self, "created_at") + @property + @pulumi.getter(name="eventTriggerNames") + def event_trigger_names(self) -> Optional[Sequence[str]]: + """ + A list of unique names for active event triggers associated with the integration. + """ + return pulumi.get(self, "event_trigger_names") + @property @pulumi.getter(name="lastUpdatedAt") def last_updated_at(self) -> Optional[str]: @@ -90,6 +101,7 @@ def __await__(self): yield self return GetIntegrationResult( created_at=self.created_at, + event_trigger_names=self.event_trigger_names, last_updated_at=self.last_updated_at, object_type_name=self.object_type_name, object_type_names=self.object_type_names, @@ -114,6 +126,7 @@ def get_integration(domain_name: Optional[str] = None, return AwaitableGetIntegrationResult( created_at=pulumi.get(__ret__, 'created_at'), + event_trigger_names=pulumi.get(__ret__, 'event_trigger_names'), last_updated_at=pulumi.get(__ret__, 'last_updated_at'), object_type_name=pulumi.get(__ret__, 'object_type_name'), object_type_names=pulumi.get(__ret__, 'object_type_names'), @@ -135,6 +148,7 @@ def get_integration_output(domain_name: Optional[pulumi.Input[str]] = None, __ret__ = pulumi.runtime.invoke_output('aws-native:customerprofiles:getIntegration', __args__, opts=opts, typ=GetIntegrationResult) return __ret__.apply(lambda __response__: GetIntegrationResult( created_at=pulumi.get(__response__, 'created_at'), + event_trigger_names=pulumi.get(__response__, 'event_trigger_names'), last_updated_at=pulumi.get(__response__, 'last_updated_at'), object_type_name=pulumi.get(__response__, 'object_type_name'), object_type_names=pulumi.get(__response__, 'object_type_names'), diff --git a/sdk/python/pulumi_aws_native/customerprofiles/get_segment_definition.py b/sdk/python/pulumi_aws_native/customerprofiles/get_segment_definition.py new file mode 100644 index 0000000000..721c5553fd --- /dev/null +++ b/sdk/python/pulumi_aws_native/customerprofiles/get_segment_definition.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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import outputs as _root_outputs + +__all__ = [ + 'GetSegmentDefinitionResult', + 'AwaitableGetSegmentDefinitionResult', + 'get_segment_definition', + 'get_segment_definition_output', +] + +@pulumi.output_type +class GetSegmentDefinitionResult: + def __init__(__self__, created_at=None, description=None, segment_definition_arn=None, tags=None): + 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 segment_definition_arn and not isinstance(segment_definition_arn, str): + raise TypeError("Expected argument 'segment_definition_arn' to be a str") + pulumi.set(__self__, "segment_definition_arn", segment_definition_arn) + 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="createdAt") + def created_at(self) -> Optional[str]: + """ + The time of this segment definition got created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The description of the segment definition. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="segmentDefinitionArn") + def segment_definition_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the segment definition. + """ + return pulumi.get(self, "segment_definition_arn") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + The tags used to organize, track, or control access for this resource. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetSegmentDefinitionResult(GetSegmentDefinitionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSegmentDefinitionResult( + created_at=self.created_at, + description=self.description, + segment_definition_arn=self.segment_definition_arn, + tags=self.tags) + + +def get_segment_definition(domain_name: Optional[str] = None, + segment_definition_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSegmentDefinitionResult: + """ + A segment definition resource of Amazon Connect Customer Profiles + + + :param str domain_name: The unique name of the domain. + :param str segment_definition_name: The unique name of the segment definition. + """ + __args__ = dict() + __args__['domainName'] = domain_name + __args__['segmentDefinitionName'] = segment_definition_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:customerprofiles:getSegmentDefinition', __args__, opts=opts, typ=GetSegmentDefinitionResult).value + + return AwaitableGetSegmentDefinitionResult( + created_at=pulumi.get(__ret__, 'created_at'), + description=pulumi.get(__ret__, 'description'), + segment_definition_arn=pulumi.get(__ret__, 'segment_definition_arn'), + tags=pulumi.get(__ret__, 'tags')) +def get_segment_definition_output(domain_name: Optional[pulumi.Input[str]] = None, + segment_definition_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSegmentDefinitionResult]: + """ + A segment definition resource of Amazon Connect Customer Profiles + + + :param str domain_name: The unique name of the domain. + :param str segment_definition_name: The unique name of the segment definition. + """ + __args__ = dict() + __args__['domainName'] = domain_name + __args__['segmentDefinitionName'] = segment_definition_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:customerprofiles:getSegmentDefinition', __args__, opts=opts, typ=GetSegmentDefinitionResult) + return __ret__.apply(lambda __response__: GetSegmentDefinitionResult( + created_at=pulumi.get(__response__, 'created_at'), + description=pulumi.get(__response__, 'description'), + segment_definition_arn=pulumi.get(__response__, 'segment_definition_arn'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/customerprofiles/integration.py b/sdk/python/pulumi_aws_native/customerprofiles/integration.py index 3e7adb8c3c..24e7459890 100644 --- a/sdk/python/pulumi_aws_native/customerprofiles/integration.py +++ b/sdk/python/pulumi_aws_native/customerprofiles/integration.py @@ -25,6 +25,7 @@ class IntegrationArgs: def __init__(__self__, *, domain_name: pulumi.Input[str], + event_trigger_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, flow_definition: Optional[pulumi.Input['IntegrationFlowDefinitionArgs']] = None, object_type_name: Optional[pulumi.Input[str]] = None, object_type_names: Optional[pulumi.Input[Sequence[pulumi.Input['IntegrationObjectTypeMappingArgs']]]] = None, @@ -33,6 +34,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Integration resource. :param pulumi.Input[str] domain_name: The unique name of the domain. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_trigger_names: A list of unique names for active event triggers associated with the integration. :param pulumi.Input['IntegrationFlowDefinitionArgs'] flow_definition: The configuration that controls how Customer Profiles retrieves data from the source. :param pulumi.Input[str] object_type_name: The name of the ObjectType defined for the 3rd party data in Profile Service :param pulumi.Input[Sequence[pulumi.Input['IntegrationObjectTypeMappingArgs']]] object_type_names: The mapping between 3rd party event types and ObjectType names @@ -40,6 +42,8 @@ def __init__(__self__, *, :param pulumi.Input[str] uri: The URI of the S3 bucket or any other type of data source. """ pulumi.set(__self__, "domain_name", domain_name) + if event_trigger_names is not None: + pulumi.set(__self__, "event_trigger_names", event_trigger_names) if flow_definition is not None: pulumi.set(__self__, "flow_definition", flow_definition) if object_type_name is not None: @@ -63,6 +67,18 @@ def domain_name(self) -> pulumi.Input[str]: def domain_name(self, value: pulumi.Input[str]): pulumi.set(self, "domain_name", value) + @property + @pulumi.getter(name="eventTriggerNames") + def event_trigger_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of unique names for active event triggers associated with the integration. + """ + return pulumi.get(self, "event_trigger_names") + + @event_trigger_names.setter + def event_trigger_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "event_trigger_names", value) + @property @pulumi.getter(name="flowDefinition") def flow_definition(self) -> Optional[pulumi.Input['IntegrationFlowDefinitionArgs']]: @@ -130,6 +146,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, domain_name: Optional[pulumi.Input[str]] = None, + event_trigger_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, flow_definition: Optional[pulumi.Input[Union['IntegrationFlowDefinitionArgs', 'IntegrationFlowDefinitionArgsDict']]] = None, object_type_name: Optional[pulumi.Input[str]] = None, object_type_names: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IntegrationObjectTypeMappingArgs', 'IntegrationObjectTypeMappingArgsDict']]]]] = None, @@ -142,6 +159,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] domain_name: The unique name of the domain. + :param pulumi.Input[Sequence[pulumi.Input[str]]] event_trigger_names: A list of unique names for active event triggers associated with the integration. :param pulumi.Input[Union['IntegrationFlowDefinitionArgs', 'IntegrationFlowDefinitionArgsDict']] flow_definition: The configuration that controls how Customer Profiles retrieves data from the source. :param pulumi.Input[str] object_type_name: The name of the ObjectType defined for the 3rd party data in Profile Service :param pulumi.Input[Sequence[pulumi.Input[Union['IntegrationObjectTypeMappingArgs', 'IntegrationObjectTypeMappingArgsDict']]]] object_type_names: The mapping between 3rd party event types and ObjectType names @@ -173,6 +191,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, domain_name: Optional[pulumi.Input[str]] = None, + event_trigger_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, flow_definition: Optional[pulumi.Input[Union['IntegrationFlowDefinitionArgs', 'IntegrationFlowDefinitionArgsDict']]] = None, object_type_name: Optional[pulumi.Input[str]] = None, object_type_names: Optional[pulumi.Input[Sequence[pulumi.Input[Union['IntegrationObjectTypeMappingArgs', 'IntegrationObjectTypeMappingArgsDict']]]]] = None, @@ -190,6 +209,7 @@ def _internal_init(__self__, if domain_name is None and not opts.urn: raise TypeError("Missing required property 'domain_name'") __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["event_trigger_names"] = event_trigger_names __props__.__dict__["flow_definition"] = flow_definition __props__.__dict__["object_type_name"] = object_type_name __props__.__dict__["object_type_names"] = object_type_names @@ -223,6 +243,7 @@ def get(resource_name: str, __props__.__dict__["created_at"] = None __props__.__dict__["domain_name"] = None + __props__.__dict__["event_trigger_names"] = None __props__.__dict__["flow_definition"] = None __props__.__dict__["last_updated_at"] = None __props__.__dict__["object_type_name"] = None @@ -247,6 +268,14 @@ def domain_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "domain_name") + @property + @pulumi.getter(name="eventTriggerNames") + def event_trigger_names(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + A list of unique names for active event triggers associated with the integration. + """ + return pulumi.get(self, "event_trigger_names") + @property @pulumi.getter(name="flowDefinition") def flow_definition(self) -> pulumi.Output[Optional['outputs.IntegrationFlowDefinition']]: diff --git a/sdk/python/pulumi_aws_native/customerprofiles/outputs.py b/sdk/python/pulumi_aws_native/customerprofiles/outputs.py index 2f5bc3e24d..7ed2a80452 100644 --- a/sdk/python/pulumi_aws_native/customerprofiles/outputs.py +++ b/sdk/python/pulumi_aws_native/customerprofiles/outputs.py @@ -54,6 +54,20 @@ 'ObjectTypeFieldMap', 'ObjectTypeKey', 'ObjectTypeKeyMap', + 'SegmentDefinitionAddressDimension', + 'SegmentDefinitionAttributeDimension', + 'SegmentDefinitionCalculatedAttributeDimension', + 'SegmentDefinitionConditionOverrides', + 'SegmentDefinitionDateDimension', + 'SegmentDefinitionDimension0Properties', + 'SegmentDefinitionDimension1Properties', + 'SegmentDefinitionExtraLengthValueProfileDimension', + 'SegmentDefinitionGroup', + 'SegmentDefinitionProfileAttributes', + 'SegmentDefinitionProfileDimension', + 'SegmentDefinitionRangeOverride', + 'SegmentDefinitionSegmentGroup', + 'SegmentDefinitionSourceSegment', ] @pulumi.output_type @@ -2078,3 +2092,785 @@ def object_type_key_list(self) -> Optional[Sequence['outputs.ObjectTypeKey']]: return pulumi.get(self, "object_type_key_list") +@pulumi.output_type +class SegmentDefinitionAddressDimension(dict): + """ + The address based criteria for the segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "postalCode": + suggest = "postal_code" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionAddressDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionAddressDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionAddressDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + city: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + country: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + county: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + postal_code: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + province: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + state: Optional['outputs.SegmentDefinitionProfileDimension'] = None): + """ + The address based criteria for the segment. + """ + if city is not None: + pulumi.set(__self__, "city", city) + if country is not None: + pulumi.set(__self__, "country", country) + if county is not None: + pulumi.set(__self__, "county", county) + if postal_code is not None: + pulumi.set(__self__, "postal_code", postal_code) + if province is not None: + pulumi.set(__self__, "province", province) + if state is not None: + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def city(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "city") + + @property + @pulumi.getter + def country(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "country") + + @property + @pulumi.getter + def county(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "county") + + @property + @pulumi.getter(name="postalCode") + def postal_code(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "postal_code") + + @property + @pulumi.getter + def province(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "province") + + @property + @pulumi.getter + def state(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "state") + + +@pulumi.output_type +class SegmentDefinitionAttributeDimension(dict): + """ + Specifies attribute based criteria for a segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionType": + suggest = "dimension_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionAttributeDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionAttributeDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionAttributeDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_type: 'SegmentDefinitionAttributeDimensionType', + values: Sequence[str]): + """ + Specifies attribute based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> 'SegmentDefinitionAttributeDimensionType': + return pulumi.get(self, "dimension_type") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + +@pulumi.output_type +class SegmentDefinitionCalculatedAttributeDimension(dict): + """ + Specifies calculated attribute based criteria for a segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionType": + suggest = "dimension_type" + elif key == "conditionOverrides": + suggest = "condition_overrides" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionCalculatedAttributeDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionCalculatedAttributeDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionCalculatedAttributeDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_type: 'SegmentDefinitionAttributeDimensionType', + values: Sequence[str], + condition_overrides: Optional['outputs.SegmentDefinitionConditionOverrides'] = None): + """ + Specifies calculated attribute based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + if condition_overrides is not None: + pulumi.set(__self__, "condition_overrides", condition_overrides) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> 'SegmentDefinitionAttributeDimensionType': + return pulumi.get(self, "dimension_type") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + @property + @pulumi.getter(name="conditionOverrides") + def condition_overrides(self) -> Optional['outputs.SegmentDefinitionConditionOverrides']: + return pulumi.get(self, "condition_overrides") + + +@pulumi.output_type +class SegmentDefinitionConditionOverrides(dict): + """ + Overrides the condition block within the original calculated attribute definition. + """ + def __init__(__self__, *, + range: Optional['outputs.SegmentDefinitionRangeOverride'] = None): + """ + Overrides the condition block within the original calculated attribute definition. + """ + if range is not None: + pulumi.set(__self__, "range", range) + + @property + @pulumi.getter + def range(self) -> Optional['outputs.SegmentDefinitionRangeOverride']: + return pulumi.get(self, "range") + + +@pulumi.output_type +class SegmentDefinitionDateDimension(dict): + """ + Specifies date based criteria for a segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionType": + suggest = "dimension_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionDateDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionDateDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionDateDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_type: 'SegmentDefinitionDateDimensionType', + values: Sequence[str]): + """ + Specifies date based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> 'SegmentDefinitionDateDimensionType': + return pulumi.get(self, "dimension_type") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + +@pulumi.output_type +class SegmentDefinitionDimension0Properties(dict): + """ + The criteria that define the dimensions for the segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "profileAttributes": + suggest = "profile_attributes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionDimension0Properties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionDimension0Properties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionDimension0Properties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + profile_attributes: 'outputs.SegmentDefinitionProfileAttributes'): + """ + The criteria that define the dimensions for the segment. + """ + pulumi.set(__self__, "profile_attributes", profile_attributes) + + @property + @pulumi.getter(name="profileAttributes") + def profile_attributes(self) -> 'outputs.SegmentDefinitionProfileAttributes': + return pulumi.get(self, "profile_attributes") + + +@pulumi.output_type +class SegmentDefinitionDimension1Properties(dict): + """ + The criteria that define the dimensions for the segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "calculatedAttributes": + suggest = "calculated_attributes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionDimension1Properties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionDimension1Properties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionDimension1Properties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + calculated_attributes: Optional[Mapping[str, 'outputs.SegmentDefinitionCalculatedAttributeDimension']] = None): + """ + The criteria that define the dimensions for the segment. + """ + if calculated_attributes is not None: + pulumi.set(__self__, "calculated_attributes", calculated_attributes) + + @property + @pulumi.getter(name="calculatedAttributes") + def calculated_attributes(self) -> Optional[Mapping[str, 'outputs.SegmentDefinitionCalculatedAttributeDimension']]: + return pulumi.get(self, "calculated_attributes") + + +@pulumi.output_type +class SegmentDefinitionExtraLengthValueProfileDimension(dict): + """ + Specifies criteria for a segment using extended-length string values. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionType": + suggest = "dimension_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionExtraLengthValueProfileDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionExtraLengthValueProfileDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionExtraLengthValueProfileDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_type: 'SegmentDefinitionStringDimensionType', + values: Sequence[str]): + """ + Specifies criteria for a segment using extended-length string values. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> 'SegmentDefinitionStringDimensionType': + return pulumi.get(self, "dimension_type") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + +@pulumi.output_type +class SegmentDefinitionGroup(dict): + """ + An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceSegments": + suggest = "source_segments" + elif key == "sourceType": + suggest = "source_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionGroup. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionGroup.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionGroup.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimensions: Optional[Sequence[Any]] = None, + source_segments: Optional[Sequence['outputs.SegmentDefinitionSourceSegment']] = None, + source_type: Optional['SegmentDefinitionIncludeOptions'] = None, + type: Optional['SegmentDefinitionIncludeOptions'] = None): + """ + An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + """ + if dimensions is not None: + pulumi.set(__self__, "dimensions", dimensions) + if source_segments is not None: + pulumi.set(__self__, "source_segments", source_segments) + if source_type is not None: + pulumi.set(__self__, "source_type", source_type) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def dimensions(self) -> Optional[Sequence[Any]]: + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter(name="sourceSegments") + def source_segments(self) -> Optional[Sequence['outputs.SegmentDefinitionSourceSegment']]: + return pulumi.get(self, "source_segments") + + @property + @pulumi.getter(name="sourceType") + def source_type(self) -> Optional['SegmentDefinitionIncludeOptions']: + return pulumi.get(self, "source_type") + + @property + @pulumi.getter + def type(self) -> Optional['SegmentDefinitionIncludeOptions']: + return pulumi.get(self, "type") + + +@pulumi.output_type +class SegmentDefinitionProfileAttributes(dict): + """ + Specifies the dimension settings within profile attributes for a segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountNumber": + suggest = "account_number" + elif key == "additionalInformation": + suggest = "additional_information" + elif key == "billingAddress": + suggest = "billing_address" + elif key == "birthDate": + suggest = "birth_date" + elif key == "businessEmailAddress": + suggest = "business_email_address" + elif key == "businessName": + suggest = "business_name" + elif key == "businessPhoneNumber": + suggest = "business_phone_number" + elif key == "emailAddress": + suggest = "email_address" + elif key == "firstName": + suggest = "first_name" + elif key == "genderString": + suggest = "gender_string" + elif key == "homePhoneNumber": + suggest = "home_phone_number" + elif key == "lastName": + suggest = "last_name" + elif key == "mailingAddress": + suggest = "mailing_address" + elif key == "middleName": + suggest = "middle_name" + elif key == "mobilePhoneNumber": + suggest = "mobile_phone_number" + elif key == "partyTypeString": + suggest = "party_type_string" + elif key == "personalEmailAddress": + suggest = "personal_email_address" + elif key == "phoneNumber": + suggest = "phone_number" + elif key == "shippingAddress": + suggest = "shipping_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionProfileAttributes. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionProfileAttributes.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionProfileAttributes.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_number: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + additional_information: Optional['outputs.SegmentDefinitionExtraLengthValueProfileDimension'] = None, + address: Optional['outputs.SegmentDefinitionAddressDimension'] = None, + attributes: Optional[Mapping[str, 'outputs.SegmentDefinitionAttributeDimension']] = None, + billing_address: Optional['outputs.SegmentDefinitionAddressDimension'] = None, + birth_date: Optional['outputs.SegmentDefinitionDateDimension'] = None, + business_email_address: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + business_name: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + business_phone_number: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + email_address: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + first_name: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + gender_string: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + home_phone_number: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + last_name: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + mailing_address: Optional['outputs.SegmentDefinitionAddressDimension'] = None, + middle_name: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + mobile_phone_number: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + party_type_string: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + personal_email_address: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + phone_number: Optional['outputs.SegmentDefinitionProfileDimension'] = None, + shipping_address: Optional['outputs.SegmentDefinitionAddressDimension'] = None): + """ + Specifies the dimension settings within profile attributes for a segment. + """ + if account_number is not None: + pulumi.set(__self__, "account_number", account_number) + if additional_information is not None: + pulumi.set(__self__, "additional_information", additional_information) + if address is not None: + pulumi.set(__self__, "address", address) + if attributes is not None: + pulumi.set(__self__, "attributes", attributes) + if billing_address is not None: + pulumi.set(__self__, "billing_address", billing_address) + if birth_date is not None: + pulumi.set(__self__, "birth_date", birth_date) + if business_email_address is not None: + pulumi.set(__self__, "business_email_address", business_email_address) + if business_name is not None: + pulumi.set(__self__, "business_name", business_name) + if business_phone_number is not None: + pulumi.set(__self__, "business_phone_number", business_phone_number) + if email_address is not None: + pulumi.set(__self__, "email_address", email_address) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if gender_string is not None: + pulumi.set(__self__, "gender_string", gender_string) + if home_phone_number is not None: + pulumi.set(__self__, "home_phone_number", home_phone_number) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + if mailing_address is not None: + pulumi.set(__self__, "mailing_address", mailing_address) + if middle_name is not None: + pulumi.set(__self__, "middle_name", middle_name) + if mobile_phone_number is not None: + pulumi.set(__self__, "mobile_phone_number", mobile_phone_number) + if party_type_string is not None: + pulumi.set(__self__, "party_type_string", party_type_string) + if personal_email_address is not None: + pulumi.set(__self__, "personal_email_address", personal_email_address) + if phone_number is not None: + pulumi.set(__self__, "phone_number", phone_number) + if shipping_address is not None: + pulumi.set(__self__, "shipping_address", shipping_address) + + @property + @pulumi.getter(name="accountNumber") + def account_number(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "account_number") + + @property + @pulumi.getter(name="additionalInformation") + def additional_information(self) -> Optional['outputs.SegmentDefinitionExtraLengthValueProfileDimension']: + return pulumi.get(self, "additional_information") + + @property + @pulumi.getter + def address(self) -> Optional['outputs.SegmentDefinitionAddressDimension']: + return pulumi.get(self, "address") + + @property + @pulumi.getter + def attributes(self) -> Optional[Mapping[str, 'outputs.SegmentDefinitionAttributeDimension']]: + return pulumi.get(self, "attributes") + + @property + @pulumi.getter(name="billingAddress") + def billing_address(self) -> Optional['outputs.SegmentDefinitionAddressDimension']: + return pulumi.get(self, "billing_address") + + @property + @pulumi.getter(name="birthDate") + def birth_date(self) -> Optional['outputs.SegmentDefinitionDateDimension']: + return pulumi.get(self, "birth_date") + + @property + @pulumi.getter(name="businessEmailAddress") + def business_email_address(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "business_email_address") + + @property + @pulumi.getter(name="businessName") + def business_name(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "business_name") + + @property + @pulumi.getter(name="businessPhoneNumber") + def business_phone_number(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "business_phone_number") + + @property + @pulumi.getter(name="emailAddress") + def email_address(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "email_address") + + @property + @pulumi.getter(name="firstName") + def first_name(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "first_name") + + @property + @pulumi.getter(name="genderString") + def gender_string(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "gender_string") + + @property + @pulumi.getter(name="homePhoneNumber") + def home_phone_number(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "home_phone_number") + + @property + @pulumi.getter(name="lastName") + def last_name(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "last_name") + + @property + @pulumi.getter(name="mailingAddress") + def mailing_address(self) -> Optional['outputs.SegmentDefinitionAddressDimension']: + return pulumi.get(self, "mailing_address") + + @property + @pulumi.getter(name="middleName") + def middle_name(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "middle_name") + + @property + @pulumi.getter(name="mobilePhoneNumber") + def mobile_phone_number(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "mobile_phone_number") + + @property + @pulumi.getter(name="partyTypeString") + def party_type_string(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "party_type_string") + + @property + @pulumi.getter(name="personalEmailAddress") + def personal_email_address(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "personal_email_address") + + @property + @pulumi.getter(name="phoneNumber") + def phone_number(self) -> Optional['outputs.SegmentDefinitionProfileDimension']: + return pulumi.get(self, "phone_number") + + @property + @pulumi.getter(name="shippingAddress") + def shipping_address(self) -> Optional['outputs.SegmentDefinitionAddressDimension']: + return pulumi.get(self, "shipping_address") + + +@pulumi.output_type +class SegmentDefinitionProfileDimension(dict): + """ + Specifies profile based criteria for a segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dimensionType": + suggest = "dimension_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionProfileDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionProfileDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionProfileDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dimension_type: 'SegmentDefinitionStringDimensionType', + values: Sequence[str]): + """ + Specifies profile based criteria for a segment. + """ + pulumi.set(__self__, "dimension_type", dimension_type) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter(name="dimensionType") + def dimension_type(self) -> 'SegmentDefinitionStringDimensionType': + return pulumi.get(self, "dimension_type") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + return pulumi.get(self, "values") + + +@pulumi.output_type +class SegmentDefinitionRangeOverride(dict): + """ + Defines the range to be applied to the calculated attribute definition. + """ + def __init__(__self__, *, + start: int, + unit: 'SegmentDefinitionRangeOverrideUnit', + end: Optional[int] = None): + """ + Defines the range to be applied to the calculated attribute definition. + :param int start: The starting point for this overridden range. + :param 'SegmentDefinitionRangeOverrideUnit' unit: The unit to be applied to the range. + :param int end: The ending point for this overridden range. + """ + pulumi.set(__self__, "start", start) + pulumi.set(__self__, "unit", unit) + if end is not None: + pulumi.set(__self__, "end", end) + + @property + @pulumi.getter + def start(self) -> int: + """ + The starting point for this overridden range. + """ + return pulumi.get(self, "start") + + @property + @pulumi.getter + def unit(self) -> 'SegmentDefinitionRangeOverrideUnit': + """ + The unit to be applied to the range. + """ + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def end(self) -> Optional[int]: + """ + The ending point for this overridden range. + """ + return pulumi.get(self, "end") + + +@pulumi.output_type +class SegmentDefinitionSegmentGroup(dict): + def __init__(__self__, *, + groups: Optional[Sequence['outputs.SegmentDefinitionGroup']] = None, + include: Optional['SegmentDefinitionIncludeOptions'] = None): + if groups is not None: + pulumi.set(__self__, "groups", groups) + if include is not None: + pulumi.set(__self__, "include", include) + + @property + @pulumi.getter + def groups(self) -> Optional[Sequence['outputs.SegmentDefinitionGroup']]: + return pulumi.get(self, "groups") + + @property + @pulumi.getter + def include(self) -> Optional['SegmentDefinitionIncludeOptions']: + return pulumi.get(self, "include") + + +@pulumi.output_type +class SegmentDefinitionSourceSegment(dict): + """ + The base segment to build the segment on. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "segmentDefinitionName": + suggest = "segment_definition_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SegmentDefinitionSourceSegment. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SegmentDefinitionSourceSegment.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SegmentDefinitionSourceSegment.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + segment_definition_name: Optional[str] = None): + """ + The base segment to build the segment on. + """ + if segment_definition_name is not None: + pulumi.set(__self__, "segment_definition_name", segment_definition_name) + + @property + @pulumi.getter(name="segmentDefinitionName") + def segment_definition_name(self) -> Optional[str]: + return pulumi.get(self, "segment_definition_name") + + diff --git a/sdk/python/pulumi_aws_native/customerprofiles/segment_definition.py b/sdk/python/pulumi_aws_native/customerprofiles/segment_definition.py new file mode 100644 index 0000000000..049332e710 --- /dev/null +++ b/sdk/python/pulumi_aws_native/customerprofiles/segment_definition.py @@ -0,0 +1,299 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['SegmentDefinitionArgs', 'SegmentDefinition'] + +@pulumi.input_type +class SegmentDefinitionArgs: + def __init__(__self__, *, + display_name: pulumi.Input[str], + domain_name: pulumi.Input[str], + segment_groups: pulumi.Input['SegmentDefinitionSegmentGroupArgs'], + description: Optional[pulumi.Input[str]] = None, + segment_definition_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a SegmentDefinition resource. + :param pulumi.Input[str] display_name: The display name of the segment definition. + :param pulumi.Input[str] domain_name: The unique name of the domain. + :param pulumi.Input['SegmentDefinitionSegmentGroupArgs'] segment_groups: An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + :param pulumi.Input[str] description: The description of the segment definition. + :param pulumi.Input[str] segment_definition_name: The unique name of the segment definition. + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: The tags used to organize, track, or control access for this resource. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "domain_name", domain_name) + pulumi.set(__self__, "segment_groups", segment_groups) + if description is not None: + pulumi.set(__self__, "description", description) + if segment_definition_name is not None: + pulumi.set(__self__, "segment_definition_name", segment_definition_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + The display name of the segment definition. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> pulumi.Input[str]: + """ + The unique name of the domain. + """ + return pulumi.get(self, "domain_name") + + @domain_name.setter + def domain_name(self, value: pulumi.Input[str]): + pulumi.set(self, "domain_name", value) + + @property + @pulumi.getter(name="segmentGroups") + def segment_groups(self) -> pulumi.Input['SegmentDefinitionSegmentGroupArgs']: + """ + An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + """ + return pulumi.get(self, "segment_groups") + + @segment_groups.setter + def segment_groups(self, value: pulumi.Input['SegmentDefinitionSegmentGroupArgs']): + pulumi.set(self, "segment_groups", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the segment definition. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="segmentDefinitionName") + def segment_definition_name(self) -> Optional[pulumi.Input[str]]: + """ + The unique name of the segment definition. + """ + return pulumi.get(self, "segment_definition_name") + + @segment_definition_name.setter + def segment_definition_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "segment_definition_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + The tags used to organize, track, or control access for this resource. + """ + 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 SegmentDefinition(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + segment_definition_name: Optional[pulumi.Input[str]] = None, + segment_groups: Optional[pulumi.Input[Union['SegmentDefinitionSegmentGroupArgs', 'SegmentDefinitionSegmentGroupArgsDict']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + A segment definition resource of Amazon Connect Customer Profiles + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The description of the segment definition. + :param pulumi.Input[str] display_name: The display name of the segment definition. + :param pulumi.Input[str] domain_name: The unique name of the domain. + :param pulumi.Input[str] segment_definition_name: The unique name of the segment definition. + :param pulumi.Input[Union['SegmentDefinitionSegmentGroupArgs', 'SegmentDefinitionSegmentGroupArgsDict']] segment_groups: An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: The tags used to organize, track, or control access for this resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SegmentDefinitionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + A segment definition resource of Amazon Connect Customer Profiles + + :param str resource_name: The name of the resource. + :param SegmentDefinitionArgs 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(SegmentDefinitionArgs, 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, + display_name: Optional[pulumi.Input[str]] = None, + domain_name: Optional[pulumi.Input[str]] = None, + segment_definition_name: Optional[pulumi.Input[str]] = None, + segment_groups: Optional[pulumi.Input[Union['SegmentDefinitionSegmentGroupArgs', 'SegmentDefinitionSegmentGroupArgsDict']]] = 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__ = SegmentDefinitionArgs.__new__(SegmentDefinitionArgs) + + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if domain_name is None and not opts.urn: + raise TypeError("Missing required property 'domain_name'") + __props__.__dict__["domain_name"] = domain_name + __props__.__dict__["segment_definition_name"] = segment_definition_name + if segment_groups is None and not opts.urn: + raise TypeError("Missing required property 'segment_groups'") + __props__.__dict__["segment_groups"] = segment_groups + __props__.__dict__["tags"] = tags + __props__.__dict__["created_at"] = None + __props__.__dict__["segment_definition_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["displayName", "domainName", "segmentDefinitionName", "segmentGroups"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(SegmentDefinition, __self__).__init__( + 'aws-native:customerprofiles:SegmentDefinition', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'SegmentDefinition': + """ + Get an existing SegmentDefinition 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__ = SegmentDefinitionArgs.__new__(SegmentDefinitionArgs) + + __props__.__dict__["created_at"] = None + __props__.__dict__["description"] = None + __props__.__dict__["display_name"] = None + __props__.__dict__["domain_name"] = None + __props__.__dict__["segment_definition_arn"] = None + __props__.__dict__["segment_definition_name"] = None + __props__.__dict__["segment_groups"] = None + __props__.__dict__["tags"] = None + return SegmentDefinition(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + """ + The time of this segment definition got created. + """ + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The description of the segment definition. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[str]: + """ + The display name of the segment definition. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="domainName") + def domain_name(self) -> pulumi.Output[str]: + """ + The unique name of the domain. + """ + return pulumi.get(self, "domain_name") + + @property + @pulumi.getter(name="segmentDefinitionArn") + def segment_definition_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the segment definition. + """ + return pulumi.get(self, "segment_definition_arn") + + @property + @pulumi.getter(name="segmentDefinitionName") + def segment_definition_name(self) -> pulumi.Output[str]: + """ + The unique name of the segment definition. + """ + return pulumi.get(self, "segment_definition_name") + + @property + @pulumi.getter(name="segmentGroups") + def segment_groups(self) -> pulumi.Output['outputs.SegmentDefinitionSegmentGroup']: + """ + An array that defines the set of segment criteria to evaluate when handling segment groups for the segment. + """ + return pulumi.get(self, "segment_groups") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + The tags used to organize, track, or control access for this resource. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/dynamodb/_inputs.py b/sdk/python/pulumi_aws_native/dynamodb/_inputs.py index abfaf91281..73cdb79db2 100644 --- a/sdk/python/pulumi_aws_native/dynamodb/_inputs.py +++ b/sdk/python/pulumi_aws_native/dynamodb/_inputs.py @@ -1941,7 +1941,7 @@ class TableGlobalSecondaryIndexArgsDict(TypedDict): """ warm_throughput: NotRequired[pulumi.Input['TableWarmThroughputArgsDict']] """ - Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. """ elif False: TableGlobalSecondaryIndexArgsDict: TypeAlias = Mapping[str, Any] @@ -1970,7 +1970,7 @@ def __init__(__self__, *, :param pulumi.Input['TableOnDemandThroughputArgs'] on_demand_throughput: The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both. :param pulumi.Input['TableProvisionedThroughputArgs'] provisioned_throughput: Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide*. - :param pulumi.Input['TableWarmThroughputArgs'] warm_throughput: Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + :param pulumi.Input['TableWarmThroughputArgs'] warm_throughput: Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. """ pulumi.set(__self__, "index_name", index_name) pulumi.set(__self__, "key_schema", key_schema) @@ -2066,7 +2066,7 @@ def provisioned_throughput(self, value: Optional[pulumi.Input['TableProvisionedT @pulumi.getter(name="warmThroughput") def warm_throughput(self) -> Optional[pulumi.Input['TableWarmThroughputArgs']]: """ - Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. """ return pulumi.get(self, "warm_throughput") @@ -2995,6 +2995,9 @@ def attribute_name(self, value: Optional[pulumi.Input[str]]): if not MYPY: class TableWarmThroughputArgsDict(TypedDict): + """ + Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. + """ read_units_per_second: NotRequired[pulumi.Input[int]] """ Represents the number of read operations your base table can instantaneously support. @@ -3012,6 +3015,7 @@ def __init__(__self__, *, read_units_per_second: Optional[pulumi.Input[int]] = None, write_units_per_second: Optional[pulumi.Input[int]] = None): """ + Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. :param pulumi.Input[int] read_units_per_second: Represents the number of read operations your base table can instantaneously support. :param pulumi.Input[int] write_units_per_second: Represents the number of write operations your base table can instantaneously support. """ diff --git a/sdk/python/pulumi_aws_native/dynamodb/outputs.py b/sdk/python/pulumi_aws_native/dynamodb/outputs.py index a56211551e..46f8ccf859 100644 --- a/sdk/python/pulumi_aws_native/dynamodb/outputs.py +++ b/sdk/python/pulumi_aws_native/dynamodb/outputs.py @@ -1666,7 +1666,7 @@ def __init__(__self__, *, :param 'TableOnDemandThroughput' on_demand_throughput: The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify ``MaxReadRequestUnits``, ``MaxWriteRequestUnits``, or both. :param 'TableProvisionedThroughput' provisioned_throughput: Represents the provisioned throughput settings for the specified global secondary index. For current minimum and maximum provisioned throughput values, see [Service, Account, and Table Quotas](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html) in the *Amazon DynamoDB Developer Guide*. - :param 'TableWarmThroughput' warm_throughput: Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + :param 'TableWarmThroughput' warm_throughput: Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. """ pulumi.set(__self__, "index_name", index_name) pulumi.set(__self__, "key_schema", key_schema) @@ -1738,7 +1738,7 @@ def provisioned_throughput(self) -> Optional['outputs.TableProvisionedThroughput @pulumi.getter(name="warmThroughput") def warm_throughput(self) -> Optional['outputs.TableWarmThroughput']: """ - Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify `ReadUnitsPerSecond` , `WriteUnitsPerSecond` , or both. + Represents the warm throughput value (in read units per second and write units per second) for the specified secondary index. If you use this parameter, you must specify ``ReadUnitsPerSecond``, ``WriteUnitsPerSecond``, or both. """ return pulumi.get(self, "warm_throughput") @@ -2573,6 +2573,9 @@ def attribute_name(self) -> Optional[str]: @pulumi.output_type class TableWarmThroughput(dict): + """ + Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -2596,6 +2599,7 @@ def __init__(__self__, *, read_units_per_second: Optional[int] = None, write_units_per_second: Optional[int] = None): """ + Provides visibility into the number of read and write operations your table or secondary index can instantaneously support. The settings can be modified using the ``UpdateTable`` operation to meet the throughput requirements of an upcoming peak event. :param int read_units_per_second: Represents the number of read operations your base table can instantaneously support. :param int write_units_per_second: Represents the number of write operations your base table can instantaneously support. """ diff --git a/sdk/python/pulumi_aws_native/ec2/__init__.py b/sdk/python/pulumi_aws_native/ec2/__init__.py index 5142764a22..ccc3df1585 100644 --- a/sdk/python/pulumi_aws_native/ec2/__init__.py +++ b/sdk/python/pulumi_aws_native/ec2/__init__.py @@ -85,6 +85,8 @@ from .get_verified_access_trust_provider import * from .get_volume import * from .get_vpc import * +from .get_vpc_block_public_access_exclusion import * +from .get_vpc_block_public_access_options import * from .get_vpc_cidr_block import * from .get_vpc_endpoint import * from .get_vpc_endpoint_connection_notification import * @@ -154,6 +156,8 @@ from .volume import * from .volume_attachment import * from .vpc import * +from .vpc_block_public_access_exclusion import * +from .vpc_block_public_access_options import * from .vpc_cidr_block import * from .vpc_endpoint import * from .vpc_endpoint_connection_notification import * diff --git a/sdk/python/pulumi_aws_native/ec2/_enums.py b/sdk/python/pulumi_aws_native/ec2/_enums.py index 482ce5fa1a..cb7386c0cb 100644 --- a/sdk/python/pulumi_aws_native/ec2/_enums.py +++ b/sdk/python/pulumi_aws_native/ec2/_enums.py @@ -66,6 +66,8 @@ 'SpotFleetSpotCapacityRebalanceReplacementStrategy', 'SpotFleetSpotPlacementTenancy', 'SpotFleetTagSpecificationResourceType', + 'VpcBlockPublicAccessExclusionInternetGatewayExclusionMode', + 'VpcBlockPublicAccessOptionsInternetGatewayBlockMode', 'VpcEndpointType', 'VpnConnectionCloudwatchLogOptionsSpecificationLogOutputFormat', 'VpnConnectionIkeVersionsRequestListValueValue', @@ -767,6 +769,22 @@ class SpotFleetTagSpecificationResourceType(str, Enum): VPN_GATEWAY = "vpn-gateway" +class VpcBlockPublicAccessExclusionInternetGatewayExclusionMode(str, Enum): + """ + The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + """ + ALLOW_BIDIRECTIONAL = "allow-bidirectional" + ALLOW_EGRESS = "allow-egress" + + +class VpcBlockPublicAccessOptionsInternetGatewayBlockMode(str, Enum): + """ + The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + """ + BLOCK_BIDIRECTIONAL = "block-bidirectional" + BLOCK_INGRESS = "block-ingress" + + class VpcEndpointType(str, Enum): """ The type of endpoint. diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index b5a88c7497..3f50cdf939 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -122,6 +122,8 @@ 'LaunchTemplateAcceleratorTotalMemoryMiBArgsDict', 'LaunchTemplateBaselineEbsBandwidthMbpsArgs', 'LaunchTemplateBaselineEbsBandwidthMbpsArgsDict', + 'LaunchTemplateBaselinePerformanceFactorsArgs', + 'LaunchTemplateBaselinePerformanceFactorsArgsDict', 'LaunchTemplateBlockDeviceMappingArgs', 'LaunchTemplateBlockDeviceMappingArgsDict', 'LaunchTemplateCapacityReservationSpecificationArgs', @@ -132,6 +134,8 @@ 'LaunchTemplateConnectionTrackingSpecificationArgsDict', 'LaunchTemplateCpuOptionsArgs', 'LaunchTemplateCpuOptionsArgsDict', + 'LaunchTemplateCpuArgs', + 'LaunchTemplateCpuArgsDict', 'LaunchTemplateCreditSpecificationArgs', 'LaunchTemplateCreditSpecificationArgsDict', 'LaunchTemplateDataArgs', @@ -186,6 +190,8 @@ 'LaunchTemplatePrivateDnsNameOptionsArgsDict', 'LaunchTemplatePrivateIpAddArgs', 'LaunchTemplatePrivateIpAddArgsDict', + 'LaunchTemplateReferenceArgs', + 'LaunchTemplateReferenceArgsDict', 'LaunchTemplateSpotOptionsArgs', 'LaunchTemplateSpotOptionsArgsDict', 'LaunchTemplateTagSpecificationArgs', @@ -5156,6 +5162,29 @@ def min(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min", value) +if not MYPY: + class LaunchTemplateBaselinePerformanceFactorsArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input['LaunchTemplateCpuArgsDict']] +elif False: + LaunchTemplateBaselinePerformanceFactorsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class LaunchTemplateBaselinePerformanceFactorsArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input['LaunchTemplateCpuArgs']] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input['LaunchTemplateCpuArgs']]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input['LaunchTemplateCpuArgs']]): + pulumi.set(self, "cpu", value) + + if not MYPY: class LaunchTemplateBlockDeviceMappingArgsDict(TypedDict): """ @@ -5530,6 +5559,29 @@ def threads_per_core(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "threads_per_core", value) +if not MYPY: + class LaunchTemplateCpuArgsDict(TypedDict): + references: NotRequired[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateReferenceArgsDict']]]] +elif False: + LaunchTemplateCpuArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class LaunchTemplateCpuArgs: + def __init__(__self__, *, + references: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateReferenceArgs']]]] = None): + if references is not None: + pulumi.set(__self__, "references", references) + + @property + @pulumi.getter + def references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateReferenceArgs']]]]: + return pulumi.get(self, "references") + + @references.setter + def references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LaunchTemplateReferenceArgs']]]]): + pulumi.set(self, "references", value) + + if not MYPY: class LaunchTemplateCreditSpecificationArgsDict(TypedDict): """ @@ -6991,6 +7043,7 @@ class LaunchTemplateInstanceRequirementsArgsDict(TypedDict): The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide*. Default: No minimum or maximum limits """ + baseline_performance_factors: NotRequired[pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgsDict']] burstable_performance: NotRequired[pulumi.Input[str]] """ Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html). @@ -7115,6 +7168,7 @@ def __init__(__self__, *, allowed_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bare_metal: Optional[pulumi.Input[str]] = None, baseline_ebs_bandwidth_mbps: Optional[pulumi.Input['LaunchTemplateBaselineEbsBandwidthMbpsArgs']] = None, + baseline_performance_factors: Optional[pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgs']] = None, burstable_performance: Optional[pulumi.Input[str]] = None, cpu_manufacturers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, excluded_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -7268,6 +7322,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bare_metal", bare_metal) if baseline_ebs_bandwidth_mbps is not None: pulumi.set(__self__, "baseline_ebs_bandwidth_mbps", baseline_ebs_bandwidth_mbps) + if baseline_performance_factors is not None: + pulumi.set(__self__, "baseline_performance_factors", baseline_performance_factors) if burstable_performance is not None: pulumi.set(__self__, "burstable_performance", burstable_performance) if cpu_manufacturers is not None: @@ -7436,6 +7492,15 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional[pulumi.Input['LaunchTemplateBa def baseline_ebs_bandwidth_mbps(self, value: Optional[pulumi.Input['LaunchTemplateBaselineEbsBandwidthMbpsArgs']]): pulumi.set(self, "baseline_ebs_bandwidth_mbps", value) + @property + @pulumi.getter(name="baselinePerformanceFactors") + def baseline_performance_factors(self) -> Optional[pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgs']]: + return pulumi.get(self, "baseline_performance_factors") + + @baseline_performance_factors.setter + def baseline_performance_factors(self, value: Optional[pulumi.Input['LaunchTemplateBaselinePerformanceFactorsArgs']]): + pulumi.set(self, "baseline_performance_factors", value) + @property @pulumi.getter(name="burstablePerformance") def burstable_performance(self) -> Optional[pulumi.Input[str]]: @@ -9074,6 +9139,38 @@ def private_ip_address(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "private_ip_address", value) +if not MYPY: + class LaunchTemplateReferenceArgsDict(TypedDict): + instance_family: NotRequired[pulumi.Input[str]] + """ + The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + """ +elif False: + LaunchTemplateReferenceArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class LaunchTemplateReferenceArgs: + def __init__(__self__, *, + instance_family: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] instance_family: The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + """ + if instance_family is not None: + pulumi.set(__self__, "instance_family", instance_family) + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> Optional[pulumi.Input[str]]: + """ + The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + """ + return pulumi.get(self, "instance_family") + + @instance_family.setter + def instance_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_family", value) + + if not MYPY: class LaunchTemplateSpotOptionsArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_exclusion.py b/sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_exclusion.py new file mode 100644 index 0000000000..a3ed53343f --- /dev/null +++ b/sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_exclusion.py @@ -0,0 +1,107 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetVpcBlockPublicAccessExclusionResult', + 'AwaitableGetVpcBlockPublicAccessExclusionResult', + 'get_vpc_block_public_access_exclusion', + 'get_vpc_block_public_access_exclusion_output', +] + +@pulumi.output_type +class GetVpcBlockPublicAccessExclusionResult: + def __init__(__self__, exclusion_id=None, internet_gateway_exclusion_mode=None, tags=None): + if exclusion_id and not isinstance(exclusion_id, str): + raise TypeError("Expected argument 'exclusion_id' to be a str") + pulumi.set(__self__, "exclusion_id", exclusion_id) + if internet_gateway_exclusion_mode and not isinstance(internet_gateway_exclusion_mode, str): + raise TypeError("Expected argument 'internet_gateway_exclusion_mode' to be a str") + pulumi.set(__self__, "internet_gateway_exclusion_mode", internet_gateway_exclusion_mode) + 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="exclusionId") + def exclusion_id(self) -> Optional[str]: + """ + The ID of the exclusion + """ + return pulumi.get(self, "exclusion_id") + + @property + @pulumi.getter(name="internetGatewayExclusionMode") + def internet_gateway_exclusion_mode(self) -> Optional['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode']: + """ + The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + """ + return pulumi.get(self, "internet_gateway_exclusion_mode") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetVpcBlockPublicAccessExclusionResult(GetVpcBlockPublicAccessExclusionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcBlockPublicAccessExclusionResult( + exclusion_id=self.exclusion_id, + internet_gateway_exclusion_mode=self.internet_gateway_exclusion_mode, + tags=self.tags) + + +def get_vpc_block_public_access_exclusion(exclusion_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcBlockPublicAccessExclusionResult: + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + + + :param str exclusion_id: The ID of the exclusion + """ + __args__ = dict() + __args__['exclusionId'] = exclusion_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:ec2:getVpcBlockPublicAccessExclusion', __args__, opts=opts, typ=GetVpcBlockPublicAccessExclusionResult).value + + return AwaitableGetVpcBlockPublicAccessExclusionResult( + exclusion_id=pulumi.get(__ret__, 'exclusion_id'), + internet_gateway_exclusion_mode=pulumi.get(__ret__, 'internet_gateway_exclusion_mode'), + tags=pulumi.get(__ret__, 'tags')) +def get_vpc_block_public_access_exclusion_output(exclusion_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcBlockPublicAccessExclusionResult]: + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + + + :param str exclusion_id: The ID of the exclusion + """ + __args__ = dict() + __args__['exclusionId'] = exclusion_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:ec2:getVpcBlockPublicAccessExclusion', __args__, opts=opts, typ=GetVpcBlockPublicAccessExclusionResult) + return __ret__.apply(lambda __response__: GetVpcBlockPublicAccessExclusionResult( + exclusion_id=pulumi.get(__response__, 'exclusion_id'), + internet_gateway_exclusion_mode=pulumi.get(__response__, 'internet_gateway_exclusion_mode'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_options.py b/sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_options.py new file mode 100644 index 0000000000..3b7674f746 --- /dev/null +++ b/sdk/python/pulumi_aws_native/ec2/get_vpc_block_public_access_options.py @@ -0,0 +1,92 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from ._enums import * + +__all__ = [ + 'GetVpcBlockPublicAccessOptionsResult', + 'AwaitableGetVpcBlockPublicAccessOptionsResult', + 'get_vpc_block_public_access_options', + 'get_vpc_block_public_access_options_output', +] + +@pulumi.output_type +class GetVpcBlockPublicAccessOptionsResult: + def __init__(__self__, account_id=None, internet_gateway_block_mode=None): + if account_id and not isinstance(account_id, str): + raise TypeError("Expected argument 'account_id' to be a str") + pulumi.set(__self__, "account_id", account_id) + if internet_gateway_block_mode and not isinstance(internet_gateway_block_mode, str): + raise TypeError("Expected argument 'internet_gateway_block_mode' to be a str") + pulumi.set(__self__, "internet_gateway_block_mode", internet_gateway_block_mode) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[str]: + """ + The identifier for the specified AWS account. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="internetGatewayBlockMode") + def internet_gateway_block_mode(self) -> Optional['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']: + """ + The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + """ + return pulumi.get(self, "internet_gateway_block_mode") + + +class AwaitableGetVpcBlockPublicAccessOptionsResult(GetVpcBlockPublicAccessOptionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcBlockPublicAccessOptionsResult( + account_id=self.account_id, + internet_gateway_block_mode=self.internet_gateway_block_mode) + + +def get_vpc_block_public_access_options(account_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcBlockPublicAccessOptionsResult: + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + + + :param str account_id: The identifier for the specified AWS account. + """ + __args__ = dict() + __args__['accountId'] = account_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:ec2:getVpcBlockPublicAccessOptions', __args__, opts=opts, typ=GetVpcBlockPublicAccessOptionsResult).value + + return AwaitableGetVpcBlockPublicAccessOptionsResult( + account_id=pulumi.get(__ret__, 'account_id'), + internet_gateway_block_mode=pulumi.get(__ret__, 'internet_gateway_block_mode')) +def get_vpc_block_public_access_options_output(account_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVpcBlockPublicAccessOptionsResult]: + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + + + :param str account_id: The identifier for the specified AWS account. + """ + __args__ = dict() + __args__['accountId'] = account_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:ec2:getVpcBlockPublicAccessOptions', __args__, opts=opts, typ=GetVpcBlockPublicAccessOptionsResult) + return __ret__.apply(lambda __response__: GetVpcBlockPublicAccessOptionsResult( + account_id=pulumi.get(__response__, 'account_id'), + internet_gateway_block_mode=pulumi.get(__response__, 'internet_gateway_block_mode'))) diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index 45a13c2a22..7503138e34 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -71,10 +71,12 @@ 'LaunchTemplateAcceleratorCount', 'LaunchTemplateAcceleratorTotalMemoryMiB', 'LaunchTemplateBaselineEbsBandwidthMbps', + 'LaunchTemplateBaselinePerformanceFactors', 'LaunchTemplateBlockDeviceMapping', 'LaunchTemplateCapacityReservationSpecification', 'LaunchTemplateCapacityReservationTarget', 'LaunchTemplateConnectionTrackingSpecification', + 'LaunchTemplateCpu', 'LaunchTemplateCpuOptions', 'LaunchTemplateCreditSpecification', 'LaunchTemplateData', @@ -103,6 +105,7 @@ 'LaunchTemplatePlacement', 'LaunchTemplatePrivateDnsNameOptions', 'LaunchTemplatePrivateIpAdd', + 'LaunchTemplateReference', 'LaunchTemplateSpotOptions', 'LaunchTemplateTag', 'LaunchTemplateTagSpecification', @@ -3854,6 +3857,19 @@ def min(self) -> Optional[int]: return pulumi.get(self, "min") +@pulumi.output_type +class LaunchTemplateBaselinePerformanceFactors(dict): + def __init__(__self__, *, + cpu: Optional['outputs.LaunchTemplateCpu'] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + + @property + @pulumi.getter + def cpu(self) -> Optional['outputs.LaunchTemplateCpu']: + return pulumi.get(self, "cpu") + + @pulumi.output_type class LaunchTemplateBlockDeviceMapping(dict): """ @@ -4120,6 +4136,19 @@ def udp_timeout(self) -> Optional[int]: return pulumi.get(self, "udp_timeout") +@pulumi.output_type +class LaunchTemplateCpu(dict): + def __init__(__self__, *, + references: Optional[Sequence['outputs.LaunchTemplateReference']] = None): + if references is not None: + pulumi.set(__self__, "references", references) + + @property + @pulumi.getter + def references(self) -> Optional[Sequence['outputs.LaunchTemplateReference']]: + return pulumi.get(self, "references") + + @pulumi.output_type class LaunchTemplateCpuOptions(dict): """ @@ -5252,6 +5281,8 @@ def __key_warning(key: str): suggest = "bare_metal" elif key == "baselineEbsBandwidthMbps": suggest = "baseline_ebs_bandwidth_mbps" + elif key == "baselinePerformanceFactors": + suggest = "baseline_performance_factors" elif key == "burstablePerformance": suggest = "burstable_performance" elif key == "cpuManufacturers": @@ -5305,6 +5336,7 @@ def __init__(__self__, *, allowed_instance_types: Optional[Sequence[str]] = None, bare_metal: Optional[str] = None, baseline_ebs_bandwidth_mbps: Optional['outputs.LaunchTemplateBaselineEbsBandwidthMbps'] = None, + baseline_performance_factors: Optional['outputs.LaunchTemplateBaselinePerformanceFactors'] = None, burstable_performance: Optional[str] = None, cpu_manufacturers: Optional[Sequence[str]] = None, excluded_instance_types: Optional[Sequence[str]] = None, @@ -5458,6 +5490,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bare_metal", bare_metal) if baseline_ebs_bandwidth_mbps is not None: pulumi.set(__self__, "baseline_ebs_bandwidth_mbps", baseline_ebs_bandwidth_mbps) + if baseline_performance_factors is not None: + pulumi.set(__self__, "baseline_performance_factors", baseline_performance_factors) if burstable_performance is not None: pulumi.set(__self__, "burstable_performance", burstable_performance) if cpu_manufacturers is not None: @@ -5594,6 +5628,11 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional['outputs.LaunchTemplateBaselin """ return pulumi.get(self, "baseline_ebs_bandwidth_mbps") + @property + @pulumi.getter(name="baselinePerformanceFactors") + def baseline_performance_factors(self) -> Optional['outputs.LaunchTemplateBaselinePerformanceFactors']: + return pulumi.get(self, "baseline_performance_factors") + @property @pulumi.getter(name="burstablePerformance") def burstable_performance(self) -> Optional[str]: @@ -6872,6 +6911,42 @@ def private_ip_address(self) -> Optional[str]: return pulumi.get(self, "private_ip_address") +@pulumi.output_type +class LaunchTemplateReference(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceFamily": + suggest = "instance_family" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LaunchTemplateReference. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LaunchTemplateReference.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LaunchTemplateReference.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_family: Optional[str] = None): + """ + :param str instance_family: The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + """ + if instance_family is not None: + pulumi.set(__self__, "instance_family", instance_family) + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> Optional[str]: + """ + The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not. + """ + return pulumi.get(self, "instance_family") + + @pulumi.output_type class LaunchTemplateSpotOptions(dict): """ diff --git a/sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_exclusion.py b/sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_exclusion.py new file mode 100644 index 0000000000..9b8d769477 --- /dev/null +++ b/sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_exclusion.py @@ -0,0 +1,227 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = ['VpcBlockPublicAccessExclusionArgs', 'VpcBlockPublicAccessExclusion'] + +@pulumi.input_type +class VpcBlockPublicAccessExclusionArgs: + def __init__(__self__, *, + internet_gateway_exclusion_mode: pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode'], + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a VpcBlockPublicAccessExclusion resource. + :param pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode'] internet_gateway_exclusion_mode: The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + :param pulumi.Input[str] subnet_id: The ID of the subnet. Required only if you don't specify VpcId + :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[str] vpc_id: The ID of the vpc. Required only if you don't specify SubnetId. + """ + pulumi.set(__self__, "internet_gateway_exclusion_mode", internet_gateway_exclusion_mode) + if subnet_id is not None: + pulumi.set(__self__, "subnet_id", subnet_id) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @property + @pulumi.getter(name="internetGatewayExclusionMode") + def internet_gateway_exclusion_mode(self) -> pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode']: + """ + The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + """ + return pulumi.get(self, "internet_gateway_exclusion_mode") + + @internet_gateway_exclusion_mode.setter + def internet_gateway_exclusion_mode(self, value: pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode']): + pulumi.set(self, "internet_gateway_exclusion_mode", value) + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the subnet. Required only if you don't specify VpcId + """ + return pulumi.get(self, "subnet_id") + + @subnet_id.setter + def subnet_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subnet_id", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + 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="vpcId") + def vpc_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the vpc. Required only if you don't specify SubnetId. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vpc_id", value) + + +class VpcBlockPublicAccessExclusion(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_exclusion_mode: Optional[pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode']] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + vpc_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode'] internet_gateway_exclusion_mode: The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + :param pulumi.Input[str] subnet_id: The ID of the subnet. Required only if you don't specify VpcId + :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[str] vpc_id: The ID of the vpc. Required only if you don't specify SubnetId. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcBlockPublicAccessExclusionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion. + + :param str resource_name: The name of the resource. + :param VpcBlockPublicAccessExclusionArgs 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(VpcBlockPublicAccessExclusionArgs, 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, + internet_gateway_exclusion_mode: Optional[pulumi.Input['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode']] = None, + subnet_id: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + vpc_id: 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__ = VpcBlockPublicAccessExclusionArgs.__new__(VpcBlockPublicAccessExclusionArgs) + + if internet_gateway_exclusion_mode is None and not opts.urn: + raise TypeError("Missing required property 'internet_gateway_exclusion_mode'") + __props__.__dict__["internet_gateway_exclusion_mode"] = internet_gateway_exclusion_mode + __props__.__dict__["subnet_id"] = subnet_id + __props__.__dict__["tags"] = tags + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["exclusion_id"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["subnetId", "vpcId"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(VpcBlockPublicAccessExclusion, __self__).__init__( + 'aws-native:ec2:VpcBlockPublicAccessExclusion', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VpcBlockPublicAccessExclusion': + """ + Get an existing VpcBlockPublicAccessExclusion 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__ = VpcBlockPublicAccessExclusionArgs.__new__(VpcBlockPublicAccessExclusionArgs) + + __props__.__dict__["exclusion_id"] = None + __props__.__dict__["internet_gateway_exclusion_mode"] = None + __props__.__dict__["subnet_id"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["vpc_id"] = None + return VpcBlockPublicAccessExclusion(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="exclusionId") + def exclusion_id(self) -> pulumi.Output[str]: + """ + The ID of the exclusion + """ + return pulumi.get(self, "exclusion_id") + + @property + @pulumi.getter(name="internetGatewayExclusionMode") + def internet_gateway_exclusion_mode(self) -> pulumi.Output['VpcBlockPublicAccessExclusionInternetGatewayExclusionMode']: + """ + The desired Block Public Access Exclusion Mode for a specific VPC/Subnet. + """ + return pulumi.get(self, "internet_gateway_exclusion_mode") + + @property + @pulumi.getter(name="subnetId") + def subnet_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the subnet. Required only if you don't specify VpcId + """ + return pulumi.get(self, "subnet_id") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the vpc. Required only if you don't specify SubnetId. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_options.py b/sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_options.py new file mode 100644 index 0000000000..f2b2a272f3 --- /dev/null +++ b/sdk/python/pulumi_aws_native/ec2/vpc_block_public_access_options.py @@ -0,0 +1,136 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from ._enums import * + +__all__ = ['VpcBlockPublicAccessOptionsArgs', 'VpcBlockPublicAccessOptions'] + +@pulumi.input_type +class VpcBlockPublicAccessOptionsArgs: + def __init__(__self__, *, + internet_gateway_block_mode: pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']): + """ + The set of arguments for constructing a VpcBlockPublicAccessOptions resource. + :param pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode'] internet_gateway_block_mode: The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + """ + pulumi.set(__self__, "internet_gateway_block_mode", internet_gateway_block_mode) + + @property + @pulumi.getter(name="internetGatewayBlockMode") + def internet_gateway_block_mode(self) -> pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']: + """ + The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + """ + return pulumi.get(self, "internet_gateway_block_mode") + + @internet_gateway_block_mode.setter + def internet_gateway_block_mode(self, value: pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']): + pulumi.set(self, "internet_gateway_block_mode", value) + + +class VpcBlockPublicAccessOptions(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + internet_gateway_block_mode: Optional[pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']] = None, + __props__=None): + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode'] internet_gateway_block_mode: The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcBlockPublicAccessOptionsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions + + :param str resource_name: The name of the resource. + :param VpcBlockPublicAccessOptionsArgs 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(VpcBlockPublicAccessOptionsArgs, 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, + internet_gateway_block_mode: Optional[pulumi.Input['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']] = 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__ = VpcBlockPublicAccessOptionsArgs.__new__(VpcBlockPublicAccessOptionsArgs) + + if internet_gateway_block_mode is None and not opts.urn: + raise TypeError("Missing required property 'internet_gateway_block_mode'") + __props__.__dict__["internet_gateway_block_mode"] = internet_gateway_block_mode + __props__.__dict__["account_id"] = None + super(VpcBlockPublicAccessOptions, __self__).__init__( + 'aws-native:ec2:VpcBlockPublicAccessOptions', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'VpcBlockPublicAccessOptions': + """ + Get an existing VpcBlockPublicAccessOptions 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__ = VpcBlockPublicAccessOptionsArgs.__new__(VpcBlockPublicAccessOptionsArgs) + + __props__.__dict__["account_id"] = None + __props__.__dict__["internet_gateway_block_mode"] = None + return VpcBlockPublicAccessOptions(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[str]: + """ + The identifier for the specified AWS account. + """ + return pulumi.get(self, "account_id") + + @property + @pulumi.getter(name="internetGatewayBlockMode") + def internet_gateway_block_mode(self) -> pulumi.Output['VpcBlockPublicAccessOptionsInternetGatewayBlockMode']: + """ + The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value + """ + return pulumi.get(self, "internet_gateway_block_mode") + diff --git a/sdk/python/pulumi_aws_native/ecs/_enums.py b/sdk/python/pulumi_aws_native/ecs/_enums.py index 2b95e50fe7..835faaf45d 100644 --- a/sdk/python/pulumi_aws_native/ecs/_enums.py +++ b/sdk/python/pulumi_aws_native/ecs/_enums.py @@ -166,6 +166,9 @@ class TaskDefinitionAuthorizationConfigIam(str, Enum): class TaskDefinitionContainerDefinitionVersionConsistency(str, Enum): + """ + Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + """ ENABLED = "enabled" DISABLED = "disabled" diff --git a/sdk/python/pulumi_aws_native/ecs/_inputs.py b/sdk/python/pulumi_aws_native/ecs/_inputs.py index 9dd7fbd4b5..202faf4fb4 100644 --- a/sdk/python/pulumi_aws_native/ecs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ecs/_inputs.py @@ -3425,6 +3425,9 @@ class TaskDefinitionContainerDefinitionArgsDict(TypedDict): This parameter is not supported for Windows containers. """ version_consistency: NotRequired[pulumi.Input['TaskDefinitionContainerDefinitionVersionConsistency']] + """ + Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + """ volumes_from: NotRequired[pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeFromArgsDict']]]] """ Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run. @@ -3609,6 +3612,7 @@ def __init__(__self__, *, + ``uid:group`` This parameter is not supported for Windows containers. + :param pulumi.Input['TaskDefinitionContainerDefinitionVersionConsistency'] version_consistency: Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . :param pulumi.Input[Sequence[pulumi.Input['TaskDefinitionVolumeFromArgs']]] volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the 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. """ @@ -4253,6 +4257,9 @@ def user(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="versionConsistency") def version_consistency(self) -> Optional[pulumi.Input['TaskDefinitionContainerDefinitionVersionConsistency']]: + """ + Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + """ return pulumi.get(self, "version_consistency") @version_consistency.setter diff --git a/sdk/python/pulumi_aws_native/ecs/outputs.py b/sdk/python/pulumi_aws_native/ecs/outputs.py index 3bc7d8cccb..987b676892 100644 --- a/sdk/python/pulumi_aws_native/ecs/outputs.py +++ b/sdk/python/pulumi_aws_native/ecs/outputs.py @@ -2785,6 +2785,7 @@ def __init__(__self__, *, + ``uid:group`` This parameter is not supported for Windows containers. + :param 'TaskDefinitionContainerDefinitionVersionConsistency' version_consistency: Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . :param Sequence['TaskDefinitionVolumeFrom'] volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the 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. """ @@ -3273,6 +3274,9 @@ def user(self) -> Optional[str]: @property @pulumi.getter(name="versionConsistency") def version_consistency(self) -> Optional['TaskDefinitionContainerDefinitionVersionConsistency']: + """ + Specifies whether Amazon ECS will resolve the container image tag provided in the container definition to an image digest. By default, the value is `enabled` . If you set the value for a container as `disabled` , Amazon ECS will not resolve the provided container image tag to a digest and will use the original image URI specified in the container definition for deployment. For more information about container image resolution, see [Container image resolution](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html#deployment-container-image-stability) in the *Amazon ECS Developer Guide* . + """ return pulumi.get(self, "version_consistency") @property diff --git a/sdk/python/pulumi_aws_native/efs/_inputs.py b/sdk/python/pulumi_aws_native/efs/_inputs.py index 7f73aaf6cf..a3f96a83e7 100644 --- a/sdk/python/pulumi_aws_native/efs/_inputs.py +++ b/sdk/python/pulumi_aws_native/efs/_inputs.py @@ -478,6 +478,9 @@ class FileSystemReplicationDestinationArgsDict(TypedDict): The AWS-Region in which the destination file system is located. For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. """ + role_arn: NotRequired[pulumi.Input[str]] + status: NotRequired[pulumi.Input[str]] + status_message: NotRequired[pulumi.Input[str]] elif False: FileSystemReplicationDestinationArgsDict: TypeAlias = Mapping[str, Any] @@ -487,7 +490,10 @@ def __init__(__self__, *, availability_zone_name: Optional[pulumi.Input[str]] = None, file_system_id: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, - region: Optional[pulumi.Input[str]] = None): + region: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + status_message: Optional[pulumi.Input[str]] = None): """ Describes the destination file system in the replication configuration. :param pulumi.Input[str] availability_zone_name: For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. @@ -506,6 +512,12 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_key_id", kms_key_id) if region is not None: pulumi.set(__self__, "region", region) + if role_arn is not None: + pulumi.set(__self__, "role_arn", role_arn) + if status is not None: + pulumi.set(__self__, "status", status) + if status_message is not None: + pulumi.set(__self__, "status_message", status_message) @property @pulumi.getter(name="availabilityZoneName") @@ -558,4 +570,31 @@ def region(self) -> Optional[pulumi.Input[str]]: def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="statusMessage") + def status_message(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "status_message") + + @status_message.setter + def status_message(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status_message", value) + diff --git a/sdk/python/pulumi_aws_native/efs/outputs.py b/sdk/python/pulumi_aws_native/efs/outputs.py index 1cf5550c30..443fbe4de1 100644 --- a/sdk/python/pulumi_aws_native/efs/outputs.py +++ b/sdk/python/pulumi_aws_native/efs/outputs.py @@ -395,6 +395,10 @@ def __key_warning(key: str): suggest = "file_system_id" elif key == "kmsKeyId": suggest = "kms_key_id" + elif key == "roleArn": + suggest = "role_arn" + elif key == "statusMessage": + suggest = "status_message" if suggest: pulumi.log.warn(f"Key '{key}' not found in FileSystemReplicationDestination. Access the value via the '{suggest}' property getter instead.") @@ -411,7 +415,10 @@ def __init__(__self__, *, availability_zone_name: Optional[str] = None, file_system_id: Optional[str] = None, kms_key_id: Optional[str] = None, - region: Optional[str] = None): + region: Optional[str] = None, + role_arn: Optional[str] = None, + status: Optional[str] = None, + status_message: Optional[str] = None): """ Describes the destination file system in the replication configuration. :param str availability_zone_name: For One Zone file systems, the replication configuration must specify the Availability Zone in which the destination file system is located. @@ -430,6 +437,12 @@ def __init__(__self__, *, pulumi.set(__self__, "kms_key_id", kms_key_id) if region is not None: pulumi.set(__self__, "region", region) + if role_arn is not None: + pulumi.set(__self__, "role_arn", role_arn) + if status is not None: + pulumi.set(__self__, "status", status) + if status_message is not None: + pulumi.set(__self__, "status_message", status_message) @property @pulumi.getter(name="availabilityZoneName") @@ -466,4 +479,19 @@ def region(self) -> Optional[str]: """ return pulumi.get(self, "region") + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> Optional[str]: + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusMessage") + def status_message(self) -> Optional[str]: + return pulumi.get(self, "status_message") + diff --git a/sdk/python/pulumi_aws_native/iot/_enums.py b/sdk/python/pulumi_aws_native/iot/_enums.py index 6c846168bc..9329504726 100644 --- a/sdk/python/pulumi_aws_native/iot/_enums.py +++ b/sdk/python/pulumi_aws_native/iot/_enums.py @@ -38,6 +38,7 @@ 'SecurityProfileMetricDimensionOperator', 'SecurityProfileStatisticalThresholdStatistic', 'SoftwarePackageVersionPackageVersionStatus', + 'ThingTypePropagatingAttributeConnectionAttribute', 'TopicRuleCannedAccessControlList', 'TopicRuleDestinationStatus', ] @@ -364,6 +365,11 @@ class SoftwarePackageVersionPackageVersionStatus(str, Enum): DEPRECATED = "DEPRECATED" +class ThingTypePropagatingAttributeConnectionAttribute(str, Enum): + IOT_CLIENT_ID = "iot:ClientId" + IOT_THING_THING_NAME = "iot:Thing.ThingName" + + class TopicRuleCannedAccessControlList(str, Enum): PRIVATE = "private" PUBLIC_READ = "public-read" diff --git a/sdk/python/pulumi_aws_native/iot/_inputs.py b/sdk/python/pulumi_aws_native/iot/_inputs.py index b6b45d7e2b..99c7d4f91e 100644 --- a/sdk/python/pulumi_aws_native/iot/_inputs.py +++ b/sdk/python/pulumi_aws_native/iot/_inputs.py @@ -96,6 +96,10 @@ 'ThingGroupAttributePayloadArgsDict', 'ThingGroupPropertiesPropertiesArgs', 'ThingGroupPropertiesPropertiesArgsDict', + 'ThingTypePropagatingAttributeArgs', + 'ThingTypePropagatingAttributeArgsDict', + 'ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs', + 'ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgsDict', 'ThingTypePropertiesPropertiesArgs', 'ThingTypePropertiesPropertiesArgsDict', 'TimeoutConfigPropertiesArgs', @@ -2803,11 +2807,83 @@ def thing_group_description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "thing_group_description", value) +if not MYPY: + class ThingTypePropagatingAttributeArgsDict(TypedDict): + user_property_key: pulumi.Input[str] + connection_attribute: NotRequired[pulumi.Input['ThingTypePropagatingAttributeConnectionAttribute']] + thing_attribute: NotRequired[pulumi.Input[str]] +elif False: + ThingTypePropagatingAttributeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ThingTypePropagatingAttributeArgs: + def __init__(__self__, *, + user_property_key: pulumi.Input[str], + connection_attribute: Optional[pulumi.Input['ThingTypePropagatingAttributeConnectionAttribute']] = None, + thing_attribute: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "user_property_key", user_property_key) + if connection_attribute is not None: + pulumi.set(__self__, "connection_attribute", connection_attribute) + if thing_attribute is not None: + pulumi.set(__self__, "thing_attribute", thing_attribute) + + @property + @pulumi.getter(name="userPropertyKey") + def user_property_key(self) -> pulumi.Input[str]: + return pulumi.get(self, "user_property_key") + + @user_property_key.setter + def user_property_key(self, value: pulumi.Input[str]): + pulumi.set(self, "user_property_key", value) + + @property + @pulumi.getter(name="connectionAttribute") + def connection_attribute(self) -> Optional[pulumi.Input['ThingTypePropagatingAttributeConnectionAttribute']]: + return pulumi.get(self, "connection_attribute") + + @connection_attribute.setter + def connection_attribute(self, value: Optional[pulumi.Input['ThingTypePropagatingAttributeConnectionAttribute']]): + pulumi.set(self, "connection_attribute", value) + + @property + @pulumi.getter(name="thingAttribute") + def thing_attribute(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "thing_attribute") + + @thing_attribute.setter + def thing_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "thing_attribute", value) + + +if not MYPY: + class ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgsDict(TypedDict): + propagating_attributes: NotRequired[pulumi.Input[Sequence[pulumi.Input['ThingTypePropagatingAttributeArgsDict']]]] +elif False: + ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs: + def __init__(__self__, *, + propagating_attributes: Optional[pulumi.Input[Sequence[pulumi.Input['ThingTypePropagatingAttributeArgs']]]] = None): + if propagating_attributes is not None: + pulumi.set(__self__, "propagating_attributes", propagating_attributes) + + @property + @pulumi.getter(name="propagatingAttributes") + def propagating_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ThingTypePropagatingAttributeArgs']]]]: + return pulumi.get(self, "propagating_attributes") + + @propagating_attributes.setter + def propagating_attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ThingTypePropagatingAttributeArgs']]]]): + pulumi.set(self, "propagating_attributes", value) + + if not MYPY: class ThingTypePropertiesPropertiesArgsDict(TypedDict): """ The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . """ + mqtt5_configuration: NotRequired[pulumi.Input['ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgsDict']] searchable_attributes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] """ A list of searchable thing attribute names. @@ -2822,6 +2898,7 @@ class ThingTypePropertiesPropertiesArgsDict(TypedDict): @pulumi.input_type class ThingTypePropertiesPropertiesArgs: def __init__(__self__, *, + mqtt5_configuration: Optional[pulumi.Input['ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs']] = None, searchable_attributes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, thing_type_description: Optional[pulumi.Input[str]] = None): """ @@ -2829,11 +2906,22 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] searchable_attributes: A list of searchable thing attribute names. :param pulumi.Input[str] thing_type_description: The description of the thing type. """ + if mqtt5_configuration is not None: + pulumi.set(__self__, "mqtt5_configuration", mqtt5_configuration) if searchable_attributes is not None: pulumi.set(__self__, "searchable_attributes", searchable_attributes) if thing_type_description is not None: pulumi.set(__self__, "thing_type_description", thing_type_description) + @property + @pulumi.getter(name="mqtt5Configuration") + def mqtt5_configuration(self) -> Optional[pulumi.Input['ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs']]: + return pulumi.get(self, "mqtt5_configuration") + + @mqtt5_configuration.setter + def mqtt5_configuration(self, value: Optional[pulumi.Input['ThingTypePropertiesPropertiesMqtt5ConfigurationPropertiesArgs']]): + pulumi.set(self, "mqtt5_configuration", value) + @property @pulumi.getter(name="searchableAttributes") def searchable_attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: diff --git a/sdk/python/pulumi_aws_native/iot/get_thing_type.py b/sdk/python/pulumi_aws_native/iot/get_thing_type.py index a92e51c3ad..e83d171c7b 100644 --- a/sdk/python/pulumi_aws_native/iot/get_thing_type.py +++ b/sdk/python/pulumi_aws_native/iot/get_thing_type.py @@ -13,7 +13,9 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs from .. import outputs as _root_outputs +from ._enums import * __all__ = [ 'GetThingTypeResult', @@ -24,7 +26,7 @@ @pulumi.output_type class GetThingTypeResult: - def __init__(__self__, arn=None, deprecate_thing_type=None, id=None, tags=None): + def __init__(__self__, arn=None, deprecate_thing_type=None, id=None, tags=None, thing_type_properties=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -37,6 +39,9 @@ def __init__(__self__, arn=None, deprecate_thing_type=None, id=None, tags=None): if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) + if thing_type_properties and not isinstance(thing_type_properties, dict): + raise TypeError("Expected argument 'thing_type_properties' to be a dict") + pulumi.set(__self__, "thing_type_properties", thing_type_properties) @property @pulumi.getter @@ -72,6 +77,14 @@ def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter(name="thingTypeProperties") + def thing_type_properties(self) -> Optional['outputs.ThingTypePropertiesProperties']: + """ + The thing type properties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names. `ThingTypeProperties` can't be updated after the initial creation of the `ThingType` . + """ + return pulumi.get(self, "thing_type_properties") + class AwaitableGetThingTypeResult(GetThingTypeResult): # pylint: disable=using-constant-test @@ -82,7 +95,8 @@ def __await__(self): arn=self.arn, deprecate_thing_type=self.deprecate_thing_type, id=self.id, - tags=self.tags) + tags=self.tags, + thing_type_properties=self.thing_type_properties) def get_thing_type(thing_type_name: Optional[str] = None, @@ -102,7 +116,8 @@ def get_thing_type(thing_type_name: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), deprecate_thing_type=pulumi.get(__ret__, 'deprecate_thing_type'), id=pulumi.get(__ret__, 'id'), - tags=pulumi.get(__ret__, 'tags')) + tags=pulumi.get(__ret__, 'tags'), + thing_type_properties=pulumi.get(__ret__, 'thing_type_properties')) def get_thing_type_output(thing_type_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetThingTypeResult]: """ @@ -119,4 +134,5 @@ def get_thing_type_output(thing_type_name: Optional[pulumi.Input[str]] = None, arn=pulumi.get(__response__, 'arn'), deprecate_thing_type=pulumi.get(__response__, 'deprecate_thing_type'), id=pulumi.get(__response__, 'id'), - tags=pulumi.get(__response__, 'tags'))) + tags=pulumi.get(__response__, 'tags'), + thing_type_properties=pulumi.get(__response__, 'thing_type_properties'))) diff --git a/sdk/python/pulumi_aws_native/iot/outputs.py b/sdk/python/pulumi_aws_native/iot/outputs.py index d21ebf4645..990ba53bf7 100644 --- a/sdk/python/pulumi_aws_native/iot/outputs.py +++ b/sdk/python/pulumi_aws_native/iot/outputs.py @@ -58,7 +58,9 @@ 'ThingAttributePayload', 'ThingGroupAttributePayload', 'ThingGroupPropertiesProperties', + 'ThingTypePropagatingAttribute', 'ThingTypePropertiesProperties', + 'ThingTypePropertiesPropertiesMqtt5ConfigurationProperties', 'TimeoutConfigProperties', 'TopicRuleAction', 'TopicRuleAssetPropertyTimestamp', @@ -2390,6 +2392,55 @@ def thing_group_description(self) -> Optional[str]: return pulumi.get(self, "thing_group_description") +@pulumi.output_type +class ThingTypePropagatingAttribute(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "userPropertyKey": + suggest = "user_property_key" + elif key == "connectionAttribute": + suggest = "connection_attribute" + elif key == "thingAttribute": + suggest = "thing_attribute" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ThingTypePropagatingAttribute. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ThingTypePropagatingAttribute.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ThingTypePropagatingAttribute.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + user_property_key: str, + connection_attribute: Optional['ThingTypePropagatingAttributeConnectionAttribute'] = None, + thing_attribute: Optional[str] = None): + pulumi.set(__self__, "user_property_key", user_property_key) + if connection_attribute is not None: + pulumi.set(__self__, "connection_attribute", connection_attribute) + if thing_attribute is not None: + pulumi.set(__self__, "thing_attribute", thing_attribute) + + @property + @pulumi.getter(name="userPropertyKey") + def user_property_key(self) -> str: + return pulumi.get(self, "user_property_key") + + @property + @pulumi.getter(name="connectionAttribute") + def connection_attribute(self) -> Optional['ThingTypePropagatingAttributeConnectionAttribute']: + return pulumi.get(self, "connection_attribute") + + @property + @pulumi.getter(name="thingAttribute") + def thing_attribute(self) -> Optional[str]: + return pulumi.get(self, "thing_attribute") + + @pulumi.output_type class ThingTypePropertiesProperties(dict): """ @@ -2398,7 +2449,9 @@ class ThingTypePropertiesProperties(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "searchableAttributes": + if key == "mqtt5Configuration": + suggest = "mqtt5_configuration" + elif key == "searchableAttributes": suggest = "searchable_attributes" elif key == "thingTypeDescription": suggest = "thing_type_description" @@ -2415,6 +2468,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + mqtt5_configuration: Optional['outputs.ThingTypePropertiesPropertiesMqtt5ConfigurationProperties'] = None, searchable_attributes: Optional[Sequence[str]] = None, thing_type_description: Optional[str] = None): """ @@ -2422,11 +2476,18 @@ def __init__(__self__, *, :param Sequence[str] searchable_attributes: A list of searchable thing attribute names. :param str thing_type_description: The description of the thing type. """ + if mqtt5_configuration is not None: + pulumi.set(__self__, "mqtt5_configuration", mqtt5_configuration) if searchable_attributes is not None: pulumi.set(__self__, "searchable_attributes", searchable_attributes) if thing_type_description is not None: pulumi.set(__self__, "thing_type_description", thing_type_description) + @property + @pulumi.getter(name="mqtt5Configuration") + def mqtt5_configuration(self) -> Optional['outputs.ThingTypePropertiesPropertiesMqtt5ConfigurationProperties']: + return pulumi.get(self, "mqtt5_configuration") + @property @pulumi.getter(name="searchableAttributes") def searchable_attributes(self) -> Optional[Sequence[str]]: @@ -2444,6 +2505,36 @@ def thing_type_description(self) -> Optional[str]: return pulumi.get(self, "thing_type_description") +@pulumi.output_type +class ThingTypePropertiesPropertiesMqtt5ConfigurationProperties(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "propagatingAttributes": + suggest = "propagating_attributes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ThingTypePropertiesPropertiesMqtt5ConfigurationProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ThingTypePropertiesPropertiesMqtt5ConfigurationProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ThingTypePropertiesPropertiesMqtt5ConfigurationProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + propagating_attributes: Optional[Sequence['outputs.ThingTypePropagatingAttribute']] = None): + if propagating_attributes is not None: + pulumi.set(__self__, "propagating_attributes", propagating_attributes) + + @property + @pulumi.getter(name="propagatingAttributes") + def propagating_attributes(self) -> Optional[Sequence['outputs.ThingTypePropagatingAttribute']]: + return pulumi.get(self, "propagating_attributes") + + @pulumi.output_type class TimeoutConfigProperties(dict): """ diff --git a/sdk/python/pulumi_aws_native/iot/thing_type.py b/sdk/python/pulumi_aws_native/iot/thing_type.py index b0f40f99b7..1d47fe2870 100644 --- a/sdk/python/pulumi_aws_native/iot/thing_type.py +++ b/sdk/python/pulumi_aws_native/iot/thing_type.py @@ -16,6 +16,7 @@ from . import outputs from .. import _inputs as _root_inputs from .. import outputs as _root_outputs +from ._enums import * from ._inputs import * __all__ = ['ThingTypeArgs', 'ThingType'] @@ -161,7 +162,7 @@ def _internal_init(__self__, __props__.__dict__["thing_type_properties"] = thing_type_properties __props__.__dict__["arn"] = None __props__.__dict__["aws_id"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["thingTypeName", "thingTypeProperties"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["thingTypeName"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(ThingType, __self__).__init__( 'aws-native:iot:ThingType', diff --git a/sdk/python/pulumi_aws_native/iotsitewise/_enums.py b/sdk/python/pulumi_aws_native/iotsitewise/_enums.py index 1a06761e81..63c52b9c61 100644 --- a/sdk/python/pulumi_aws_native/iotsitewise/_enums.py +++ b/sdk/python/pulumi_aws_native/iotsitewise/_enums.py @@ -9,6 +9,7 @@ 'AssetModelDataTypeSpec', 'AssetModelTypeName', 'AssetPropertyNotificationState', + 'PortalType', ] @@ -37,3 +38,11 @@ class AssetPropertyNotificationState(str, Enum): """ ENABLED = "ENABLED" DISABLED = "DISABLED" + + +class PortalType(str, Enum): + """ + The type of portal + """ + SITEWISE_PORTAL_V1 = "SITEWISE_PORTAL_V1" + SITEWISE_PORTAL_V2 = "SITEWISE_PORTAL_V2" diff --git a/sdk/python/pulumi_aws_native/iotsitewise/_inputs.py b/sdk/python/pulumi_aws_native/iotsitewise/_inputs.py index 2153cbed7c..3188a6f757 100644 --- a/sdk/python/pulumi_aws_native/iotsitewise/_inputs.py +++ b/sdk/python/pulumi_aws_native/iotsitewise/_inputs.py @@ -70,6 +70,8 @@ 'GatewayPlatformArgsDict', 'GatewaySiemensIeArgs', 'GatewaySiemensIeArgsDict', + 'PortalTypeEntryArgs', + 'PortalTypeEntryArgsDict', ] MYPY = False @@ -2048,3 +2050,31 @@ def iot_core_thing_name(self, value: pulumi.Input[str]): pulumi.set(self, "iot_core_thing_name", value) +if not MYPY: + class PortalTypeEntryArgsDict(TypedDict): + """ + Container associated a certain PortalType. + """ + portal_tools: pulumi.Input[Sequence[pulumi.Input[str]]] +elif False: + PortalTypeEntryArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class PortalTypeEntryArgs: + def __init__(__self__, *, + portal_tools: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + Container associated a certain PortalType. + """ + pulumi.set(__self__, "portal_tools", portal_tools) + + @property + @pulumi.getter(name="portalTools") + def portal_tools(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "portal_tools") + + @portal_tools.setter + def portal_tools(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "portal_tools", value) + + diff --git a/sdk/python/pulumi_aws_native/iotsitewise/get_portal.py b/sdk/python/pulumi_aws_native/iotsitewise/get_portal.py index f1d7118b94..e04fe6ad90 100644 --- a/sdk/python/pulumi_aws_native/iotsitewise/get_portal.py +++ b/sdk/python/pulumi_aws_native/iotsitewise/get_portal.py @@ -25,7 +25,7 @@ @pulumi.output_type class GetPortalResult: - def __init__(__self__, alarms=None, notification_sender_email=None, portal_arn=None, portal_client_id=None, portal_contact_email=None, portal_description=None, portal_id=None, portal_name=None, portal_start_url=None, role_arn=None, tags=None): + def __init__(__self__, alarms=None, notification_sender_email=None, portal_arn=None, portal_client_id=None, portal_contact_email=None, portal_description=None, portal_id=None, portal_name=None, portal_start_url=None, portal_type_configuration=None, role_arn=None, tags=None): if alarms and not isinstance(alarms, dict): raise TypeError("Expected argument 'alarms' to be a dict") pulumi.set(__self__, "alarms", alarms) @@ -53,6 +53,9 @@ def __init__(__self__, alarms=None, notification_sender_email=None, portal_arn=N if portal_start_url and not isinstance(portal_start_url, str): raise TypeError("Expected argument 'portal_start_url' to be a str") pulumi.set(__self__, "portal_start_url", portal_start_url) + if portal_type_configuration and not isinstance(portal_type_configuration, dict): + raise TypeError("Expected argument 'portal_type_configuration' to be a dict") + pulumi.set(__self__, "portal_type_configuration", portal_type_configuration) if role_arn and not isinstance(role_arn, str): raise TypeError("Expected argument 'role_arn' to be a str") pulumi.set(__self__, "role_arn", role_arn) @@ -132,6 +135,11 @@ def portal_start_url(self) -> Optional[str]: """ return pulumi.get(self, "portal_start_url") + @property + @pulumi.getter(name="portalTypeConfiguration") + def portal_type_configuration(self) -> Optional[Mapping[str, 'outputs.PortalTypeEntry']]: + return pulumi.get(self, "portal_type_configuration") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: @@ -164,6 +172,7 @@ def __await__(self): portal_id=self.portal_id, portal_name=self.portal_name, portal_start_url=self.portal_start_url, + portal_type_configuration=self.portal_type_configuration, role_arn=self.role_arn, tags=self.tags) @@ -191,6 +200,7 @@ def get_portal(portal_id: Optional[str] = None, portal_id=pulumi.get(__ret__, 'portal_id'), portal_name=pulumi.get(__ret__, 'portal_name'), portal_start_url=pulumi.get(__ret__, 'portal_start_url'), + portal_type_configuration=pulumi.get(__ret__, 'portal_type_configuration'), role_arn=pulumi.get(__ret__, 'role_arn'), tags=pulumi.get(__ret__, 'tags')) def get_portal_output(portal_id: Optional[pulumi.Input[str]] = None, @@ -215,5 +225,6 @@ def get_portal_output(portal_id: Optional[pulumi.Input[str]] = None, portal_id=pulumi.get(__response__, 'portal_id'), portal_name=pulumi.get(__response__, 'portal_name'), portal_start_url=pulumi.get(__response__, 'portal_start_url'), + portal_type_configuration=pulumi.get(__response__, 'portal_type_configuration'), role_arn=pulumi.get(__response__, 'role_arn'), tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/iotsitewise/outputs.py b/sdk/python/pulumi_aws_native/iotsitewise/outputs.py index 64c01792b6..f60d19400d 100644 --- a/sdk/python/pulumi_aws_native/iotsitewise/outputs.py +++ b/sdk/python/pulumi_aws_native/iotsitewise/outputs.py @@ -44,6 +44,7 @@ 'GatewayGreengrassV2', 'GatewayPlatform', 'GatewaySiemensIe', + 'PortalTypeEntry', ] @pulumi.output_type @@ -1556,3 +1557,38 @@ def iot_core_thing_name(self) -> str: return pulumi.get(self, "iot_core_thing_name") +@pulumi.output_type +class PortalTypeEntry(dict): + """ + Container associated a certain PortalType. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "portalTools": + suggest = "portal_tools" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PortalTypeEntry. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PortalTypeEntry.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PortalTypeEntry.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + portal_tools: Sequence[str]): + """ + Container associated a certain PortalType. + """ + pulumi.set(__self__, "portal_tools", portal_tools) + + @property + @pulumi.getter(name="portalTools") + def portal_tools(self) -> Sequence[str]: + return pulumi.get(self, "portal_tools") + + diff --git a/sdk/python/pulumi_aws_native/iotsitewise/portal.py b/sdk/python/pulumi_aws_native/iotsitewise/portal.py index a58b59f48d..23b37a29be 100644 --- a/sdk/python/pulumi_aws_native/iotsitewise/portal.py +++ b/sdk/python/pulumi_aws_native/iotsitewise/portal.py @@ -16,6 +16,7 @@ from . import outputs from .. import _inputs as _root_inputs from .. import outputs as _root_outputs +from ._enums import * from ._inputs import * __all__ = ['PortalArgs', 'Portal'] @@ -30,6 +31,8 @@ def __init__(__self__, *, portal_auth_mode: Optional[pulumi.Input[str]] = None, portal_description: Optional[pulumi.Input[str]] = None, portal_name: Optional[pulumi.Input[str]] = None, + portal_type: Optional[pulumi.Input['PortalType']] = None, + portal_type_configuration: Optional[pulumi.Input[Mapping[str, pulumi.Input['PortalTypeEntryArgs']]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): """ The set of arguments for constructing a Portal resource. @@ -40,6 +43,7 @@ def __init__(__self__, *, :param pulumi.Input[str] portal_auth_mode: The service to use to authenticate users to the portal. Choose from SSO or IAM. You can't change this value after you create a portal. :param pulumi.Input[str] portal_description: A description for the portal. :param pulumi.Input[str] portal_name: A friendly name for the portal. + :param pulumi.Input['PortalType'] portal_type: The type of portal :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]] tags: A list of key-value pairs that contain metadata for the portal. """ pulumi.set(__self__, "portal_contact_email", portal_contact_email) @@ -54,6 +58,10 @@ def __init__(__self__, *, pulumi.set(__self__, "portal_description", portal_description) if portal_name is not None: pulumi.set(__self__, "portal_name", portal_name) + if portal_type is not None: + pulumi.set(__self__, "portal_type", portal_type) + if portal_type_configuration is not None: + pulumi.set(__self__, "portal_type_configuration", portal_type_configuration) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -141,6 +149,27 @@ def portal_name(self) -> Optional[pulumi.Input[str]]: def portal_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "portal_name", value) + @property + @pulumi.getter(name="portalType") + def portal_type(self) -> Optional[pulumi.Input['PortalType']]: + """ + The type of portal + """ + return pulumi.get(self, "portal_type") + + @portal_type.setter + def portal_type(self, value: Optional[pulumi.Input['PortalType']]): + pulumi.set(self, "portal_type", value) + + @property + @pulumi.getter(name="portalTypeConfiguration") + def portal_type_configuration(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PortalTypeEntryArgs']]]]: + return pulumi.get(self, "portal_type_configuration") + + @portal_type_configuration.setter + def portal_type_configuration(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PortalTypeEntryArgs']]]]): + pulumi.set(self, "portal_type_configuration", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: @@ -165,6 +194,8 @@ def __init__(__self__, portal_contact_email: Optional[pulumi.Input[str]] = None, portal_description: Optional[pulumi.Input[str]] = None, portal_name: Optional[pulumi.Input[str]] = None, + portal_type: Optional[pulumi.Input['PortalType']] = None, + portal_type_configuration: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['PortalTypeEntryArgs', 'PortalTypeEntryArgsDict']]]]] = None, role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): @@ -179,6 +210,7 @@ def __init__(__self__, :param pulumi.Input[str] portal_contact_email: The AWS administrator's contact email address. :param pulumi.Input[str] portal_description: A description for the portal. :param pulumi.Input[str] portal_name: A friendly name for the portal. + :param pulumi.Input['PortalType'] portal_type: The type of portal :param pulumi.Input[str] role_arn: The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]] tags: A list of key-value pairs that contain metadata for the portal. """ @@ -212,6 +244,8 @@ def _internal_init(__self__, portal_contact_email: Optional[pulumi.Input[str]] = None, portal_description: Optional[pulumi.Input[str]] = None, portal_name: Optional[pulumi.Input[str]] = None, + portal_type: Optional[pulumi.Input['PortalType']] = None, + portal_type_configuration: Optional[pulumi.Input[Mapping[str, pulumi.Input[Union['PortalTypeEntryArgs', 'PortalTypeEntryArgsDict']]]]] = None, role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, __props__=None): @@ -231,6 +265,8 @@ def _internal_init(__self__, __props__.__dict__["portal_contact_email"] = portal_contact_email __props__.__dict__["portal_description"] = portal_description __props__.__dict__["portal_name"] = portal_name + __props__.__dict__["portal_type"] = portal_type + __props__.__dict__["portal_type_configuration"] = portal_type_configuration if role_arn is None and not opts.urn: raise TypeError("Missing required property 'role_arn'") __props__.__dict__["role_arn"] = role_arn @@ -239,7 +275,7 @@ def _internal_init(__self__, __props__.__dict__["portal_client_id"] = None __props__.__dict__["portal_id"] = None __props__.__dict__["portal_start_url"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["portalAuthMode"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["portalAuthMode", "portalType"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Portal, __self__).__init__( 'aws-native:iotsitewise:Portal', @@ -273,6 +309,8 @@ def get(resource_name: str, __props__.__dict__["portal_id"] = None __props__.__dict__["portal_name"] = None __props__.__dict__["portal_start_url"] = None + __props__.__dict__["portal_type"] = None + __props__.__dict__["portal_type_configuration"] = None __props__.__dict__["role_arn"] = None __props__.__dict__["tags"] = None return Portal(resource_name, opts=opts, __props__=__props__) @@ -357,6 +395,19 @@ def portal_start_url(self) -> pulumi.Output[str]: """ return pulumi.get(self, "portal_start_url") + @property + @pulumi.getter(name="portalType") + def portal_type(self) -> pulumi.Output[Optional['PortalType']]: + """ + The type of portal + """ + return pulumi.get(self, "portal_type") + + @property + @pulumi.getter(name="portalTypeConfiguration") + def portal_type_configuration(self) -> pulumi.Output[Optional[Mapping[str, 'outputs.PortalTypeEntry']]]: + return pulumi.get(self, "portal_type_configuration") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/lambda_/_enums.py b/sdk/python/pulumi_aws_native/lambda_/_enums.py index 042a4423b3..6eabd2e342 100644 --- a/sdk/python/pulumi_aws_native/lambda_/_enums.py +++ b/sdk/python/pulumi_aws_native/lambda_/_enums.py @@ -8,6 +8,7 @@ 'CodeSigningConfigCodeSigningPoliciesUntrustedArtifactOnDeployment', 'EventSourceMappingDocumentDbEventSourceConfigFullDocument', 'EventSourceMappingFunctionResponseTypesItem', + 'EventSourceMappingMetricsConfigMetricsItem', 'EventSourceMappingSourceAccessConfigurationType', 'FunctionArchitecturesItem', 'FunctionLoggingConfigApplicationLogLevel', @@ -47,6 +48,10 @@ class EventSourceMappingFunctionResponseTypesItem(str, Enum): REPORT_BATCH_ITEM_FAILURES = "ReportBatchItemFailures" +class EventSourceMappingMetricsConfigMetricsItem(str, Enum): + EVENT_COUNT = "EventCount" + + class EventSourceMappingSourceAccessConfigurationType(str, Enum): """ The type of authentication protocol, VPC components, or virtual host for your event source. For example: ``"Type":"SASL_SCRAM_512_AUTH"``. diff --git a/sdk/python/pulumi_aws_native/lambda_/_inputs.py b/sdk/python/pulumi_aws_native/lambda_/_inputs.py index 2fd03a1e0c..487d9f85dc 100644 --- a/sdk/python/pulumi_aws_native/lambda_/_inputs.py +++ b/sdk/python/pulumi_aws_native/lambda_/_inputs.py @@ -44,8 +44,12 @@ 'EventSourceMappingFilterCriteriaArgsDict', 'EventSourceMappingFilterArgs', 'EventSourceMappingFilterArgsDict', + 'EventSourceMappingMetricsConfigArgs', + 'EventSourceMappingMetricsConfigArgsDict', 'EventSourceMappingOnFailureArgs', 'EventSourceMappingOnFailureArgsDict', + 'EventSourceMappingProvisionedPollerConfigArgs', + 'EventSourceMappingProvisionedPollerConfigArgsDict', 'EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict', 'EventSourceMappingSelfManagedEventSourceArgs', @@ -665,6 +669,38 @@ def pattern(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "pattern", value) +if not MYPY: + class EventSourceMappingMetricsConfigArgsDict(TypedDict): + metrics: NotRequired[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]] + """ + Metric groups to enable. + """ +elif False: + EventSourceMappingMetricsConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EventSourceMappingMetricsConfigArgs: + def __init__(__self__, *, + metrics: Optional[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]] metrics: Metric groups to enable. + """ + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + + @property + @pulumi.getter + def metrics(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]]: + """ + Metric groups to enable. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EventSourceMappingMetricsConfigMetricsItem']]]]): + pulumi.set(self, "metrics", value) + + if not MYPY: class EventSourceMappingOnFailureArgsDict(TypedDict): """ @@ -710,6 +746,58 @@ def destination(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "destination", value) +if not MYPY: + class EventSourceMappingProvisionedPollerConfigArgsDict(TypedDict): + maximum_pollers: NotRequired[pulumi.Input[int]] + """ + The maximum number of event pollers this event source can scale up to. + """ + minimum_pollers: NotRequired[pulumi.Input[int]] + """ + The minimum number of event pollers this event source can scale down to. + """ +elif False: + EventSourceMappingProvisionedPollerConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class EventSourceMappingProvisionedPollerConfigArgs: + def __init__(__self__, *, + maximum_pollers: Optional[pulumi.Input[int]] = None, + minimum_pollers: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[int] maximum_pollers: The maximum number of event pollers this event source can scale up to. + :param pulumi.Input[int] minimum_pollers: The minimum number of event pollers this event source can scale down to. + """ + if maximum_pollers is not None: + pulumi.set(__self__, "maximum_pollers", maximum_pollers) + if minimum_pollers is not None: + pulumi.set(__self__, "minimum_pollers", minimum_pollers) + + @property + @pulumi.getter(name="maximumPollers") + def maximum_pollers(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of event pollers this event source can scale up to. + """ + return pulumi.get(self, "maximum_pollers") + + @maximum_pollers.setter + def maximum_pollers(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "maximum_pollers", value) + + @property + @pulumi.getter(name="minimumPollers") + def minimum_pollers(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of event pollers this event source can scale down to. + """ + return pulumi.get(self, "minimum_pollers") + + @minimum_pollers.setter + def minimum_pollers(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "minimum_pollers", value) + + if not MYPY: class EventSourceMappingScalingConfigArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py b/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py index 51096f4edc..2dd6ae4b99 100644 --- a/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py +++ b/sdk/python/pulumi_aws_native/lambda_/event_source_mapping.py @@ -38,7 +38,9 @@ def __init__(__self__, *, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']] = None, queues: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, scaling_config: Optional[pulumi.Input['EventSourceMappingScalingConfigArgs']] = None, self_managed_event_source: Optional[pulumi.Input['EventSourceMappingSelfManagedEventSourceArgs']] = None, @@ -134,8 +136,12 @@ def __init__(__self__, *, pulumi.set(__self__, "maximum_record_age_in_seconds", maximum_record_age_in_seconds) if maximum_retry_attempts is not None: pulumi.set(__self__, "maximum_retry_attempts", maximum_retry_attempts) + if metrics_config is not None: + pulumi.set(__self__, "metrics_config", metrics_config) if parallelization_factor is not None: pulumi.set(__self__, "parallelization_factor", parallelization_factor) + if provisioned_poller_config is not None: + pulumi.set(__self__, "provisioned_poller_config", provisioned_poller_config) if queues is not None: pulumi.set(__self__, "queues", queues) if scaling_config is not None: @@ -351,6 +357,15 @@ def maximum_retry_attempts(self) -> Optional[pulumi.Input[int]]: def maximum_retry_attempts(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "maximum_retry_attempts", value) + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]: + return pulumi.get(self, "metrics_config") + + @metrics_config.setter + def metrics_config(self, value: Optional[pulumi.Input['EventSourceMappingMetricsConfigArgs']]): + pulumi.set(self, "metrics_config", value) + @property @pulumi.getter(name="parallelizationFactor") def parallelization_factor(self) -> Optional[pulumi.Input[int]]: @@ -363,6 +378,15 @@ def parallelization_factor(self) -> Optional[pulumi.Input[int]]: def parallelization_factor(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "parallelization_factor", value) + @property + @pulumi.getter(name="provisionedPollerConfig") + def provisioned_poller_config(self) -> Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]: + return pulumi.get(self, "provisioned_poller_config") + + @provisioned_poller_config.setter + def provisioned_poller_config(self, value: Optional[pulumi.Input['EventSourceMappingProvisionedPollerConfigArgs']]): + pulumi.set(self, "provisioned_poller_config", value) + @property @pulumi.getter def queues(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -507,7 +531,9 @@ def __init__(__self__, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']]] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']]] = None, queues: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, scaling_config: Optional[pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']]] = None, self_managed_event_source: Optional[pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']]] = None, @@ -634,7 +660,9 @@ def _internal_init(__self__, maximum_batching_window_in_seconds: Optional[pulumi.Input[int]] = None, maximum_record_age_in_seconds: Optional[pulumi.Input[int]] = None, maximum_retry_attempts: Optional[pulumi.Input[int]] = None, + metrics_config: Optional[pulumi.Input[Union['EventSourceMappingMetricsConfigArgs', 'EventSourceMappingMetricsConfigArgsDict']]] = None, parallelization_factor: Optional[pulumi.Input[int]] = None, + provisioned_poller_config: Optional[pulumi.Input[Union['EventSourceMappingProvisionedPollerConfigArgs', 'EventSourceMappingProvisionedPollerConfigArgsDict']]] = None, queues: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, scaling_config: Optional[pulumi.Input[Union['EventSourceMappingScalingConfigArgs', 'EventSourceMappingScalingConfigArgsDict']]] = None, self_managed_event_source: Optional[pulumi.Input[Union['EventSourceMappingSelfManagedEventSourceArgs', 'EventSourceMappingSelfManagedEventSourceArgsDict']]] = None, @@ -670,7 +698,9 @@ def _internal_init(__self__, __props__.__dict__["maximum_batching_window_in_seconds"] = maximum_batching_window_in_seconds __props__.__dict__["maximum_record_age_in_seconds"] = maximum_record_age_in_seconds __props__.__dict__["maximum_retry_attempts"] = maximum_retry_attempts + __props__.__dict__["metrics_config"] = metrics_config __props__.__dict__["parallelization_factor"] = parallelization_factor + __props__.__dict__["provisioned_poller_config"] = provisioned_poller_config __props__.__dict__["queues"] = queues __props__.__dict__["scaling_config"] = scaling_config __props__.__dict__["self_managed_event_source"] = self_managed_event_source @@ -723,7 +753,9 @@ def get(resource_name: str, __props__.__dict__["maximum_batching_window_in_seconds"] = None __props__.__dict__["maximum_record_age_in_seconds"] = None __props__.__dict__["maximum_retry_attempts"] = None + __props__.__dict__["metrics_config"] = None __props__.__dict__["parallelization_factor"] = None + __props__.__dict__["provisioned_poller_config"] = None __props__.__dict__["queues"] = None __props__.__dict__["scaling_config"] = None __props__.__dict__["self_managed_event_source"] = None @@ -890,6 +922,11 @@ def maximum_retry_attempts(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "maximum_retry_attempts") + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> pulumi.Output[Optional['outputs.EventSourceMappingMetricsConfig']]: + return pulumi.get(self, "metrics_config") + @property @pulumi.getter(name="parallelizationFactor") def parallelization_factor(self) -> pulumi.Output[Optional[int]]: @@ -898,6 +935,11 @@ def parallelization_factor(self) -> pulumi.Output[Optional[int]]: """ return pulumi.get(self, "parallelization_factor") + @property + @pulumi.getter(name="provisionedPollerConfig") + def provisioned_poller_config(self) -> pulumi.Output[Optional['outputs.EventSourceMappingProvisionedPollerConfig']]: + return pulumi.get(self, "provisioned_poller_config") + @property @pulumi.getter def queues(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py b/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py index a1958a6982..2eef52b886 100644 --- a/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py +++ b/sdk/python/pulumi_aws_native/lambda_/get_event_source_mapping.py @@ -26,7 +26,7 @@ @pulumi.output_type class GetEventSourceMappingResult: - def __init__(__self__, batch_size=None, bisect_batch_on_function_error=None, destination_config=None, document_db_event_source_config=None, enabled=None, event_source_mapping_arn=None, filter_criteria=None, function_name=None, function_response_types=None, id=None, kms_key_arn=None, maximum_batching_window_in_seconds=None, maximum_record_age_in_seconds=None, maximum_retry_attempts=None, parallelization_factor=None, queues=None, scaling_config=None, source_access_configurations=None, tags=None, topics=None, tumbling_window_in_seconds=None): + def __init__(__self__, batch_size=None, bisect_batch_on_function_error=None, destination_config=None, document_db_event_source_config=None, enabled=None, event_source_mapping_arn=None, filter_criteria=None, function_name=None, function_response_types=None, id=None, kms_key_arn=None, maximum_batching_window_in_seconds=None, maximum_record_age_in_seconds=None, maximum_retry_attempts=None, metrics_config=None, parallelization_factor=None, provisioned_poller_config=None, queues=None, scaling_config=None, source_access_configurations=None, tags=None, topics=None, tumbling_window_in_seconds=None): if batch_size and not isinstance(batch_size, int): raise TypeError("Expected argument 'batch_size' to be a int") pulumi.set(__self__, "batch_size", batch_size) @@ -69,9 +69,15 @@ def __init__(__self__, batch_size=None, bisect_batch_on_function_error=None, des if maximum_retry_attempts and not isinstance(maximum_retry_attempts, int): raise TypeError("Expected argument 'maximum_retry_attempts' to be a int") pulumi.set(__self__, "maximum_retry_attempts", maximum_retry_attempts) + if metrics_config and not isinstance(metrics_config, dict): + raise TypeError("Expected argument 'metrics_config' to be a dict") + pulumi.set(__self__, "metrics_config", metrics_config) if parallelization_factor and not isinstance(parallelization_factor, int): raise TypeError("Expected argument 'parallelization_factor' to be a int") pulumi.set(__self__, "parallelization_factor", parallelization_factor) + if provisioned_poller_config and not isinstance(provisioned_poller_config, dict): + raise TypeError("Expected argument 'provisioned_poller_config' to be a dict") + pulumi.set(__self__, "provisioned_poller_config", provisioned_poller_config) if queues and not isinstance(queues, list): raise TypeError("Expected argument 'queues' to be a list") pulumi.set(__self__, "queues", queues) @@ -223,6 +229,11 @@ def maximum_retry_attempts(self) -> Optional[int]: """ return pulumi.get(self, "maximum_retry_attempts") + @property + @pulumi.getter(name="metricsConfig") + def metrics_config(self) -> Optional['outputs.EventSourceMappingMetricsConfig']: + return pulumi.get(self, "metrics_config") + @property @pulumi.getter(name="parallelizationFactor") def parallelization_factor(self) -> Optional[int]: @@ -231,6 +242,11 @@ def parallelization_factor(self) -> Optional[int]: """ return pulumi.get(self, "parallelization_factor") + @property + @pulumi.getter(name="provisionedPollerConfig") + def provisioned_poller_config(self) -> Optional['outputs.EventSourceMappingProvisionedPollerConfig']: + return pulumi.get(self, "provisioned_poller_config") + @property @pulumi.getter def queues(self) -> Optional[Sequence[str]]: @@ -301,7 +317,9 @@ def __await__(self): maximum_batching_window_in_seconds=self.maximum_batching_window_in_seconds, maximum_record_age_in_seconds=self.maximum_record_age_in_seconds, maximum_retry_attempts=self.maximum_retry_attempts, + metrics_config=self.metrics_config, parallelization_factor=self.parallelization_factor, + provisioned_poller_config=self.provisioned_poller_config, queues=self.queues, scaling_config=self.scaling_config, source_access_configurations=self.source_access_configurations, @@ -346,7 +364,9 @@ def get_event_source_mapping(id: Optional[str] = None, maximum_batching_window_in_seconds=pulumi.get(__ret__, 'maximum_batching_window_in_seconds'), maximum_record_age_in_seconds=pulumi.get(__ret__, 'maximum_record_age_in_seconds'), maximum_retry_attempts=pulumi.get(__ret__, 'maximum_retry_attempts'), + metrics_config=pulumi.get(__ret__, 'metrics_config'), parallelization_factor=pulumi.get(__ret__, 'parallelization_factor'), + provisioned_poller_config=pulumi.get(__ret__, 'provisioned_poller_config'), queues=pulumi.get(__ret__, 'queues'), scaling_config=pulumi.get(__ret__, 'scaling_config'), source_access_configurations=pulumi.get(__ret__, 'source_access_configurations'), @@ -388,7 +408,9 @@ def get_event_source_mapping_output(id: Optional[pulumi.Input[str]] = None, maximum_batching_window_in_seconds=pulumi.get(__response__, 'maximum_batching_window_in_seconds'), maximum_record_age_in_seconds=pulumi.get(__response__, 'maximum_record_age_in_seconds'), maximum_retry_attempts=pulumi.get(__response__, 'maximum_retry_attempts'), + metrics_config=pulumi.get(__response__, 'metrics_config'), parallelization_factor=pulumi.get(__response__, 'parallelization_factor'), + provisioned_poller_config=pulumi.get(__response__, 'provisioned_poller_config'), queues=pulumi.get(__response__, 'queues'), scaling_config=pulumi.get(__response__, 'scaling_config'), source_access_configurations=pulumi.get(__response__, 'source_access_configurations'), diff --git a/sdk/python/pulumi_aws_native/lambda_/outputs.py b/sdk/python/pulumi_aws_native/lambda_/outputs.py index a493853b81..90b3b6063f 100644 --- a/sdk/python/pulumi_aws_native/lambda_/outputs.py +++ b/sdk/python/pulumi_aws_native/lambda_/outputs.py @@ -31,7 +31,9 @@ 'EventSourceMappingEndpoints', 'EventSourceMappingFilter', 'EventSourceMappingFilterCriteria', + 'EventSourceMappingMetricsConfig', 'EventSourceMappingOnFailure', + 'EventSourceMappingProvisionedPollerConfig', 'EventSourceMappingScalingConfig', 'EventSourceMappingSelfManagedEventSource', 'EventSourceMappingSelfManagedKafkaEventSourceConfig', @@ -595,6 +597,25 @@ def filters(self) -> Optional[Sequence['outputs.EventSourceMappingFilter']]: return pulumi.get(self, "filters") +@pulumi.output_type +class EventSourceMappingMetricsConfig(dict): + def __init__(__self__, *, + metrics: Optional[Sequence['EventSourceMappingMetricsConfigMetricsItem']] = None): + """ + :param Sequence['EventSourceMappingMetricsConfigMetricsItem'] metrics: Metric groups to enable. + """ + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + + @property + @pulumi.getter + def metrics(self) -> Optional[Sequence['EventSourceMappingMetricsConfigMetricsItem']]: + """ + Metric groups to enable. + """ + return pulumi.get(self, "metrics") + + @pulumi.output_type class EventSourceMappingOnFailure(dict): """ @@ -624,6 +645,56 @@ def destination(self) -> Optional[str]: return pulumi.get(self, "destination") +@pulumi.output_type +class EventSourceMappingProvisionedPollerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maximumPollers": + suggest = "maximum_pollers" + elif key == "minimumPollers": + suggest = "minimum_pollers" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in EventSourceMappingProvisionedPollerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + EventSourceMappingProvisionedPollerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + EventSourceMappingProvisionedPollerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + maximum_pollers: Optional[int] = None, + minimum_pollers: Optional[int] = None): + """ + :param int maximum_pollers: The maximum number of event pollers this event source can scale up to. + :param int minimum_pollers: The minimum number of event pollers this event source can scale down to. + """ + if maximum_pollers is not None: + pulumi.set(__self__, "maximum_pollers", maximum_pollers) + if minimum_pollers is not None: + pulumi.set(__self__, "minimum_pollers", minimum_pollers) + + @property + @pulumi.getter(name="maximumPollers") + def maximum_pollers(self) -> Optional[int]: + """ + The maximum number of event pollers this event source can scale up to. + """ + return pulumi.get(self, "maximum_pollers") + + @property + @pulumi.getter(name="minimumPollers") + def minimum_pollers(self) -> Optional[int]: + """ + The minimum number of event pollers this event source can scale down to. + """ + return pulumi.get(self, "minimum_pollers") + + @pulumi.output_type class EventSourceMappingScalingConfig(dict): """ diff --git a/sdk/python/pulumi_aws_native/m2/__init__.py b/sdk/python/pulumi_aws_native/m2/__init__.py index 5c0d64d392..a9a24091a1 100644 --- a/sdk/python/pulumi_aws_native/m2/__init__.py +++ b/sdk/python/pulumi_aws_native/m2/__init__.py @@ -7,8 +7,10 @@ # Export this package's modules as members: from ._enums import * from .application import * +from .deployment import * from .environment import * from .get_application import * +from .get_deployment import * from .get_environment import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/m2/deployment.py b/sdk/python/pulumi_aws_native/m2/deployment.py new file mode 100644 index 0000000000..5b30c9c8ba --- /dev/null +++ b/sdk/python/pulumi_aws_native/m2/deployment.py @@ -0,0 +1,207 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = ['DeploymentArgs', 'Deployment'] + +@pulumi.input_type +class DeploymentArgs: + def __init__(__self__, *, + application_id: pulumi.Input[str], + application_version: pulumi.Input[int], + environment_id: pulumi.Input[str]): + """ + The set of arguments for constructing a Deployment resource. + :param pulumi.Input[str] application_id: The application ID. + :param pulumi.Input[int] application_version: The version number of the application to deploy + :param pulumi.Input[str] environment_id: The environment ID. + """ + pulumi.set(__self__, "application_id", application_id) + pulumi.set(__self__, "application_version", application_version) + pulumi.set(__self__, "environment_id", environment_id) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Input[str]: + """ + The application ID. + """ + return pulumi.get(self, "application_id") + + @application_id.setter + def application_id(self, value: pulumi.Input[str]): + pulumi.set(self, "application_id", value) + + @property + @pulumi.getter(name="applicationVersion") + def application_version(self) -> pulumi.Input[int]: + """ + The version number of the application to deploy + """ + return pulumi.get(self, "application_version") + + @application_version.setter + def application_version(self, value: pulumi.Input[int]): + pulumi.set(self, "application_version", value) + + @property + @pulumi.getter(name="environmentId") + def environment_id(self) -> pulumi.Input[str]: + """ + The environment ID. + """ + return pulumi.get(self, "environment_id") + + @environment_id.setter + def environment_id(self, value: pulumi.Input[str]): + pulumi.set(self, "environment_id", value) + + +class Deployment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + application_id: Optional[pulumi.Input[str]] = None, + application_version: Optional[pulumi.Input[int]] = None, + environment_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] application_id: The application ID. + :param pulumi.Input[int] application_version: The version number of the application to deploy + :param pulumi.Input[str] environment_id: The environment ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DeploymentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + + :param str resource_name: The name of the resource. + :param DeploymentArgs 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(DeploymentArgs, 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, + application_id: Optional[pulumi.Input[str]] = None, + application_version: Optional[pulumi.Input[int]] = None, + environment_id: 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__ = DeploymentArgs.__new__(DeploymentArgs) + + if application_id is None and not opts.urn: + raise TypeError("Missing required property 'application_id'") + __props__.__dict__["application_id"] = application_id + if application_version is None and not opts.urn: + raise TypeError("Missing required property 'application_version'") + __props__.__dict__["application_version"] = application_version + if environment_id is None and not opts.urn: + raise TypeError("Missing required property 'environment_id'") + __props__.__dict__["environment_id"] = environment_id + __props__.__dict__["deployment_id"] = None + __props__.__dict__["status"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["applicationId", "environmentId"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Deployment, __self__).__init__( + 'aws-native:m2:Deployment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Deployment': + """ + Get an existing Deployment 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__ = DeploymentArgs.__new__(DeploymentArgs) + + __props__.__dict__["application_id"] = None + __props__.__dict__["application_version"] = None + __props__.__dict__["deployment_id"] = None + __props__.__dict__["environment_id"] = None + __props__.__dict__["status"] = None + return Deployment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="applicationId") + def application_id(self) -> pulumi.Output[str]: + """ + The application ID. + """ + return pulumi.get(self, "application_id") + + @property + @pulumi.getter(name="applicationVersion") + def application_version(self) -> pulumi.Output[int]: + """ + The version number of the application to deploy + """ + return pulumi.get(self, "application_version") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> pulumi.Output[str]: + """ + The deployment ID. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter(name="environmentId") + def environment_id(self) -> pulumi.Output[str]: + """ + The environment ID. + """ + return pulumi.get(self, "environment_id") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The status of the deployment. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_aws_native/m2/get_deployment.py b/sdk/python/pulumi_aws_native/m2/get_deployment.py new file mode 100644 index 0000000000..01cccfb591 --- /dev/null +++ b/sdk/python/pulumi_aws_native/m2/get_deployment.py @@ -0,0 +1,105 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities + +__all__ = [ + 'GetDeploymentResult', + 'AwaitableGetDeploymentResult', + 'get_deployment', + 'get_deployment_output', +] + +@pulumi.output_type +class GetDeploymentResult: + def __init__(__self__, application_version=None, deployment_id=None, status=None): + if application_version and not isinstance(application_version, int): + raise TypeError("Expected argument 'application_version' to be a int") + pulumi.set(__self__, "application_version", application_version) + if deployment_id and not isinstance(deployment_id, str): + raise TypeError("Expected argument 'deployment_id' to be a str") + pulumi.set(__self__, "deployment_id", deployment_id) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter(name="applicationVersion") + def application_version(self) -> Optional[int]: + """ + The version number of the application to deploy + """ + return pulumi.get(self, "application_version") + + @property + @pulumi.getter(name="deploymentId") + def deployment_id(self) -> Optional[str]: + """ + The deployment ID. + """ + return pulumi.get(self, "deployment_id") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + The status of the deployment. + """ + return pulumi.get(self, "status") + + +class AwaitableGetDeploymentResult(GetDeploymentResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDeploymentResult( + application_version=self.application_version, + deployment_id=self.deployment_id, + status=self.status) + + +def get_deployment(application_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDeploymentResult: + """ + Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + + + :param str application_id: The application ID. + """ + __args__ = dict() + __args__['applicationId'] = application_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:m2:getDeployment', __args__, opts=opts, typ=GetDeploymentResult).value + + return AwaitableGetDeploymentResult( + application_version=pulumi.get(__ret__, 'application_version'), + deployment_id=pulumi.get(__ret__, 'deployment_id'), + status=pulumi.get(__ret__, 'status')) +def get_deployment_output(application_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDeploymentResult]: + """ + Represents a deployment resource of an AWS Mainframe Modernization (M2) application to a specified environment + + + :param str application_id: The application ID. + """ + __args__ = dict() + __args__['applicationId'] = application_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:m2:getDeployment', __args__, opts=opts, typ=GetDeploymentResult) + return __ret__.apply(lambda __response__: GetDeploymentResult( + application_version=pulumi.get(__response__, 'application_version'), + deployment_id=pulumi.get(__response__, 'deployment_id'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_aws_native/mwaa/environment.py b/sdk/python/pulumi_aws_native/mwaa/environment.py index dbc2f371c6..6ed9c86c40 100644 --- a/sdk/python/pulumi_aws_native/mwaa/environment.py +++ b/sdk/python/pulumi_aws_native/mwaa/environment.py @@ -73,11 +73,11 @@ def __init__(__self__, *, :param pulumi.Input['EnvironmentLoggingConfigurationArgs'] logging_configuration: The Apache Airflow logs being sent to CloudWatch Logs: `DagProcessingLogs` , `SchedulerLogs` , `TaskLogs` , `WebserverLogs` , `WorkerLogs` . :param pulumi.Input[int] max_webservers: The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . :param pulumi.Input[int] max_workers: The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. For example, `20` . When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in `MinWorkers` . :param pulumi.Input[int] min_webservers: The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . :param pulumi.Input[int] min_workers: The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the `MinWorkers` field. For example, `2` . :param pulumi.Input[str] name: The name of your Amazon MWAA environment. :param pulumi.Input['EnvironmentNetworkConfigurationArgs'] network_configuration: The VPC networking components used to secure and enable network traffic between the AWS resources for your environment. To learn more, see [About networking on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html) . @@ -275,7 +275,7 @@ def max_webservers(self) -> Optional[pulumi.Input[int]]: """ The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . """ return pulumi.get(self, "max_webservers") @@ -301,7 +301,7 @@ def min_webservers(self) -> Optional[pulumi.Input[int]]: """ The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . """ return pulumi.get(self, "min_webservers") @@ -553,11 +553,11 @@ def __init__(__self__, :param pulumi.Input[Union['EnvironmentLoggingConfigurationArgs', 'EnvironmentLoggingConfigurationArgsDict']] logging_configuration: The Apache Airflow logs being sent to CloudWatch Logs: `DagProcessingLogs` , `SchedulerLogs` , `TaskLogs` , `WebserverLogs` , `WorkerLogs` . :param pulumi.Input[int] max_webservers: The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . :param pulumi.Input[int] max_workers: The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. For example, `20` . When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in `MinWorkers` . :param pulumi.Input[int] min_webservers: The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . :param pulumi.Input[int] min_workers: The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the `MaxWorkers` field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the `MinWorkers` field. For example, `2` . :param pulumi.Input[str] name: The name of your Amazon MWAA environment. :param pulumi.Input[Union['EnvironmentNetworkConfigurationArgs', 'EnvironmentNetworkConfigurationArgsDict']] network_configuration: The VPC networking components used to secure and enable network traffic between the AWS resources for your environment. To learn more, see [About networking on Amazon MWAA](https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html) . @@ -840,7 +840,7 @@ def max_webservers(self) -> pulumi.Output[Optional[int]]: """ The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . """ return pulumi.get(self, "max_webservers") @@ -858,7 +858,7 @@ def min_webservers(self) -> pulumi.Output[Optional[int]]: """ The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . """ return pulumi.get(self, "min_webservers") diff --git a/sdk/python/pulumi_aws_native/mwaa/get_environment.py b/sdk/python/pulumi_aws_native/mwaa/get_environment.py index 12713c8884..3a5c795de3 100644 --- a/sdk/python/pulumi_aws_native/mwaa/get_environment.py +++ b/sdk/python/pulumi_aws_native/mwaa/get_environment.py @@ -200,7 +200,7 @@ def max_webservers(self) -> Optional[int]: """ The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in `MaxWebserers` . As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . """ return pulumi.get(self, "max_webservers") @@ -218,7 +218,7 @@ def min_webservers(self) -> Optional[int]: """ The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for `MaxWebservers` when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in `MinxWebserers` . - Valid values: Accepts between `2` and `5` . Defaults to `2` . + Valid values: For environments larger than mw1.micro, accepts values from `2` to `5` . Defaults to `2` for all environment sizes except mw1.micro, which defaults to `1` . """ return pulumi.get(self, "min_webservers") diff --git a/sdk/python/pulumi_aws_native/opensearchserverless/_enums.py b/sdk/python/pulumi_aws_native/opensearchserverless/_enums.py index d475028974..4b9f2e4e0f 100644 --- a/sdk/python/pulumi_aws_native/opensearchserverless/_enums.py +++ b/sdk/python/pulumi_aws_native/opensearchserverless/_enums.py @@ -50,6 +50,7 @@ class SecurityConfigType(str, Enum): Config type for security config """ SAML = "saml" + IAMIDENTITYCENTER = "iamidentitycenter" class SecurityPolicyType(str, Enum): diff --git a/sdk/python/pulumi_aws_native/opensearchserverless/_inputs.py b/sdk/python/pulumi_aws_native/opensearchserverless/_inputs.py index 32e6441c68..854f8327ad 100644 --- a/sdk/python/pulumi_aws_native/opensearchserverless/_inputs.py +++ b/sdk/python/pulumi_aws_native/opensearchserverless/_inputs.py @@ -16,12 +16,121 @@ from ._enums import * __all__ = [ + 'SecurityConfigIamIdentityCenterConfigOptionsArgs', + 'SecurityConfigIamIdentityCenterConfigOptionsArgsDict', 'SecurityConfigSamlConfigOptionsArgs', 'SecurityConfigSamlConfigOptionsArgsDict', ] MYPY = False +if not MYPY: + class SecurityConfigIamIdentityCenterConfigOptionsArgsDict(TypedDict): + """ + Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + """ + instance_arn: pulumi.Input[str] + application_arn: NotRequired[pulumi.Input[str]] + application_description: NotRequired[pulumi.Input[str]] + """ + The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + application_name: NotRequired[pulumi.Input[str]] + """ + The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + group_attribute: NotRequired[pulumi.Input[str]] + user_attribute: NotRequired[pulumi.Input[str]] +elif False: + SecurityConfigIamIdentityCenterConfigOptionsArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SecurityConfigIamIdentityCenterConfigOptionsArgs: + def __init__(__self__, *, + instance_arn: pulumi.Input[str], + application_arn: Optional[pulumi.Input[str]] = None, + application_description: Optional[pulumi.Input[str]] = None, + application_name: Optional[pulumi.Input[str]] = None, + group_attribute: Optional[pulumi.Input[str]] = None, + user_attribute: Optional[pulumi.Input[str]] = None): + """ + Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + :param pulumi.Input[str] application_description: The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + :param pulumi.Input[str] application_name: The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + pulumi.set(__self__, "instance_arn", instance_arn) + if application_arn is not None: + pulumi.set(__self__, "application_arn", application_arn) + if application_description is not None: + pulumi.set(__self__, "application_description", application_description) + if application_name is not None: + pulumi.set(__self__, "application_name", application_name) + if group_attribute is not None: + pulumi.set(__self__, "group_attribute", group_attribute) + if user_attribute is not None: + pulumi.set(__self__, "user_attribute", user_attribute) + + @property + @pulumi.getter(name="instanceArn") + def instance_arn(self) -> pulumi.Input[str]: + return pulumi.get(self, "instance_arn") + + @instance_arn.setter + def instance_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "instance_arn", value) + + @property + @pulumi.getter(name="applicationArn") + def application_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "application_arn") + + @application_arn.setter + def application_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_arn", value) + + @property + @pulumi.getter(name="applicationDescription") + def application_description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + return pulumi.get(self, "application_description") + + @application_description.setter + def application_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_description", value) + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + return pulumi.get(self, "application_name") + + @application_name.setter + def application_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "application_name", value) + + @property + @pulumi.getter(name="groupAttribute") + def group_attribute(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "group_attribute") + + @group_attribute.setter + def group_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_attribute", value) + + @property + @pulumi.getter(name="userAttribute") + def user_attribute(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "user_attribute") + + @user_attribute.setter + def user_attribute(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "user_attribute", value) + + if not MYPY: class SecurityConfigSamlConfigOptionsArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/opensearchserverless/get_security_config.py b/sdk/python/pulumi_aws_native/opensearchserverless/get_security_config.py index 6cc260cde8..c1f62b6775 100644 --- a/sdk/python/pulumi_aws_native/opensearchserverless/get_security_config.py +++ b/sdk/python/pulumi_aws_native/opensearchserverless/get_security_config.py @@ -24,10 +24,13 @@ @pulumi.output_type class GetSecurityConfigResult: - def __init__(__self__, description=None, id=None, saml_options=None): + def __init__(__self__, description=None, iam_identity_center_options=None, id=None, saml_options=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if iam_identity_center_options and not isinstance(iam_identity_center_options, dict): + raise TypeError("Expected argument 'iam_identity_center_options' to be a dict") + pulumi.set(__self__, "iam_identity_center_options", iam_identity_center_options) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -43,6 +46,11 @@ def description(self) -> Optional[str]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="iamIdentityCenterOptions") + def iam_identity_center_options(self) -> Optional['outputs.SecurityConfigIamIdentityCenterConfigOptions']: + return pulumi.get(self, "iam_identity_center_options") + @property @pulumi.getter def id(self) -> Optional[str]: @@ -67,6 +75,7 @@ def __await__(self): yield self return GetSecurityConfigResult( description=self.description, + iam_identity_center_options=self.iam_identity_center_options, id=self.id, saml_options=self.saml_options) @@ -86,6 +95,7 @@ def get_security_config(id: Optional[str] = None, return AwaitableGetSecurityConfigResult( description=pulumi.get(__ret__, 'description'), + iam_identity_center_options=pulumi.get(__ret__, 'iam_identity_center_options'), id=pulumi.get(__ret__, 'id'), saml_options=pulumi.get(__ret__, 'saml_options')) def get_security_config_output(id: Optional[pulumi.Input[str]] = None, @@ -102,5 +112,6 @@ def get_security_config_output(id: Optional[pulumi.Input[str]] = None, __ret__ = pulumi.runtime.invoke_output('aws-native:opensearchserverless:getSecurityConfig', __args__, opts=opts, typ=GetSecurityConfigResult) return __ret__.apply(lambda __response__: GetSecurityConfigResult( description=pulumi.get(__response__, 'description'), + iam_identity_center_options=pulumi.get(__response__, 'iam_identity_center_options'), id=pulumi.get(__response__, 'id'), saml_options=pulumi.get(__response__, 'saml_options'))) diff --git a/sdk/python/pulumi_aws_native/opensearchserverless/outputs.py b/sdk/python/pulumi_aws_native/opensearchserverless/outputs.py index fca7d2cafe..4e5a38e4c6 100644 --- a/sdk/python/pulumi_aws_native/opensearchserverless/outputs.py +++ b/sdk/python/pulumi_aws_native/opensearchserverless/outputs.py @@ -16,9 +16,103 @@ from ._enums import * __all__ = [ + 'SecurityConfigIamIdentityCenterConfigOptions', 'SecurityConfigSamlConfigOptions', ] +@pulumi.output_type +class SecurityConfigIamIdentityCenterConfigOptions(dict): + """ + Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceArn": + suggest = "instance_arn" + elif key == "applicationArn": + suggest = "application_arn" + elif key == "applicationDescription": + suggest = "application_description" + elif key == "applicationName": + suggest = "application_name" + elif key == "groupAttribute": + suggest = "group_attribute" + elif key == "userAttribute": + suggest = "user_attribute" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SecurityConfigIamIdentityCenterConfigOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SecurityConfigIamIdentityCenterConfigOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SecurityConfigIamIdentityCenterConfigOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_arn: str, + application_arn: Optional[str] = None, + application_description: Optional[str] = None, + application_name: Optional[str] = None, + group_attribute: Optional[str] = None, + user_attribute: Optional[str] = None): + """ + Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map + :param str application_description: The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + :param str application_name: The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + pulumi.set(__self__, "instance_arn", instance_arn) + if application_arn is not None: + pulumi.set(__self__, "application_arn", application_arn) + if application_description is not None: + pulumi.set(__self__, "application_description", application_description) + if application_name is not None: + pulumi.set(__self__, "application_name", application_name) + if group_attribute is not None: + pulumi.set(__self__, "group_attribute", group_attribute) + if user_attribute is not None: + pulumi.set(__self__, "user_attribute", user_attribute) + + @property + @pulumi.getter(name="instanceArn") + def instance_arn(self) -> str: + return pulumi.get(self, "instance_arn") + + @property + @pulumi.getter(name="applicationArn") + def application_arn(self) -> Optional[str]: + return pulumi.get(self, "application_arn") + + @property + @pulumi.getter(name="applicationDescription") + def application_description(self) -> Optional[str]: + """ + The description of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + return pulumi.get(self, "application_description") + + @property + @pulumi.getter(name="applicationName") + def application_name(self) -> Optional[str]: + """ + The name of the IAM Identity Center application used to integrate with OpenSearch Serverless + """ + return pulumi.get(self, "application_name") + + @property + @pulumi.getter(name="groupAttribute") + def group_attribute(self) -> Optional[str]: + return pulumi.get(self, "group_attribute") + + @property + @pulumi.getter(name="userAttribute") + def user_attribute(self) -> Optional[str]: + return pulumi.get(self, "user_attribute") + + @pulumi.output_type class SecurityConfigSamlConfigOptions(dict): """ diff --git a/sdk/python/pulumi_aws_native/opensearchserverless/security_config.py b/sdk/python/pulumi_aws_native/opensearchserverless/security_config.py index 46b0d2afd8..3c2c00cb64 100644 --- a/sdk/python/pulumi_aws_native/opensearchserverless/security_config.py +++ b/sdk/python/pulumi_aws_native/opensearchserverless/security_config.py @@ -23,6 +23,7 @@ class SecurityConfigArgs: def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, + iam_identity_center_options: Optional[pulumi.Input['SecurityConfigIamIdentityCenterConfigOptionsArgs']] = None, name: Optional[pulumi.Input[str]] = None, saml_options: Optional[pulumi.Input['SecurityConfigSamlConfigOptionsArgs']] = None, type: Optional[pulumi.Input['SecurityConfigType']] = None): @@ -35,6 +36,8 @@ def __init__(__self__, *, """ if description is not None: pulumi.set(__self__, "description", description) + if iam_identity_center_options is not None: + pulumi.set(__self__, "iam_identity_center_options", iam_identity_center_options) if name is not None: pulumi.set(__self__, "name", name) if saml_options is not None: @@ -54,6 +57,15 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="iamIdentityCenterOptions") + def iam_identity_center_options(self) -> Optional[pulumi.Input['SecurityConfigIamIdentityCenterConfigOptionsArgs']]: + return pulumi.get(self, "iam_identity_center_options") + + @iam_identity_center_options.setter + def iam_identity_center_options(self, value: Optional[pulumi.Input['SecurityConfigIamIdentityCenterConfigOptionsArgs']]): + pulumi.set(self, "iam_identity_center_options", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -97,6 +109,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + iam_identity_center_options: Optional[pulumi.Input[Union['SecurityConfigIamIdentityCenterConfigOptionsArgs', 'SecurityConfigIamIdentityCenterConfigOptionsArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, saml_options: Optional[pulumi.Input[Union['SecurityConfigSamlConfigOptionsArgs', 'SecurityConfigSamlConfigOptionsArgsDict']]] = None, type: Optional[pulumi.Input['SecurityConfigType']] = None, @@ -212,6 +225,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + iam_identity_center_options: Optional[pulumi.Input[Union['SecurityConfigIamIdentityCenterConfigOptionsArgs', 'SecurityConfigIamIdentityCenterConfigOptionsArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, saml_options: Optional[pulumi.Input[Union['SecurityConfigSamlConfigOptionsArgs', 'SecurityConfigSamlConfigOptionsArgsDict']]] = None, type: Optional[pulumi.Input['SecurityConfigType']] = None, @@ -225,11 +239,12 @@ def _internal_init(__self__, __props__ = SecurityConfigArgs.__new__(SecurityConfigArgs) __props__.__dict__["description"] = description + __props__.__dict__["iam_identity_center_options"] = iam_identity_center_options __props__.__dict__["name"] = name __props__.__dict__["saml_options"] = saml_options __props__.__dict__["type"] = type __props__.__dict__["aws_id"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "type"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["iamIdentityCenterOptions.instanceArn", "name", "type"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(SecurityConfig, __self__).__init__( 'aws-native:opensearchserverless:SecurityConfig', @@ -255,6 +270,7 @@ def get(resource_name: str, __props__.__dict__["aws_id"] = None __props__.__dict__["description"] = None + __props__.__dict__["iam_identity_center_options"] = None __props__.__dict__["name"] = None __props__.__dict__["saml_options"] = None __props__.__dict__["type"] = None @@ -276,6 +292,11 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="iamIdentityCenterOptions") + def iam_identity_center_options(self) -> pulumi.Output[Optional['outputs.SecurityConfigIamIdentityCenterConfigOptions']]: + return pulumi.get(self, "iam_identity_center_options") + @property @pulumi.getter def name(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws_native/rbin/get_rule.py b/sdk/python/pulumi_aws_native/rbin/get_rule.py index d6d34bff84..b9ad783cbd 100644 --- a/sdk/python/pulumi_aws_native/rbin/get_rule.py +++ b/sdk/python/pulumi_aws_native/rbin/get_rule.py @@ -26,13 +26,16 @@ @pulumi.output_type class GetRuleResult: - def __init__(__self__, arn=None, description=None, identifier=None, lock_state=None, resource_tags=None, retention_period=None, status=None, tags=None): + def __init__(__self__, arn=None, description=None, exclude_resource_tags=None, identifier=None, lock_state=None, resource_tags=None, retention_period=None, status=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 description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if exclude_resource_tags and not isinstance(exclude_resource_tags, list): + raise TypeError("Expected argument 'exclude_resource_tags' to be a list") + pulumi.set(__self__, "exclude_resource_tags", exclude_resource_tags) if identifier and not isinstance(identifier, str): raise TypeError("Expected argument 'identifier' to be a str") pulumi.set(__self__, "identifier", identifier) @@ -68,6 +71,14 @@ def description(self) -> Optional[str]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="excludeResourceTags") + def exclude_resource_tags(self) -> Optional[Sequence['outputs.RuleResourceTag']]: + """ + Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + """ + return pulumi.get(self, "exclude_resource_tags") + @property @pulumi.getter def identifier(self) -> Optional[str]: @@ -125,6 +136,7 @@ def __await__(self): return GetRuleResult( arn=self.arn, description=self.description, + exclude_resource_tags=self.exclude_resource_tags, identifier=self.identifier, lock_state=self.lock_state, resource_tags=self.resource_tags, @@ -149,6 +161,7 @@ def get_rule(arn: Optional[str] = None, return AwaitableGetRuleResult( arn=pulumi.get(__ret__, 'arn'), description=pulumi.get(__ret__, 'description'), + exclude_resource_tags=pulumi.get(__ret__, 'exclude_resource_tags'), identifier=pulumi.get(__ret__, 'identifier'), lock_state=pulumi.get(__ret__, 'lock_state'), resource_tags=pulumi.get(__ret__, 'resource_tags'), @@ -170,6 +183,7 @@ def get_rule_output(arn: Optional[pulumi.Input[str]] = None, return __ret__.apply(lambda __response__: GetRuleResult( arn=pulumi.get(__response__, 'arn'), description=pulumi.get(__response__, 'description'), + exclude_resource_tags=pulumi.get(__response__, 'exclude_resource_tags'), identifier=pulumi.get(__response__, 'identifier'), lock_state=pulumi.get(__response__, 'lock_state'), resource_tags=pulumi.get(__response__, 'resource_tags'), diff --git a/sdk/python/pulumi_aws_native/rbin/rule.py b/sdk/python/pulumi_aws_native/rbin/rule.py index 85eadc62c1..3607f2940c 100644 --- a/sdk/python/pulumi_aws_native/rbin/rule.py +++ b/sdk/python/pulumi_aws_native/rbin/rule.py @@ -27,6 +27,7 @@ def __init__(__self__, *, resource_type: pulumi.Input['RuleResourceType'], retention_period: pulumi.Input['RuleRetentionPeriodArgs'], description: Optional[pulumi.Input[str]] = None, + exclude_resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]] = None, lock_configuration: Optional[pulumi.Input['RuleUnlockDelayArgs']] = None, resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]] = None, status: Optional[pulumi.Input[str]] = None, @@ -36,6 +37,7 @@ def __init__(__self__, *, :param pulumi.Input['RuleResourceType'] resource_type: The resource type retained by the retention rule. :param pulumi.Input['RuleRetentionPeriodArgs'] retention_period: Information about the retention period for which the retention rule is to retain resources. :param pulumi.Input[str] description: The description of the retention rule. + :param pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]] exclude_resource_tags: Information about the exclude resource tags used to identify resources that are excluded by the retention rule. :param pulumi.Input['RuleUnlockDelayArgs'] lock_configuration: Information about the retention rule lock configuration. :param pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]] resource_tags: Information about the resource tags used to identify resources that are retained by the retention rule. :param pulumi.Input[str] status: The state of the retention rule. Only retention rules that are in the available state retain resources. @@ -45,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "retention_period", retention_period) if description is not None: pulumi.set(__self__, "description", description) + if exclude_resource_tags is not None: + pulumi.set(__self__, "exclude_resource_tags", exclude_resource_tags) if lock_configuration is not None: pulumi.set(__self__, "lock_configuration", lock_configuration) if resource_tags is not None: @@ -90,6 +94,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="excludeResourceTags") + def exclude_resource_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]]: + """ + Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + """ + return pulumi.get(self, "exclude_resource_tags") + + @exclude_resource_tags.setter + def exclude_resource_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]]): + pulumi.set(self, "exclude_resource_tags", value) + @property @pulumi.getter(name="lockConfiguration") def lock_configuration(self) -> Optional[pulumi.Input['RuleUnlockDelayArgs']]: @@ -145,6 +161,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + exclude_resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleResourceTagArgs', 'RuleResourceTagArgsDict']]]]] = None, lock_configuration: Optional[pulumi.Input[Union['RuleUnlockDelayArgs', 'RuleUnlockDelayArgsDict']]] = None, resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleResourceTagArgs', 'RuleResourceTagArgsDict']]]]] = None, resource_type: Optional[pulumi.Input['RuleResourceType']] = None, @@ -158,6 +175,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: The description of the retention rule. + :param pulumi.Input[Sequence[pulumi.Input[Union['RuleResourceTagArgs', 'RuleResourceTagArgsDict']]]] exclude_resource_tags: Information about the exclude resource tags used to identify resources that are excluded by the retention rule. :param pulumi.Input[Union['RuleUnlockDelayArgs', 'RuleUnlockDelayArgsDict']] lock_configuration: Information about the retention rule lock configuration. :param pulumi.Input[Sequence[pulumi.Input[Union['RuleResourceTagArgs', 'RuleResourceTagArgsDict']]]] resource_tags: Information about the resource tags used to identify resources that are retained by the retention rule. :param pulumi.Input['RuleResourceType'] resource_type: The resource type retained by the retention rule. @@ -190,6 +208,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + exclude_resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleResourceTagArgs', 'RuleResourceTagArgsDict']]]]] = None, lock_configuration: Optional[pulumi.Input[Union['RuleUnlockDelayArgs', 'RuleUnlockDelayArgsDict']]] = None, resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RuleResourceTagArgs', 'RuleResourceTagArgsDict']]]]] = None, resource_type: Optional[pulumi.Input['RuleResourceType']] = None, @@ -206,6 +225,7 @@ def _internal_init(__self__, __props__ = RuleArgs.__new__(RuleArgs) __props__.__dict__["description"] = description + __props__.__dict__["exclude_resource_tags"] = exclude_resource_tags __props__.__dict__["lock_configuration"] = lock_configuration __props__.__dict__["resource_tags"] = resource_tags if resource_type is None and not opts.urn: @@ -245,6 +265,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = None __props__.__dict__["description"] = None + __props__.__dict__["exclude_resource_tags"] = None __props__.__dict__["identifier"] = None __props__.__dict__["lock_configuration"] = None __props__.__dict__["lock_state"] = None @@ -271,6 +292,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="excludeResourceTags") + def exclude_resource_tags(self) -> pulumi.Output[Optional[Sequence['outputs.RuleResourceTag']]]: + """ + Information about the exclude resource tags used to identify resources that are excluded by the retention rule. + """ + return pulumi.get(self, "exclude_resource_tags") + @property @pulumi.getter def identifier(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/rds/_inputs.py b/sdk/python/pulumi_aws_native/rds/_inputs.py index aa1f01e308..2c716bff8c 100644 --- a/sdk/python/pulumi_aws_native/rds/_inputs.py +++ b/sdk/python/pulumi_aws_native/rds/_inputs.py @@ -40,6 +40,8 @@ 'DbProxyAuthFormatArgsDict', 'DbProxyTargetGroupConnectionPoolConfigurationInfoFormatArgs', 'DbProxyTargetGroupConnectionPoolConfigurationInfoFormatArgsDict', + 'GlobalClusterGlobalEndpointArgs', + 'GlobalClusterGlobalEndpointArgsDict', 'OptionGroupOptionConfigurationArgs', 'OptionGroupOptionConfigurationArgsDict', 'OptionGroupOptionSettingArgs', @@ -988,6 +990,38 @@ def session_pinning_filters(self, value: Optional[pulumi.Input[Sequence[pulumi.I pulumi.set(self, "session_pinning_filters", value) +if not MYPY: + class GlobalClusterGlobalEndpointArgsDict(TypedDict): + address: NotRequired[pulumi.Input[str]] + """ + The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + """ +elif False: + GlobalClusterGlobalEndpointArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class GlobalClusterGlobalEndpointArgs: + def __init__(__self__, *, + address: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] address: The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + """ + if address is not None: + pulumi.set(__self__, "address", address) + + @property + @pulumi.getter + def address(self) -> Optional[pulumi.Input[str]]: + """ + The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + """ + return pulumi.get(self, "address") + + @address.setter + def address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "address", value) + + if not MYPY: class OptionGroupOptionConfigurationArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/rds/get_global_cluster.py b/sdk/python/pulumi_aws_native/rds/get_global_cluster.py index 1f17de2808..1bf92e0b63 100644 --- a/sdk/python/pulumi_aws_native/rds/get_global_cluster.py +++ b/sdk/python/pulumi_aws_native/rds/get_global_cluster.py @@ -13,6 +13,7 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities +from . import outputs from .. import outputs as _root_outputs __all__ = [ @@ -24,7 +25,7 @@ @pulumi.output_type class GetGlobalClusterResult: - def __init__(__self__, deletion_protection=None, engine_lifecycle_support=None, engine_version=None, tags=None): + def __init__(__self__, deletion_protection=None, engine_lifecycle_support=None, engine_version=None, global_endpoint=None, tags=None): if deletion_protection and not isinstance(deletion_protection, bool): raise TypeError("Expected argument 'deletion_protection' to be a bool") pulumi.set(__self__, "deletion_protection", deletion_protection) @@ -34,6 +35,9 @@ def __init__(__self__, deletion_protection=None, engine_lifecycle_support=None, if engine_version and not isinstance(engine_version, str): raise TypeError("Expected argument 'engine_version' to be a str") pulumi.set(__self__, "engine_version", engine_version) + if global_endpoint and not isinstance(global_endpoint, dict): + raise TypeError("Expected argument 'global_endpoint' to be a dict") + pulumi.set(__self__, "global_endpoint", global_endpoint) if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) @@ -62,6 +66,11 @@ def engine_version(self) -> Optional[str]: """ return pulumi.get(self, "engine_version") + @property + @pulumi.getter(name="globalEndpoint") + def global_endpoint(self) -> Optional['outputs.GlobalClusterGlobalEndpoint']: + return pulumi.get(self, "global_endpoint") + @property @pulumi.getter def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: @@ -80,6 +89,7 @@ def __await__(self): deletion_protection=self.deletion_protection, engine_lifecycle_support=self.engine_lifecycle_support, engine_version=self.engine_version, + global_endpoint=self.global_endpoint, tags=self.tags) @@ -100,6 +110,7 @@ def get_global_cluster(global_cluster_identifier: Optional[str] = None, deletion_protection=pulumi.get(__ret__, 'deletion_protection'), engine_lifecycle_support=pulumi.get(__ret__, 'engine_lifecycle_support'), engine_version=pulumi.get(__ret__, 'engine_version'), + global_endpoint=pulumi.get(__ret__, 'global_endpoint'), tags=pulumi.get(__ret__, 'tags')) def get_global_cluster_output(global_cluster_identifier: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGlobalClusterResult]: @@ -117,4 +128,5 @@ def get_global_cluster_output(global_cluster_identifier: Optional[pulumi.Input[s deletion_protection=pulumi.get(__response__, 'deletion_protection'), engine_lifecycle_support=pulumi.get(__response__, 'engine_lifecycle_support'), engine_version=pulumi.get(__response__, 'engine_version'), + global_endpoint=pulumi.get(__response__, 'global_endpoint'), tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/rds/global_cluster.py b/sdk/python/pulumi_aws_native/rds/global_cluster.py index c531ec8f66..685df3e66e 100644 --- a/sdk/python/pulumi_aws_native/rds/global_cluster.py +++ b/sdk/python/pulumi_aws_native/rds/global_cluster.py @@ -13,9 +13,11 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias 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__ = ['GlobalClusterArgs', 'GlobalCluster'] @@ -27,6 +29,7 @@ def __init__(__self__, *, engine_lifecycle_support: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, global_cluster_identifier: Optional[pulumi.Input[str]] = None, + global_endpoint: Optional[pulumi.Input['GlobalClusterGlobalEndpointArgs']] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, storage_encrypted: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): @@ -53,6 +56,8 @@ def __init__(__self__, *, pulumi.set(__self__, "engine_version", engine_version) if global_cluster_identifier is not None: pulumi.set(__self__, "global_cluster_identifier", global_cluster_identifier) + if global_endpoint is not None: + pulumi.set(__self__, "global_endpoint", global_endpoint) if source_db_cluster_identifier is not None: pulumi.set(__self__, "source_db_cluster_identifier", source_db_cluster_identifier) if storage_encrypted is not None: @@ -121,6 +126,15 @@ def global_cluster_identifier(self) -> Optional[pulumi.Input[str]]: def global_cluster_identifier(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "global_cluster_identifier", value) + @property + @pulumi.getter(name="globalEndpoint") + def global_endpoint(self) -> Optional[pulumi.Input['GlobalClusterGlobalEndpointArgs']]: + return pulumi.get(self, "global_endpoint") + + @global_endpoint.setter + def global_endpoint(self, value: Optional[pulumi.Input['GlobalClusterGlobalEndpointArgs']]): + pulumi.set(self, "global_endpoint", value) + @property @pulumi.getter(name="sourceDbClusterIdentifier") def source_db_cluster_identifier(self) -> Optional[pulumi.Input[str]]: @@ -169,6 +183,7 @@ def __init__(__self__, engine_lifecycle_support: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, global_cluster_identifier: Optional[pulumi.Input[str]] = None, + global_endpoint: Optional[pulumi.Input[Union['GlobalClusterGlobalEndpointArgs', 'GlobalClusterGlobalEndpointArgsDict']]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, storage_encrypted: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, @@ -218,6 +233,7 @@ def _internal_init(__self__, engine_lifecycle_support: Optional[pulumi.Input[str]] = None, engine_version: Optional[pulumi.Input[str]] = None, global_cluster_identifier: Optional[pulumi.Input[str]] = None, + global_endpoint: Optional[pulumi.Input[Union['GlobalClusterGlobalEndpointArgs', 'GlobalClusterGlobalEndpointArgsDict']]] = None, source_db_cluster_identifier: Optional[pulumi.Input[str]] = None, storage_encrypted: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, @@ -235,6 +251,7 @@ def _internal_init(__self__, __props__.__dict__["engine_lifecycle_support"] = engine_lifecycle_support __props__.__dict__["engine_version"] = engine_version __props__.__dict__["global_cluster_identifier"] = global_cluster_identifier + __props__.__dict__["global_endpoint"] = global_endpoint __props__.__dict__["source_db_cluster_identifier"] = source_db_cluster_identifier __props__.__dict__["storage_encrypted"] = storage_encrypted __props__.__dict__["tags"] = tags @@ -267,6 +284,7 @@ def get(resource_name: str, __props__.__dict__["engine_lifecycle_support"] = None __props__.__dict__["engine_version"] = None __props__.__dict__["global_cluster_identifier"] = None + __props__.__dict__["global_endpoint"] = None __props__.__dict__["source_db_cluster_identifier"] = None __props__.__dict__["storage_encrypted"] = None __props__.__dict__["tags"] = None @@ -313,6 +331,11 @@ def global_cluster_identifier(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "global_cluster_identifier") + @property + @pulumi.getter(name="globalEndpoint") + def global_endpoint(self) -> pulumi.Output[Optional['outputs.GlobalClusterGlobalEndpoint']]: + return pulumi.get(self, "global_endpoint") + @property @pulumi.getter(name="sourceDbClusterIdentifier") def source_db_cluster_identifier(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws_native/rds/outputs.py b/sdk/python/pulumi_aws_native/rds/outputs.py index bb293db705..a0cdd52cb6 100644 --- a/sdk/python/pulumi_aws_native/rds/outputs.py +++ b/sdk/python/pulumi_aws_native/rds/outputs.py @@ -30,6 +30,7 @@ 'DbInstanceProcessorFeature', 'DbProxyAuthFormat', 'DbProxyTargetGroupConnectionPoolConfigurationInfoFormat', + 'GlobalClusterGlobalEndpoint', 'OptionGroupOptionConfiguration', 'OptionGroupOptionSetting', ] @@ -868,6 +869,25 @@ def session_pinning_filters(self) -> Optional[Sequence[str]]: return pulumi.get(self, "session_pinning_filters") +@pulumi.output_type +class GlobalClusterGlobalEndpoint(dict): + def __init__(__self__, *, + address: Optional[str] = None): + """ + :param str address: The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + """ + if address is not None: + pulumi.set(__self__, "address", address) + + @property + @pulumi.getter + def address(self) -> Optional[str]: + """ + The writer endpoint for the global database cluster. This endpoint always points to the writer DB instance in the current primary cluster. + """ + return pulumi.get(self, "address") + + @pulumi.output_type class OptionGroupOptionConfiguration(dict): """ diff --git a/sdk/python/pulumi_aws_native/route53recoverycontrol/get_safety_rule.py b/sdk/python/pulumi_aws_native/route53recoverycontrol/get_safety_rule.py index 214c44b476..b1efa1c911 100644 --- a/sdk/python/pulumi_aws_native/route53recoverycontrol/get_safety_rule.py +++ b/sdk/python/pulumi_aws_native/route53recoverycontrol/get_safety_rule.py @@ -14,6 +14,7 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs +from .. import outputs as _root_outputs from ._enums import * __all__ = [ @@ -25,7 +26,7 @@ @pulumi.output_type class GetSafetyRuleResult: - def __init__(__self__, assertion_rule=None, control_panel_arn=None, gating_rule=None, name=None, rule_config=None, safety_rule_arn=None, status=None): + def __init__(__self__, assertion_rule=None, control_panel_arn=None, gating_rule=None, name=None, rule_config=None, safety_rule_arn=None, status=None, tags=None): if assertion_rule and not isinstance(assertion_rule, dict): raise TypeError("Expected argument 'assertion_rule' to be a dict") pulumi.set(__self__, "assertion_rule", assertion_rule) @@ -47,6 +48,9 @@ def __init__(__self__, assertion_rule=None, control_panel_arn=None, gating_rule= if status and not isinstance(status, str): raise TypeError("Expected argument 'status' to be a str") pulumi.set(__self__, "status", status) + 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="assertionRule") @@ -106,6 +110,14 @@ def status(self) -> Optional['SafetyRuleStatus']: """ return pulumi.get(self, "status") + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + """ + A collection of tags associated with a resource + """ + return pulumi.get(self, "tags") + class AwaitableGetSafetyRuleResult(GetSafetyRuleResult): # pylint: disable=using-constant-test @@ -119,7 +131,8 @@ def __await__(self): name=self.name, rule_config=self.rule_config, safety_rule_arn=self.safety_rule_arn, - status=self.status) + status=self.status, + tags=self.tags) def get_safety_rule(safety_rule_arn: Optional[str] = None, @@ -142,7 +155,8 @@ def get_safety_rule(safety_rule_arn: Optional[str] = None, name=pulumi.get(__ret__, 'name'), rule_config=pulumi.get(__ret__, 'rule_config'), safety_rule_arn=pulumi.get(__ret__, 'safety_rule_arn'), - status=pulumi.get(__ret__, 'status')) + status=pulumi.get(__ret__, 'status'), + tags=pulumi.get(__ret__, 'tags')) def get_safety_rule_output(safety_rule_arn: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSafetyRuleResult]: """ @@ -162,4 +176,5 @@ def get_safety_rule_output(safety_rule_arn: Optional[pulumi.Input[str]] = None, name=pulumi.get(__response__, 'name'), rule_config=pulumi.get(__response__, 'rule_config'), safety_rule_arn=pulumi.get(__response__, 'safety_rule_arn'), - status=pulumi.get(__response__, 'status'))) + status=pulumi.get(__response__, 'status'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/route53resolver/_enums.py b/sdk/python/pulumi_aws_native/route53resolver/_enums.py index 74d8a12c28..bc3d851b15 100644 --- a/sdk/python/pulumi_aws_native/route53resolver/_enums.py +++ b/sdk/python/pulumi_aws_native/route53resolver/_enums.py @@ -11,6 +11,8 @@ 'FirewallRuleGroupFirewallRuleAction', 'FirewallRuleGroupFirewallRuleBlockOverrideDnsType', 'FirewallRuleGroupFirewallRuleBlockResponse', + 'FirewallRuleGroupFirewallRuleConfidenceThreshold', + 'FirewallRuleGroupFirewallRuleDnsThreatProtection', 'FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction', 'FirewallRuleGroupShareStatus', 'FirewallRuleGroupStatus', @@ -82,6 +84,23 @@ class FirewallRuleGroupFirewallRuleBlockResponse(str, Enum): OVERRIDE = "OVERRIDE" +class FirewallRuleGroupFirewallRuleConfidenceThreshold(str, Enum): + """ + FirewallDomainRedirectionAction + """ + LOW = "LOW" + MEDIUM = "MEDIUM" + HIGH = "HIGH" + + +class FirewallRuleGroupFirewallRuleDnsThreatProtection(str, Enum): + """ + FirewallDomainRedirectionAction + """ + DGA = "DGA" + DNS_TUNNELING = "DNS_TUNNELING" + + class FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction(str, Enum): """ FirewallDomainRedirectionAction diff --git a/sdk/python/pulumi_aws_native/route53resolver/_inputs.py b/sdk/python/pulumi_aws_native/route53resolver/_inputs.py index fa144deb04..8bf9e6b631 100644 --- a/sdk/python/pulumi_aws_native/route53resolver/_inputs.py +++ b/sdk/python/pulumi_aws_native/route53resolver/_inputs.py @@ -33,10 +33,6 @@ class FirewallRuleGroupFirewallRuleArgsDict(TypedDict): """ Rule Action """ - firewall_domain_list_id: pulumi.Input[str] - """ - ResourceId - """ priority: pulumi.Input[int] """ Rule Priority @@ -57,10 +53,26 @@ class FirewallRuleGroupFirewallRuleArgsDict(TypedDict): """ BlockResponse """ + confidence_threshold: NotRequired[pulumi.Input['FirewallRuleGroupFirewallRuleConfidenceThreshold']] + """ + FirewallDomainRedirectionAction + """ + dns_threat_protection: NotRequired[pulumi.Input['FirewallRuleGroupFirewallRuleDnsThreatProtection']] + """ + FirewallDomainRedirectionAction + """ + firewall_domain_list_id: NotRequired[pulumi.Input[str]] + """ + ResourceId + """ firewall_domain_redirection_action: NotRequired[pulumi.Input['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction']] """ FirewallDomainRedirectionAction """ + firewall_threat_protection_id: NotRequired[pulumi.Input[str]] + """ + ResourceId + """ qtype: NotRequired[pulumi.Input[str]] """ Qtype @@ -72,28 +84,33 @@ class FirewallRuleGroupFirewallRuleArgsDict(TypedDict): class FirewallRuleGroupFirewallRuleArgs: def __init__(__self__, *, action: pulumi.Input['FirewallRuleGroupFirewallRuleAction'], - firewall_domain_list_id: pulumi.Input[str], priority: pulumi.Input[int], block_override_dns_type: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleBlockOverrideDnsType']] = None, block_override_domain: Optional[pulumi.Input[str]] = None, block_override_ttl: Optional[pulumi.Input[int]] = None, block_response: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleBlockResponse']] = None, + confidence_threshold: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleConfidenceThreshold']] = None, + dns_threat_protection: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleDnsThreatProtection']] = None, + firewall_domain_list_id: Optional[pulumi.Input[str]] = None, firewall_domain_redirection_action: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction']] = None, + firewall_threat_protection_id: Optional[pulumi.Input[str]] = None, qtype: Optional[pulumi.Input[str]] = None): """ Firewall Rule associating the Rule Group to a Domain List :param pulumi.Input['FirewallRuleGroupFirewallRuleAction'] action: Rule Action - :param pulumi.Input[str] firewall_domain_list_id: ResourceId :param pulumi.Input[int] priority: Rule Priority :param pulumi.Input['FirewallRuleGroupFirewallRuleBlockOverrideDnsType'] block_override_dns_type: BlockOverrideDnsType :param pulumi.Input[str] block_override_domain: BlockOverrideDomain :param pulumi.Input[int] block_override_ttl: BlockOverrideTtl :param pulumi.Input['FirewallRuleGroupFirewallRuleBlockResponse'] block_response: BlockResponse + :param pulumi.Input['FirewallRuleGroupFirewallRuleConfidenceThreshold'] confidence_threshold: FirewallDomainRedirectionAction + :param pulumi.Input['FirewallRuleGroupFirewallRuleDnsThreatProtection'] dns_threat_protection: FirewallDomainRedirectionAction + :param pulumi.Input[str] firewall_domain_list_id: ResourceId :param pulumi.Input['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction'] firewall_domain_redirection_action: FirewallDomainRedirectionAction + :param pulumi.Input[str] firewall_threat_protection_id: ResourceId :param pulumi.Input[str] qtype: Qtype """ pulumi.set(__self__, "action", action) - pulumi.set(__self__, "firewall_domain_list_id", firewall_domain_list_id) pulumi.set(__self__, "priority", priority) if block_override_dns_type is not None: pulumi.set(__self__, "block_override_dns_type", block_override_dns_type) @@ -103,8 +120,16 @@ def __init__(__self__, *, pulumi.set(__self__, "block_override_ttl", block_override_ttl) if block_response is not None: pulumi.set(__self__, "block_response", block_response) + if confidence_threshold is not None: + pulumi.set(__self__, "confidence_threshold", confidence_threshold) + if dns_threat_protection is not None: + pulumi.set(__self__, "dns_threat_protection", dns_threat_protection) + if firewall_domain_list_id is not None: + pulumi.set(__self__, "firewall_domain_list_id", firewall_domain_list_id) if firewall_domain_redirection_action is not None: pulumi.set(__self__, "firewall_domain_redirection_action", firewall_domain_redirection_action) + if firewall_threat_protection_id is not None: + pulumi.set(__self__, "firewall_threat_protection_id", firewall_threat_protection_id) if qtype is not None: pulumi.set(__self__, "qtype", qtype) @@ -120,18 +145,6 @@ def action(self) -> pulumi.Input['FirewallRuleGroupFirewallRuleAction']: def action(self, value: pulumi.Input['FirewallRuleGroupFirewallRuleAction']): pulumi.set(self, "action", value) - @property - @pulumi.getter(name="firewallDomainListId") - def firewall_domain_list_id(self) -> pulumi.Input[str]: - """ - ResourceId - """ - return pulumi.get(self, "firewall_domain_list_id") - - @firewall_domain_list_id.setter - def firewall_domain_list_id(self, value: pulumi.Input[str]): - pulumi.set(self, "firewall_domain_list_id", value) - @property @pulumi.getter def priority(self) -> pulumi.Input[int]: @@ -192,6 +205,42 @@ def block_response(self) -> Optional[pulumi.Input['FirewallRuleGroupFirewallRule def block_response(self, value: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleBlockResponse']]): pulumi.set(self, "block_response", value) + @property + @pulumi.getter(name="confidenceThreshold") + def confidence_threshold(self) -> Optional[pulumi.Input['FirewallRuleGroupFirewallRuleConfidenceThreshold']]: + """ + FirewallDomainRedirectionAction + """ + return pulumi.get(self, "confidence_threshold") + + @confidence_threshold.setter + def confidence_threshold(self, value: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleConfidenceThreshold']]): + pulumi.set(self, "confidence_threshold", value) + + @property + @pulumi.getter(name="dnsThreatProtection") + def dns_threat_protection(self) -> Optional[pulumi.Input['FirewallRuleGroupFirewallRuleDnsThreatProtection']]: + """ + FirewallDomainRedirectionAction + """ + return pulumi.get(self, "dns_threat_protection") + + @dns_threat_protection.setter + def dns_threat_protection(self, value: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleDnsThreatProtection']]): + pulumi.set(self, "dns_threat_protection", value) + + @property + @pulumi.getter(name="firewallDomainListId") + def firewall_domain_list_id(self) -> Optional[pulumi.Input[str]]: + """ + ResourceId + """ + return pulumi.get(self, "firewall_domain_list_id") + + @firewall_domain_list_id.setter + def firewall_domain_list_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "firewall_domain_list_id", value) + @property @pulumi.getter(name="firewallDomainRedirectionAction") def firewall_domain_redirection_action(self) -> Optional[pulumi.Input['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction']]: @@ -204,6 +253,18 @@ def firewall_domain_redirection_action(self) -> Optional[pulumi.Input['FirewallR def firewall_domain_redirection_action(self, value: Optional[pulumi.Input['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction']]): pulumi.set(self, "firewall_domain_redirection_action", value) + @property + @pulumi.getter(name="firewallThreatProtectionId") + def firewall_threat_protection_id(self) -> Optional[pulumi.Input[str]]: + """ + ResourceId + """ + return pulumi.get(self, "firewall_threat_protection_id") + + @firewall_threat_protection_id.setter + def firewall_threat_protection_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "firewall_threat_protection_id", value) + @property @pulumi.getter def qtype(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws_native/route53resolver/outputs.py b/sdk/python/pulumi_aws_native/route53resolver/outputs.py index 0abe8a9ebf..e4cfcbc986 100644 --- a/sdk/python/pulumi_aws_native/route53resolver/outputs.py +++ b/sdk/python/pulumi_aws_native/route53resolver/outputs.py @@ -28,9 +28,7 @@ class FirewallRuleGroupFirewallRule(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "firewallDomainListId": - suggest = "firewall_domain_list_id" - elif key == "blockOverrideDnsType": + if key == "blockOverrideDnsType": suggest = "block_override_dns_type" elif key == "blockOverrideDomain": suggest = "block_override_domain" @@ -38,8 +36,16 @@ def __key_warning(key: str): suggest = "block_override_ttl" elif key == "blockResponse": suggest = "block_response" + elif key == "confidenceThreshold": + suggest = "confidence_threshold" + elif key == "dnsThreatProtection": + suggest = "dns_threat_protection" + elif key == "firewallDomainListId": + suggest = "firewall_domain_list_id" elif key == "firewallDomainRedirectionAction": suggest = "firewall_domain_redirection_action" + elif key == "firewallThreatProtectionId": + suggest = "firewall_threat_protection_id" if suggest: pulumi.log.warn(f"Key '{key}' not found in FirewallRuleGroupFirewallRule. Access the value via the '{suggest}' property getter instead.") @@ -54,28 +60,33 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, action: 'FirewallRuleGroupFirewallRuleAction', - firewall_domain_list_id: str, priority: int, block_override_dns_type: Optional['FirewallRuleGroupFirewallRuleBlockOverrideDnsType'] = None, block_override_domain: Optional[str] = None, block_override_ttl: Optional[int] = None, block_response: Optional['FirewallRuleGroupFirewallRuleBlockResponse'] = None, + confidence_threshold: Optional['FirewallRuleGroupFirewallRuleConfidenceThreshold'] = None, + dns_threat_protection: Optional['FirewallRuleGroupFirewallRuleDnsThreatProtection'] = None, + firewall_domain_list_id: Optional[str] = None, firewall_domain_redirection_action: Optional['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction'] = None, + firewall_threat_protection_id: Optional[str] = None, qtype: Optional[str] = None): """ Firewall Rule associating the Rule Group to a Domain List :param 'FirewallRuleGroupFirewallRuleAction' action: Rule Action - :param str firewall_domain_list_id: ResourceId :param int priority: Rule Priority :param 'FirewallRuleGroupFirewallRuleBlockOverrideDnsType' block_override_dns_type: BlockOverrideDnsType :param str block_override_domain: BlockOverrideDomain :param int block_override_ttl: BlockOverrideTtl :param 'FirewallRuleGroupFirewallRuleBlockResponse' block_response: BlockResponse + :param 'FirewallRuleGroupFirewallRuleConfidenceThreshold' confidence_threshold: FirewallDomainRedirectionAction + :param 'FirewallRuleGroupFirewallRuleDnsThreatProtection' dns_threat_protection: FirewallDomainRedirectionAction + :param str firewall_domain_list_id: ResourceId :param 'FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction' firewall_domain_redirection_action: FirewallDomainRedirectionAction + :param str firewall_threat_protection_id: ResourceId :param str qtype: Qtype """ pulumi.set(__self__, "action", action) - pulumi.set(__self__, "firewall_domain_list_id", firewall_domain_list_id) pulumi.set(__self__, "priority", priority) if block_override_dns_type is not None: pulumi.set(__self__, "block_override_dns_type", block_override_dns_type) @@ -85,8 +96,16 @@ def __init__(__self__, *, pulumi.set(__self__, "block_override_ttl", block_override_ttl) if block_response is not None: pulumi.set(__self__, "block_response", block_response) + if confidence_threshold is not None: + pulumi.set(__self__, "confidence_threshold", confidence_threshold) + if dns_threat_protection is not None: + pulumi.set(__self__, "dns_threat_protection", dns_threat_protection) + if firewall_domain_list_id is not None: + pulumi.set(__self__, "firewall_domain_list_id", firewall_domain_list_id) if firewall_domain_redirection_action is not None: pulumi.set(__self__, "firewall_domain_redirection_action", firewall_domain_redirection_action) + if firewall_threat_protection_id is not None: + pulumi.set(__self__, "firewall_threat_protection_id", firewall_threat_protection_id) if qtype is not None: pulumi.set(__self__, "qtype", qtype) @@ -98,14 +117,6 @@ def action(self) -> 'FirewallRuleGroupFirewallRuleAction': """ return pulumi.get(self, "action") - @property - @pulumi.getter(name="firewallDomainListId") - def firewall_domain_list_id(self) -> str: - """ - ResourceId - """ - return pulumi.get(self, "firewall_domain_list_id") - @property @pulumi.getter def priority(self) -> int: @@ -146,6 +157,30 @@ def block_response(self) -> Optional['FirewallRuleGroupFirewallRuleBlockResponse """ return pulumi.get(self, "block_response") + @property + @pulumi.getter(name="confidenceThreshold") + def confidence_threshold(self) -> Optional['FirewallRuleGroupFirewallRuleConfidenceThreshold']: + """ + FirewallDomainRedirectionAction + """ + return pulumi.get(self, "confidence_threshold") + + @property + @pulumi.getter(name="dnsThreatProtection") + def dns_threat_protection(self) -> Optional['FirewallRuleGroupFirewallRuleDnsThreatProtection']: + """ + FirewallDomainRedirectionAction + """ + return pulumi.get(self, "dns_threat_protection") + + @property + @pulumi.getter(name="firewallDomainListId") + def firewall_domain_list_id(self) -> Optional[str]: + """ + ResourceId + """ + return pulumi.get(self, "firewall_domain_list_id") + @property @pulumi.getter(name="firewallDomainRedirectionAction") def firewall_domain_redirection_action(self) -> Optional['FirewallRuleGroupFirewallRuleFirewallDomainRedirectionAction']: @@ -154,6 +189,14 @@ def firewall_domain_redirection_action(self) -> Optional['FirewallRuleGroupFirew """ return pulumi.get(self, "firewall_domain_redirection_action") + @property + @pulumi.getter(name="firewallThreatProtectionId") + def firewall_threat_protection_id(self) -> Optional[str]: + """ + ResourceId + """ + return pulumi.get(self, "firewall_threat_protection_id") + @property @pulumi.getter def qtype(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws_native/s3express/_enums.py b/sdk/python/pulumi_aws_native/s3express/_enums.py index 911e26d2ca..f568d6d7aa 100644 --- a/sdk/python/pulumi_aws_native/s3express/_enums.py +++ b/sdk/python/pulumi_aws_native/s3express/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'DirectoryBucketDataRedundancy', + 'DirectoryBucketRuleStatus', 'DirectoryBucketServerSideEncryptionByDefaultSseAlgorithm', ] @@ -17,6 +18,11 @@ class DirectoryBucketDataRedundancy(str, Enum): SINGLE_AVAILABILITY_ZONE = "SingleAvailabilityZone" +class DirectoryBucketRuleStatus(str, Enum): + ENABLED = "Enabled" + DISABLED = "Disabled" + + class DirectoryBucketServerSideEncryptionByDefaultSseAlgorithm(str, Enum): """ Server-side encryption algorithm to use for the default encryption. diff --git a/sdk/python/pulumi_aws_native/s3express/_inputs.py b/sdk/python/pulumi_aws_native/s3express/_inputs.py index b7e79c7e0d..3233441971 100644 --- a/sdk/python/pulumi_aws_native/s3express/_inputs.py +++ b/sdk/python/pulumi_aws_native/s3express/_inputs.py @@ -16,8 +16,14 @@ from ._enums import * __all__ = [ + 'DirectoryBucketAbortIncompleteMultipartUploadArgs', + 'DirectoryBucketAbortIncompleteMultipartUploadArgsDict', 'DirectoryBucketBucketEncryptionArgs', 'DirectoryBucketBucketEncryptionArgsDict', + 'DirectoryBucketLifecycleConfigurationArgs', + 'DirectoryBucketLifecycleConfigurationArgsDict', + 'DirectoryBucketRuleArgs', + 'DirectoryBucketRuleArgsDict', 'DirectoryBucketServerSideEncryptionByDefaultArgs', 'DirectoryBucketServerSideEncryptionByDefaultArgsDict', 'DirectoryBucketServerSideEncryptionRuleArgs', @@ -26,6 +32,41 @@ MYPY = False +if not MYPY: + class DirectoryBucketAbortIncompleteMultipartUploadArgsDict(TypedDict): + """ + Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + """ + days_after_initiation: pulumi.Input[int] + """ + Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + """ +elif False: + DirectoryBucketAbortIncompleteMultipartUploadArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DirectoryBucketAbortIncompleteMultipartUploadArgs: + def __init__(__self__, *, + days_after_initiation: pulumi.Input[int]): + """ + Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + :param pulumi.Input[int] days_after_initiation: Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + """ + pulumi.set(__self__, "days_after_initiation", days_after_initiation) + + @property + @pulumi.getter(name="daysAfterInitiation") + def days_after_initiation(self) -> pulumi.Input[int]: + """ + Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + """ + return pulumi.get(self, "days_after_initiation") + + @days_after_initiation.setter + def days_after_initiation(self, value: pulumi.Input[int]): + pulumi.set(self, "days_after_initiation", value) + + if not MYPY: class DirectoryBucketBucketEncryptionArgsDict(TypedDict): """ @@ -61,6 +102,143 @@ def server_side_encryption_configuration(self, value: pulumi.Input[Sequence[pulu pulumi.set(self, "server_side_encryption_configuration", value) +if not MYPY: + class DirectoryBucketLifecycleConfigurationArgsDict(TypedDict): + rules: pulumi.Input[Sequence[pulumi.Input['DirectoryBucketRuleArgsDict']]] + """ + A lifecycle rule for individual objects in an Amazon S3 Express bucket. + """ +elif False: + DirectoryBucketLifecycleConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DirectoryBucketLifecycleConfigurationArgs: + def __init__(__self__, *, + rules: pulumi.Input[Sequence[pulumi.Input['DirectoryBucketRuleArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['DirectoryBucketRuleArgs']]] rules: A lifecycle rule for individual objects in an Amazon S3 Express bucket. + """ + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter + def rules(self) -> pulumi.Input[Sequence[pulumi.Input['DirectoryBucketRuleArgs']]]: + """ + A lifecycle rule for individual objects in an Amazon S3 Express bucket. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: pulumi.Input[Sequence[pulumi.Input['DirectoryBucketRuleArgs']]]): + pulumi.set(self, "rules", value) + + +if not MYPY: + class DirectoryBucketRuleArgsDict(TypedDict): + """ + You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + """ + status: pulumi.Input['DirectoryBucketRuleStatus'] + abort_incomplete_multipart_upload: NotRequired[pulumi.Input['DirectoryBucketAbortIncompleteMultipartUploadArgsDict']] + expiration_in_days: NotRequired[pulumi.Input[int]] + id: NotRequired[pulumi.Input[str]] + object_size_greater_than: NotRequired[pulumi.Input[str]] + object_size_less_than: NotRequired[pulumi.Input[str]] + prefix: NotRequired[pulumi.Input[str]] +elif False: + DirectoryBucketRuleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DirectoryBucketRuleArgs: + def __init__(__self__, *, + status: pulumi.Input['DirectoryBucketRuleStatus'], + abort_incomplete_multipart_upload: Optional[pulumi.Input['DirectoryBucketAbortIncompleteMultipartUploadArgs']] = None, + expiration_in_days: Optional[pulumi.Input[int]] = None, + id: Optional[pulumi.Input[str]] = None, + object_size_greater_than: Optional[pulumi.Input[str]] = None, + object_size_less_than: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None): + """ + You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + """ + pulumi.set(__self__, "status", status) + if abort_incomplete_multipart_upload is not None: + pulumi.set(__self__, "abort_incomplete_multipart_upload", abort_incomplete_multipart_upload) + if expiration_in_days is not None: + pulumi.set(__self__, "expiration_in_days", expiration_in_days) + if id is not None: + pulumi.set(__self__, "id", id) + if object_size_greater_than is not None: + pulumi.set(__self__, "object_size_greater_than", object_size_greater_than) + if object_size_less_than is not None: + pulumi.set(__self__, "object_size_less_than", object_size_less_than) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter + def status(self) -> pulumi.Input['DirectoryBucketRuleStatus']: + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input['DirectoryBucketRuleStatus']): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="abortIncompleteMultipartUpload") + def abort_incomplete_multipart_upload(self) -> Optional[pulumi.Input['DirectoryBucketAbortIncompleteMultipartUploadArgs']]: + return pulumi.get(self, "abort_incomplete_multipart_upload") + + @abort_incomplete_multipart_upload.setter + def abort_incomplete_multipart_upload(self, value: Optional[pulumi.Input['DirectoryBucketAbortIncompleteMultipartUploadArgs']]): + pulumi.set(self, "abort_incomplete_multipart_upload", value) + + @property + @pulumi.getter(name="expirationInDays") + def expiration_in_days(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "expiration_in_days") + + @expiration_in_days.setter + def expiration_in_days(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "expiration_in_days", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter(name="objectSizeGreaterThan") + def object_size_greater_than(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "object_size_greater_than") + + @object_size_greater_than.setter + def object_size_greater_than(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "object_size_greater_than", value) + + @property + @pulumi.getter(name="objectSizeLessThan") + def object_size_less_than(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "object_size_less_than") + + @object_size_less_than.setter + def object_size_less_than(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "object_size_less_than", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + if not MYPY: class DirectoryBucketServerSideEncryptionByDefaultArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/s3express/directory_bucket.py b/sdk/python/pulumi_aws_native/s3express/directory_bucket.py index 0524b76ca5..258723f07e 100644 --- a/sdk/python/pulumi_aws_native/s3express/directory_bucket.py +++ b/sdk/python/pulumi_aws_native/s3express/directory_bucket.py @@ -25,13 +25,15 @@ def __init__(__self__, *, data_redundancy: pulumi.Input['DirectoryBucketDataRedundancy'], location_name: pulumi.Input[str], bucket_encryption: Optional[pulumi.Input['DirectoryBucketBucketEncryptionArgs']] = None, - bucket_name: Optional[pulumi.Input[str]] = None): + bucket_name: Optional[pulumi.Input[str]] = None, + lifecycle_configuration: Optional[pulumi.Input['DirectoryBucketLifecycleConfigurationArgs']] = None): """ The set of arguments for constructing a DirectoryBucket resource. :param pulumi.Input['DirectoryBucketDataRedundancy'] data_redundancy: Specifies the number of Availability Zone that's used for redundancy for the bucket. :param pulumi.Input[str] location_name: Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. :param pulumi.Input['DirectoryBucketBucketEncryptionArgs'] bucket_encryption: Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* . :param pulumi.Input[str] bucket_name: Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name. + :param pulumi.Input['DirectoryBucketLifecycleConfigurationArgs'] lifecycle_configuration: Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. """ pulumi.set(__self__, "data_redundancy", data_redundancy) pulumi.set(__self__, "location_name", location_name) @@ -39,6 +41,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bucket_encryption", bucket_encryption) if bucket_name is not None: pulumi.set(__self__, "bucket_name", bucket_name) + if lifecycle_configuration is not None: + pulumi.set(__self__, "lifecycle_configuration", lifecycle_configuration) @property @pulumi.getter(name="dataRedundancy") @@ -88,6 +92,18 @@ def bucket_name(self) -> Optional[pulumi.Input[str]]: def bucket_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "bucket_name", value) + @property + @pulumi.getter(name="lifecycleConfiguration") + def lifecycle_configuration(self) -> Optional[pulumi.Input['DirectoryBucketLifecycleConfigurationArgs']]: + """ + Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + """ + return pulumi.get(self, "lifecycle_configuration") + + @lifecycle_configuration.setter + def lifecycle_configuration(self, value: Optional[pulumi.Input['DirectoryBucketLifecycleConfigurationArgs']]): + pulumi.set(self, "lifecycle_configuration", value) + class DirectoryBucket(pulumi.CustomResource): @overload @@ -97,6 +113,7 @@ def __init__(__self__, bucket_encryption: Optional[pulumi.Input[Union['DirectoryBucketBucketEncryptionArgs', 'DirectoryBucketBucketEncryptionArgsDict']]] = None, bucket_name: Optional[pulumi.Input[str]] = None, data_redundancy: Optional[pulumi.Input['DirectoryBucketDataRedundancy']] = None, + lifecycle_configuration: Optional[pulumi.Input[Union['DirectoryBucketLifecycleConfigurationArgs', 'DirectoryBucketLifecycleConfigurationArgsDict']]] = None, location_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -107,6 +124,7 @@ def __init__(__self__, :param pulumi.Input[Union['DirectoryBucketBucketEncryptionArgs', 'DirectoryBucketBucketEncryptionArgsDict']] bucket_encryption: Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see [Setting and monitoring default encryption for directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html) in the *Amazon S3 User Guide* . :param pulumi.Input[str] bucket_name: Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name. :param pulumi.Input['DirectoryBucketDataRedundancy'] data_redundancy: Specifies the number of Availability Zone that's used for redundancy for the bucket. + :param pulumi.Input[Union['DirectoryBucketLifecycleConfigurationArgs', 'DirectoryBucketLifecycleConfigurationArgsDict']] lifecycle_configuration: Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. :param pulumi.Input[str] location_name: Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. """ ... @@ -136,6 +154,7 @@ def _internal_init(__self__, bucket_encryption: Optional[pulumi.Input[Union['DirectoryBucketBucketEncryptionArgs', 'DirectoryBucketBucketEncryptionArgsDict']]] = None, bucket_name: Optional[pulumi.Input[str]] = None, data_redundancy: Optional[pulumi.Input['DirectoryBucketDataRedundancy']] = None, + lifecycle_configuration: Optional[pulumi.Input[Union['DirectoryBucketLifecycleConfigurationArgs', 'DirectoryBucketLifecycleConfigurationArgsDict']]] = None, location_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -151,6 +170,7 @@ def _internal_init(__self__, if data_redundancy is None and not opts.urn: raise TypeError("Missing required property 'data_redundancy'") __props__.__dict__["data_redundancy"] = data_redundancy + __props__.__dict__["lifecycle_configuration"] = lifecycle_configuration if location_name is None and not opts.urn: raise TypeError("Missing required property 'location_name'") __props__.__dict__["location_name"] = location_name @@ -185,6 +205,7 @@ def get(resource_name: str, __props__.__dict__["bucket_encryption"] = None __props__.__dict__["bucket_name"] = None __props__.__dict__["data_redundancy"] = None + __props__.__dict__["lifecycle_configuration"] = None __props__.__dict__["location_name"] = None return DirectoryBucket(resource_name, opts=opts, __props__=__props__) @@ -228,6 +249,14 @@ def data_redundancy(self) -> pulumi.Output['DirectoryBucketDataRedundancy']: """ return pulumi.get(self, "data_redundancy") + @property + @pulumi.getter(name="lifecycleConfiguration") + def lifecycle_configuration(self) -> pulumi.Output[Optional['outputs.DirectoryBucketLifecycleConfiguration']]: + """ + Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + """ + return pulumi.get(self, "lifecycle_configuration") + @property @pulumi.getter(name="locationName") def location_name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py b/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py index 525bc8f088..8ed5a98863 100644 --- a/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py +++ b/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py @@ -25,7 +25,7 @@ @pulumi.output_type class GetDirectoryBucketResult: - def __init__(__self__, arn=None, availability_zone_name=None, bucket_encryption=None): + def __init__(__self__, arn=None, availability_zone_name=None, bucket_encryption=None, lifecycle_configuration=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -35,6 +35,9 @@ def __init__(__self__, arn=None, availability_zone_name=None, bucket_encryption= if bucket_encryption and not isinstance(bucket_encryption, dict): raise TypeError("Expected argument 'bucket_encryption' to be a dict") pulumi.set(__self__, "bucket_encryption", bucket_encryption) + if lifecycle_configuration and not isinstance(lifecycle_configuration, dict): + raise TypeError("Expected argument 'lifecycle_configuration' to be a dict") + pulumi.set(__self__, "lifecycle_configuration", lifecycle_configuration) @property @pulumi.getter @@ -60,6 +63,14 @@ def bucket_encryption(self) -> Optional['outputs.DirectoryBucketBucketEncryption """ return pulumi.get(self, "bucket_encryption") + @property + @pulumi.getter(name="lifecycleConfiguration") + def lifecycle_configuration(self) -> Optional['outputs.DirectoryBucketLifecycleConfiguration']: + """ + Lifecycle rules that define how Amazon S3 Express manages objects during their lifetime. + """ + return pulumi.get(self, "lifecycle_configuration") + class AwaitableGetDirectoryBucketResult(GetDirectoryBucketResult): # pylint: disable=using-constant-test @@ -69,7 +80,8 @@ def __await__(self): return GetDirectoryBucketResult( arn=self.arn, availability_zone_name=self.availability_zone_name, - bucket_encryption=self.bucket_encryption) + bucket_encryption=self.bucket_encryption, + lifecycle_configuration=self.lifecycle_configuration) def get_directory_bucket(bucket_name: Optional[str] = None, @@ -88,7 +100,8 @@ def get_directory_bucket(bucket_name: Optional[str] = None, return AwaitableGetDirectoryBucketResult( arn=pulumi.get(__ret__, 'arn'), availability_zone_name=pulumi.get(__ret__, 'availability_zone_name'), - bucket_encryption=pulumi.get(__ret__, 'bucket_encryption')) + bucket_encryption=pulumi.get(__ret__, 'bucket_encryption'), + lifecycle_configuration=pulumi.get(__ret__, 'lifecycle_configuration')) def get_directory_bucket_output(bucket_name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDirectoryBucketResult]: """ @@ -104,4 +117,5 @@ def get_directory_bucket_output(bucket_name: Optional[pulumi.Input[str]] = None, return __ret__.apply(lambda __response__: GetDirectoryBucketResult( arn=pulumi.get(__response__, 'arn'), availability_zone_name=pulumi.get(__response__, 'availability_zone_name'), - bucket_encryption=pulumi.get(__response__, 'bucket_encryption'))) + bucket_encryption=pulumi.get(__response__, 'bucket_encryption'), + lifecycle_configuration=pulumi.get(__response__, 'lifecycle_configuration'))) diff --git a/sdk/python/pulumi_aws_native/s3express/outputs.py b/sdk/python/pulumi_aws_native/s3express/outputs.py index cdb325bb6d..0d7c7fd1f1 100644 --- a/sdk/python/pulumi_aws_native/s3express/outputs.py +++ b/sdk/python/pulumi_aws_native/s3express/outputs.py @@ -17,11 +17,53 @@ from ._enums import * __all__ = [ + 'DirectoryBucketAbortIncompleteMultipartUpload', 'DirectoryBucketBucketEncryption', + 'DirectoryBucketLifecycleConfiguration', + 'DirectoryBucketRule', 'DirectoryBucketServerSideEncryptionByDefault', 'DirectoryBucketServerSideEncryptionRule', ] +@pulumi.output_type +class DirectoryBucketAbortIncompleteMultipartUpload(dict): + """ + Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "daysAfterInitiation": + suggest = "days_after_initiation" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectoryBucketAbortIncompleteMultipartUpload. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectoryBucketAbortIncompleteMultipartUpload.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectoryBucketAbortIncompleteMultipartUpload.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + days_after_initiation: int): + """ + Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. + :param int days_after_initiation: Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + """ + pulumi.set(__self__, "days_after_initiation", days_after_initiation) + + @property + @pulumi.getter(name="daysAfterInitiation") + def days_after_initiation(self) -> int: + """ + Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload. + """ + return pulumi.get(self, "days_after_initiation") + + @pulumi.output_type class DirectoryBucketBucketEncryption(dict): """ @@ -61,6 +103,113 @@ def server_side_encryption_configuration(self) -> Sequence['outputs.DirectoryBuc return pulumi.get(self, "server_side_encryption_configuration") +@pulumi.output_type +class DirectoryBucketLifecycleConfiguration(dict): + def __init__(__self__, *, + rules: Sequence['outputs.DirectoryBucketRule']): + """ + :param Sequence['DirectoryBucketRule'] rules: A lifecycle rule for individual objects in an Amazon S3 Express bucket. + """ + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter + def rules(self) -> Sequence['outputs.DirectoryBucketRule']: + """ + A lifecycle rule for individual objects in an Amazon S3 Express bucket. + """ + return pulumi.get(self, "rules") + + +@pulumi.output_type +class DirectoryBucketRule(dict): + """ + You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "abortIncompleteMultipartUpload": + suggest = "abort_incomplete_multipart_upload" + elif key == "expirationInDays": + suggest = "expiration_in_days" + elif key == "objectSizeGreaterThan": + suggest = "object_size_greater_than" + elif key == "objectSizeLessThan": + suggest = "object_size_less_than" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DirectoryBucketRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DirectoryBucketRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DirectoryBucketRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + status: 'DirectoryBucketRuleStatus', + abort_incomplete_multipart_upload: Optional['outputs.DirectoryBucketAbortIncompleteMultipartUpload'] = None, + expiration_in_days: Optional[int] = None, + id: Optional[str] = None, + object_size_greater_than: Optional[str] = None, + object_size_less_than: Optional[str] = None, + prefix: Optional[str] = None): + """ + You must specify at least one of the following properties: AbortIncompleteMultipartUpload, or ExpirationInDays. + """ + pulumi.set(__self__, "status", status) + if abort_incomplete_multipart_upload is not None: + pulumi.set(__self__, "abort_incomplete_multipart_upload", abort_incomplete_multipart_upload) + if expiration_in_days is not None: + pulumi.set(__self__, "expiration_in_days", expiration_in_days) + if id is not None: + pulumi.set(__self__, "id", id) + if object_size_greater_than is not None: + pulumi.set(__self__, "object_size_greater_than", object_size_greater_than) + if object_size_less_than is not None: + pulumi.set(__self__, "object_size_less_than", object_size_less_than) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter + def status(self) -> 'DirectoryBucketRuleStatus': + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="abortIncompleteMultipartUpload") + def abort_incomplete_multipart_upload(self) -> Optional['outputs.DirectoryBucketAbortIncompleteMultipartUpload']: + return pulumi.get(self, "abort_incomplete_multipart_upload") + + @property + @pulumi.getter(name="expirationInDays") + def expiration_in_days(self) -> Optional[int]: + return pulumi.get(self, "expiration_in_days") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="objectSizeGreaterThan") + def object_size_greater_than(self) -> Optional[str]: + return pulumi.get(self, "object_size_greater_than") + + @property + @pulumi.getter(name="objectSizeLessThan") + def object_size_less_than(self) -> Optional[str]: + return pulumi.get(self, "object_size_less_than") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + return pulumi.get(self, "prefix") + + @pulumi.output_type class DirectoryBucketServerSideEncryptionByDefault(dict): """ diff --git a/sdk/python/pulumi_aws_native/sagemaker/_enums.py b/sdk/python/pulumi_aws_native/sagemaker/_enums.py index 302620bd8d..47157d5e8a 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_enums.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_enums.py @@ -321,6 +321,11 @@ class DomainMlTools(str, Enum): ENDPOINTS = "Endpoints" PROJECTS = "Projects" INFERENCE_OPTIMIZATION = "InferenceOptimization" + HYPER_POD_CLUSTERS = "HyperPodClusters" + COMET = "Comet" + DEEPCHECKS_LLM_EVALUATION = "DeepchecksLLMEvaluation" + FIDDLER = "Fiddler" + LAKERA_GUARD = "LakeraGuard" class DomainRStudioServerProAppSettingsAccessStatus(str, Enum): @@ -1116,6 +1121,11 @@ class UserProfileMlTools(str, Enum): ENDPOINTS = "Endpoints" PROJECTS = "Projects" INFERENCE_OPTIMIZATION = "InferenceOptimization" + HYPER_POD_CLUSTERS = "HyperPodClusters" + COMET = "Comet" + DEEPCHECKS_LLM_EVALUATION = "DeepchecksLLMEvaluation" + FIDDLER = "Fiddler" + LAKERA_GUARD = "LakeraGuard" 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 a7af882d9e..667cdc8ea8 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py @@ -1039,6 +1039,7 @@ class ClusterInstanceGroupArgsDict(TypedDict): """ The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. """ + custom_metadata: NotRequired[Any] instance_storage_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgsDict']]]] on_start_deep_health_checks: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterDeepHealthCheckType']]]] override_vpc_config: NotRequired[pulumi.Input['ClusterVpcConfigArgsDict']] @@ -1058,6 +1059,7 @@ def __init__(__self__, *, instance_type: pulumi.Input[str], life_cycle_config: pulumi.Input['ClusterLifeCycleConfigArgs'], current_count: Optional[pulumi.Input[int]] = None, + custom_metadata: Optional[Any] = 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, override_vpc_config: Optional[pulumi.Input['ClusterVpcConfigArgs']] = None, @@ -1075,6 +1077,8 @@ def __init__(__self__, *, pulumi.set(__self__, "life_cycle_config", life_cycle_config) if current_count is not None: pulumi.set(__self__, "current_count", current_count) + if custom_metadata is not None: + pulumi.set(__self__, "custom_metadata", custom_metadata) 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: @@ -1144,6 +1148,15 @@ def current_count(self) -> Optional[pulumi.Input[int]]: def current_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "current_count", value) + @property + @pulumi.getter(name="customMetadata") + def custom_metadata(self) -> Optional[Any]: + return pulumi.get(self, "custom_metadata") + + @custom_metadata.setter + def custom_metadata(self, value: Optional[Any]): + pulumi.set(self, "custom_metadata", value) + @property @pulumi.getter(name="instanceStorageConfigs") def instance_storage_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgs']]]]: diff --git a/sdk/python/pulumi_aws_native/sagemaker/outputs.py b/sdk/python/pulumi_aws_native/sagemaker/outputs.py index c2bb911239..efe0b9aab0 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/outputs.py @@ -728,6 +728,8 @@ def __key_warning(key: str): suggest = "life_cycle_config" elif key == "currentCount": suggest = "current_count" + elif key == "customMetadata": + suggest = "custom_metadata" elif key == "instanceStorageConfigs": suggest = "instance_storage_configs" elif key == "onStartDeepHealthChecks": @@ -755,6 +757,7 @@ def __init__(__self__, *, instance_type: str, life_cycle_config: 'outputs.ClusterLifeCycleConfig', current_count: Optional[int] = None, + custom_metadata: Optional[Any] = None, instance_storage_configs: Optional[Sequence['outputs.ClusterInstanceStorageConfig']] = None, on_start_deep_health_checks: Optional[Sequence['ClusterDeepHealthCheckType']] = None, override_vpc_config: Optional['outputs.ClusterVpcConfig'] = None, @@ -772,6 +775,8 @@ def __init__(__self__, *, pulumi.set(__self__, "life_cycle_config", life_cycle_config) if current_count is not None: pulumi.set(__self__, "current_count", current_count) + if custom_metadata is not None: + pulumi.set(__self__, "custom_metadata", custom_metadata) 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: @@ -817,6 +822,11 @@ def current_count(self) -> Optional[int]: """ return pulumi.get(self, "current_count") + @property + @pulumi.getter(name="customMetadata") + def custom_metadata(self) -> Optional[Any]: + return pulumi.get(self, "custom_metadata") + @property @pulumi.getter(name="instanceStorageConfigs") def instance_storage_configs(self) -> Optional[Sequence['outputs.ClusterInstanceStorageConfig']]: diff --git a/sdk/python/pulumi_aws_native/synthetics/_enums.py b/sdk/python/pulumi_aws_native/synthetics/_enums.py index 326dcb532d..bca6180f54 100644 --- a/sdk/python/pulumi_aws_native/synthetics/_enums.py +++ b/sdk/python/pulumi_aws_native/synthetics/_enums.py @@ -5,10 +5,19 @@ from enum import Enum __all__ = [ + 'CanaryProvisionedResourceCleanup', 'CanaryResourceToTag', ] +class CanaryProvisionedResourceCleanup(str, Enum): + """ + Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + """ + AUTOMATIC = "AUTOMATIC" + OFF = "OFF" + + class CanaryResourceToTag(str, Enum): """ Specifies which resources canary tags should be replicated to. diff --git a/sdk/python/pulumi_aws_native/synthetics/canary.py b/sdk/python/pulumi_aws_native/synthetics/canary.py index a9e48d3589..416e54ea0f 100644 --- a/sdk/python/pulumi_aws_native/synthetics/canary.py +++ b/sdk/python/pulumi_aws_native/synthetics/canary.py @@ -33,6 +33,7 @@ def __init__(__self__, *, delete_lambda_resources_on_canary_deletion: Optional[pulumi.Input[bool]] = None, failure_retention_period: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, + provisioned_resource_cleanup: Optional[pulumi.Input['CanaryProvisionedResourceCleanup']] = None, resources_to_replicate_tags: Optional[pulumi.Input[Sequence[pulumi.Input['CanaryResourceToTag']]]] = None, run_config: Optional[pulumi.Input['CanaryRunConfigArgs']] = None, start_canary_after_creation: Optional[pulumi.Input[bool]] = None, @@ -51,6 +52,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] delete_lambda_resources_on_canary_deletion: Deletes associated lambda resources created by Synthetics if set to True. Default is False :param pulumi.Input[int] failure_retention_period: Retention period of failed canary runs represented in number of days :param pulumi.Input[str] name: Name of the canary. + :param pulumi.Input['CanaryProvisionedResourceCleanup'] provisioned_resource_cleanup: Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. :param pulumi.Input[Sequence[pulumi.Input['CanaryResourceToTag']]] resources_to_replicate_tags: List of resources which canary tags should be replicated to. :param pulumi.Input['CanaryRunConfigArgs'] run_config: Provide canary run configuration :param pulumi.Input[bool] start_canary_after_creation: Runs canary if set to True. Default is False @@ -72,6 +74,8 @@ def __init__(__self__, *, pulumi.set(__self__, "failure_retention_period", failure_retention_period) if name is not None: pulumi.set(__self__, "name", name) + if provisioned_resource_cleanup is not None: + pulumi.set(__self__, "provisioned_resource_cleanup", provisioned_resource_cleanup) if resources_to_replicate_tags is not None: pulumi.set(__self__, "resources_to_replicate_tags", resources_to_replicate_tags) if run_config is not None: @@ -195,6 +199,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="provisionedResourceCleanup") + def provisioned_resource_cleanup(self) -> Optional[pulumi.Input['CanaryProvisionedResourceCleanup']]: + """ + Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + """ + return pulumi.get(self, "provisioned_resource_cleanup") + + @provisioned_resource_cleanup.setter + def provisioned_resource_cleanup(self, value: Optional[pulumi.Input['CanaryProvisionedResourceCleanup']]): + pulumi.set(self, "provisioned_resource_cleanup", value) + @property @pulumi.getter(name="resourcesToReplicateTags") def resources_to_replicate_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CanaryResourceToTag']]]]: @@ -292,6 +308,7 @@ def __init__(__self__, execution_role_arn: Optional[pulumi.Input[str]] = None, failure_retention_period: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, + provisioned_resource_cleanup: Optional[pulumi.Input['CanaryProvisionedResourceCleanup']] = None, resources_to_replicate_tags: Optional[pulumi.Input[Sequence[pulumi.Input['CanaryResourceToTag']]]] = None, run_config: Optional[pulumi.Input[Union['CanaryRunConfigArgs', 'CanaryRunConfigArgsDict']]] = None, runtime_version: Optional[pulumi.Input[str]] = None, @@ -401,6 +418,7 @@ def __init__(__self__, :param pulumi.Input[str] execution_role_arn: Lambda Execution role used to run your canaries :param pulumi.Input[int] failure_retention_period: Retention period of failed canary runs represented in number of days :param pulumi.Input[str] name: Name of the canary. + :param pulumi.Input['CanaryProvisionedResourceCleanup'] provisioned_resource_cleanup: Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. :param pulumi.Input[Sequence[pulumi.Input['CanaryResourceToTag']]] resources_to_replicate_tags: List of resources which canary tags should be replicated to. :param pulumi.Input[Union['CanaryRunConfigArgs', 'CanaryRunConfigArgsDict']] run_config: Provide canary run configuration :param pulumi.Input[str] runtime_version: Runtime version of Synthetics Library @@ -529,6 +547,7 @@ def _internal_init(__self__, execution_role_arn: Optional[pulumi.Input[str]] = None, failure_retention_period: Optional[pulumi.Input[int]] = None, name: Optional[pulumi.Input[str]] = None, + provisioned_resource_cleanup: Optional[pulumi.Input['CanaryProvisionedResourceCleanup']] = None, resources_to_replicate_tags: Optional[pulumi.Input[Sequence[pulumi.Input['CanaryResourceToTag']]]] = None, run_config: Optional[pulumi.Input[Union['CanaryRunConfigArgs', 'CanaryRunConfigArgsDict']]] = None, runtime_version: Optional[pulumi.Input[str]] = None, @@ -560,6 +579,7 @@ def _internal_init(__self__, __props__.__dict__["execution_role_arn"] = execution_role_arn __props__.__dict__["failure_retention_period"] = failure_retention_period __props__.__dict__["name"] = name + __props__.__dict__["provisioned_resource_cleanup"] = provisioned_resource_cleanup __props__.__dict__["resources_to_replicate_tags"] = resources_to_replicate_tags __props__.__dict__["run_config"] = run_config if runtime_version is None and not opts.urn: @@ -607,6 +627,7 @@ def get(resource_name: str, __props__.__dict__["execution_role_arn"] = None __props__.__dict__["failure_retention_period"] = None __props__.__dict__["name"] = None + __props__.__dict__["provisioned_resource_cleanup"] = None __props__.__dict__["resources_to_replicate_tags"] = None __props__.__dict__["run_config"] = None __props__.__dict__["runtime_version"] = None @@ -683,6 +704,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="provisionedResourceCleanup") + def provisioned_resource_cleanup(self) -> pulumi.Output[Optional['CanaryProvisionedResourceCleanup']]: + """ + Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + """ + return pulumi.get(self, "provisioned_resource_cleanup") + @property @pulumi.getter(name="resourcesToReplicateTags") def resources_to_replicate_tags(self) -> pulumi.Output[Optional[Sequence['CanaryResourceToTag']]]: diff --git a/sdk/python/pulumi_aws_native/synthetics/get_canary.py b/sdk/python/pulumi_aws_native/synthetics/get_canary.py index 1bd56dd2da..b9e9a61659 100644 --- a/sdk/python/pulumi_aws_native/synthetics/get_canary.py +++ b/sdk/python/pulumi_aws_native/synthetics/get_canary.py @@ -15,6 +15,7 @@ from .. import _utilities from . import outputs from .. import outputs as _root_outputs +from ._enums import * __all__ = [ 'GetCanaryResult', @@ -25,7 +26,7 @@ @pulumi.output_type class GetCanaryResult: - def __init__(__self__, artifact_config=None, artifact_s3_location=None, code=None, execution_role_arn=None, failure_retention_period=None, id=None, run_config=None, runtime_version=None, schedule=None, state=None, success_retention_period=None, tags=None, vpc_config=None): + def __init__(__self__, artifact_config=None, artifact_s3_location=None, code=None, execution_role_arn=None, failure_retention_period=None, id=None, provisioned_resource_cleanup=None, run_config=None, runtime_version=None, schedule=None, state=None, success_retention_period=None, tags=None, vpc_config=None): if artifact_config and not isinstance(artifact_config, dict): raise TypeError("Expected argument 'artifact_config' to be a dict") pulumi.set(__self__, "artifact_config", artifact_config) @@ -44,6 +45,9 @@ def __init__(__self__, artifact_config=None, artifact_s3_location=None, code=Non if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if provisioned_resource_cleanup and not isinstance(provisioned_resource_cleanup, str): + raise TypeError("Expected argument 'provisioned_resource_cleanup' to be a str") + pulumi.set(__self__, "provisioned_resource_cleanup", provisioned_resource_cleanup) if run_config and not isinstance(run_config, dict): raise TypeError("Expected argument 'run_config' to be a dict") pulumi.set(__self__, "run_config", run_config) @@ -114,6 +118,14 @@ def id(self) -> Optional[str]: """ return pulumi.get(self, "id") + @property + @pulumi.getter(name="provisionedResourceCleanup") + def provisioned_resource_cleanup(self) -> Optional['CanaryProvisionedResourceCleanup']: + """ + Setting to control if provisioned resources created by Synthetics are deleted alongside the canary. Default is AUTOMATIC. + """ + return pulumi.get(self, "provisioned_resource_cleanup") + @property @pulumi.getter(name="runConfig") def run_config(self) -> Optional['outputs.CanaryRunConfig']: @@ -183,6 +195,7 @@ def __await__(self): execution_role_arn=self.execution_role_arn, failure_retention_period=self.failure_retention_period, id=self.id, + provisioned_resource_cleanup=self.provisioned_resource_cleanup, run_config=self.run_config, runtime_version=self.runtime_version, schedule=self.schedule, @@ -212,6 +225,7 @@ def get_canary(name: Optional[str] = None, execution_role_arn=pulumi.get(__ret__, 'execution_role_arn'), failure_retention_period=pulumi.get(__ret__, 'failure_retention_period'), id=pulumi.get(__ret__, 'id'), + provisioned_resource_cleanup=pulumi.get(__ret__, 'provisioned_resource_cleanup'), run_config=pulumi.get(__ret__, 'run_config'), runtime_version=pulumi.get(__ret__, 'runtime_version'), schedule=pulumi.get(__ret__, 'schedule'), @@ -238,6 +252,7 @@ def get_canary_output(name: Optional[pulumi.Input[str]] = None, execution_role_arn=pulumi.get(__response__, 'execution_role_arn'), failure_retention_period=pulumi.get(__response__, 'failure_retention_period'), id=pulumi.get(__response__, 'id'), + provisioned_resource_cleanup=pulumi.get(__response__, 'provisioned_resource_cleanup'), run_config=pulumi.get(__response__, 'run_config'), runtime_version=pulumi.get(__response__, 'runtime_version'), schedule=pulumi.get(__response__, 'schedule'), diff --git a/sdk/python/pulumi_aws_native/workspacesweb/__init__.py b/sdk/python/pulumi_aws_native/workspacesweb/__init__.py index ba887e5348..a5c3cab84c 100644 --- a/sdk/python/pulumi_aws_native/workspacesweb/__init__.py +++ b/sdk/python/pulumi_aws_native/workspacesweb/__init__.py @@ -7,7 +7,9 @@ # Export this package's modules as members: from ._enums import * from .browser_settings import * +from .data_protection_settings import * from .get_browser_settings import * +from .get_data_protection_settings import * from .get_identity_provider import * from .get_ip_access_settings import * from .get_network_settings import * diff --git a/sdk/python/pulumi_aws_native/workspacesweb/_enums.py b/sdk/python/pulumi_aws_native/workspacesweb/_enums.py index c82f05119b..0b6f597e5d 100644 --- a/sdk/python/pulumi_aws_native/workspacesweb/_enums.py +++ b/sdk/python/pulumi_aws_native/workspacesweb/_enums.py @@ -5,6 +5,7 @@ from enum import Enum __all__ = [ + 'DataProtectionSettingsRedactionPlaceHolderType', 'IdentityProviderType', 'PortalAuthenticationType', 'PortalBrowserType', @@ -15,6 +16,10 @@ ] +class DataProtectionSettingsRedactionPlaceHolderType(str, Enum): + CUSTOM_TEXT = "CustomText" + + class IdentityProviderType(str, Enum): SAML = "SAML" FACEBOOK = "Facebook" diff --git a/sdk/python/pulumi_aws_native/workspacesweb/_inputs.py b/sdk/python/pulumi_aws_native/workspacesweb/_inputs.py index 0a369a74a6..9ef97d5b65 100644 --- a/sdk/python/pulumi_aws_native/workspacesweb/_inputs.py +++ b/sdk/python/pulumi_aws_native/workspacesweb/_inputs.py @@ -16,6 +16,14 @@ from ._enums import * __all__ = [ + 'DataProtectionSettingsCustomPatternArgs', + 'DataProtectionSettingsCustomPatternArgsDict', + 'DataProtectionSettingsInlineRedactionConfigurationArgs', + 'DataProtectionSettingsInlineRedactionConfigurationArgsDict', + 'DataProtectionSettingsInlineRedactionPatternArgs', + 'DataProtectionSettingsInlineRedactionPatternArgsDict', + 'DataProtectionSettingsRedactionPlaceHolderArgs', + 'DataProtectionSettingsRedactionPlaceHolderArgsDict', 'IpAccessSettingsIpRuleArgs', 'IpAccessSettingsIpRuleArgsDict', 'UserSettingsCookieSpecificationArgs', @@ -26,6 +34,249 @@ MYPY = False +if not MYPY: + class DataProtectionSettingsCustomPatternArgsDict(TypedDict): + pattern_name: pulumi.Input[str] + pattern_regex: pulumi.Input[str] + keyword_regex: NotRequired[pulumi.Input[str]] + pattern_description: NotRequired[pulumi.Input[str]] +elif False: + DataProtectionSettingsCustomPatternArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataProtectionSettingsCustomPatternArgs: + def __init__(__self__, *, + pattern_name: pulumi.Input[str], + pattern_regex: pulumi.Input[str], + keyword_regex: Optional[pulumi.Input[str]] = None, + pattern_description: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "pattern_name", pattern_name) + pulumi.set(__self__, "pattern_regex", pattern_regex) + if keyword_regex is not None: + pulumi.set(__self__, "keyword_regex", keyword_regex) + if pattern_description is not None: + pulumi.set(__self__, "pattern_description", pattern_description) + + @property + @pulumi.getter(name="patternName") + def pattern_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "pattern_name") + + @pattern_name.setter + def pattern_name(self, value: pulumi.Input[str]): + pulumi.set(self, "pattern_name", value) + + @property + @pulumi.getter(name="patternRegex") + def pattern_regex(self) -> pulumi.Input[str]: + return pulumi.get(self, "pattern_regex") + + @pattern_regex.setter + def pattern_regex(self, value: pulumi.Input[str]): + pulumi.set(self, "pattern_regex", value) + + @property + @pulumi.getter(name="keywordRegex") + def keyword_regex(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "keyword_regex") + + @keyword_regex.setter + def keyword_regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "keyword_regex", value) + + @property + @pulumi.getter(name="patternDescription") + def pattern_description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "pattern_description") + + @pattern_description.setter + def pattern_description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pattern_description", value) + + +if not MYPY: + class DataProtectionSettingsInlineRedactionConfigurationArgsDict(TypedDict): + inline_redaction_patterns: pulumi.Input[Sequence[pulumi.Input['DataProtectionSettingsInlineRedactionPatternArgsDict']]] + global_confidence_level: NotRequired[pulumi.Input[float]] + global_enforced_urls: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + global_exempt_urls: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] +elif False: + DataProtectionSettingsInlineRedactionConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataProtectionSettingsInlineRedactionConfigurationArgs: + def __init__(__self__, *, + inline_redaction_patterns: pulumi.Input[Sequence[pulumi.Input['DataProtectionSettingsInlineRedactionPatternArgs']]], + global_confidence_level: Optional[pulumi.Input[float]] = None, + global_enforced_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + global_exempt_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + pulumi.set(__self__, "inline_redaction_patterns", inline_redaction_patterns) + if global_confidence_level is not None: + pulumi.set(__self__, "global_confidence_level", global_confidence_level) + if global_enforced_urls is not None: + pulumi.set(__self__, "global_enforced_urls", global_enforced_urls) + if global_exempt_urls is not None: + pulumi.set(__self__, "global_exempt_urls", global_exempt_urls) + + @property + @pulumi.getter(name="inlineRedactionPatterns") + def inline_redaction_patterns(self) -> pulumi.Input[Sequence[pulumi.Input['DataProtectionSettingsInlineRedactionPatternArgs']]]: + return pulumi.get(self, "inline_redaction_patterns") + + @inline_redaction_patterns.setter + def inline_redaction_patterns(self, value: pulumi.Input[Sequence[pulumi.Input['DataProtectionSettingsInlineRedactionPatternArgs']]]): + pulumi.set(self, "inline_redaction_patterns", value) + + @property + @pulumi.getter(name="globalConfidenceLevel") + def global_confidence_level(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "global_confidence_level") + + @global_confidence_level.setter + def global_confidence_level(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "global_confidence_level", value) + + @property + @pulumi.getter(name="globalEnforcedUrls") + def global_enforced_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "global_enforced_urls") + + @global_enforced_urls.setter + def global_enforced_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "global_enforced_urls", value) + + @property + @pulumi.getter(name="globalExemptUrls") + def global_exempt_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "global_exempt_urls") + + @global_exempt_urls.setter + def global_exempt_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "global_exempt_urls", value) + + +if not MYPY: + class DataProtectionSettingsInlineRedactionPatternArgsDict(TypedDict): + redaction_place_holder: pulumi.Input['DataProtectionSettingsRedactionPlaceHolderArgsDict'] + built_in_pattern_id: NotRequired[pulumi.Input[str]] + confidence_level: NotRequired[pulumi.Input[float]] + custom_pattern: NotRequired[pulumi.Input['DataProtectionSettingsCustomPatternArgsDict']] + enforced_urls: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + exempt_urls: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] +elif False: + DataProtectionSettingsInlineRedactionPatternArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataProtectionSettingsInlineRedactionPatternArgs: + def __init__(__self__, *, + redaction_place_holder: pulumi.Input['DataProtectionSettingsRedactionPlaceHolderArgs'], + built_in_pattern_id: Optional[pulumi.Input[str]] = None, + confidence_level: Optional[pulumi.Input[float]] = None, + custom_pattern: Optional[pulumi.Input['DataProtectionSettingsCustomPatternArgs']] = None, + enforced_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + exempt_urls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + pulumi.set(__self__, "redaction_place_holder", redaction_place_holder) + if built_in_pattern_id is not None: + pulumi.set(__self__, "built_in_pattern_id", built_in_pattern_id) + if confidence_level is not None: + pulumi.set(__self__, "confidence_level", confidence_level) + if custom_pattern is not None: + pulumi.set(__self__, "custom_pattern", custom_pattern) + if enforced_urls is not None: + pulumi.set(__self__, "enforced_urls", enforced_urls) + if exempt_urls is not None: + pulumi.set(__self__, "exempt_urls", exempt_urls) + + @property + @pulumi.getter(name="redactionPlaceHolder") + def redaction_place_holder(self) -> pulumi.Input['DataProtectionSettingsRedactionPlaceHolderArgs']: + return pulumi.get(self, "redaction_place_holder") + + @redaction_place_holder.setter + def redaction_place_holder(self, value: pulumi.Input['DataProtectionSettingsRedactionPlaceHolderArgs']): + pulumi.set(self, "redaction_place_holder", value) + + @property + @pulumi.getter(name="builtInPatternId") + def built_in_pattern_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "built_in_pattern_id") + + @built_in_pattern_id.setter + def built_in_pattern_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "built_in_pattern_id", value) + + @property + @pulumi.getter(name="confidenceLevel") + def confidence_level(self) -> Optional[pulumi.Input[float]]: + return pulumi.get(self, "confidence_level") + + @confidence_level.setter + def confidence_level(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "confidence_level", value) + + @property + @pulumi.getter(name="customPattern") + def custom_pattern(self) -> Optional[pulumi.Input['DataProtectionSettingsCustomPatternArgs']]: + return pulumi.get(self, "custom_pattern") + + @custom_pattern.setter + def custom_pattern(self, value: Optional[pulumi.Input['DataProtectionSettingsCustomPatternArgs']]): + pulumi.set(self, "custom_pattern", value) + + @property + @pulumi.getter(name="enforcedUrls") + def enforced_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "enforced_urls") + + @enforced_urls.setter + def enforced_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "enforced_urls", value) + + @property + @pulumi.getter(name="exemptUrls") + def exempt_urls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "exempt_urls") + + @exempt_urls.setter + def exempt_urls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempt_urls", value) + + +if not MYPY: + class DataProtectionSettingsRedactionPlaceHolderArgsDict(TypedDict): + redaction_place_holder_type: pulumi.Input['DataProtectionSettingsRedactionPlaceHolderType'] + redaction_place_holder_text: NotRequired[pulumi.Input[str]] +elif False: + DataProtectionSettingsRedactionPlaceHolderArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class DataProtectionSettingsRedactionPlaceHolderArgs: + def __init__(__self__, *, + redaction_place_holder_type: pulumi.Input['DataProtectionSettingsRedactionPlaceHolderType'], + redaction_place_holder_text: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "redaction_place_holder_type", redaction_place_holder_type) + if redaction_place_holder_text is not None: + pulumi.set(__self__, "redaction_place_holder_text", redaction_place_holder_text) + + @property + @pulumi.getter(name="redactionPlaceHolderType") + def redaction_place_holder_type(self) -> pulumi.Input['DataProtectionSettingsRedactionPlaceHolderType']: + return pulumi.get(self, "redaction_place_holder_type") + + @redaction_place_holder_type.setter + def redaction_place_holder_type(self, value: pulumi.Input['DataProtectionSettingsRedactionPlaceHolderType']): + pulumi.set(self, "redaction_place_holder_type", value) + + @property + @pulumi.getter(name="redactionPlaceHolderText") + def redaction_place_holder_text(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "redaction_place_holder_text") + + @redaction_place_holder_text.setter + def redaction_place_holder_text(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "redaction_place_holder_text", value) + + if not MYPY: class IpAccessSettingsIpRuleArgsDict(TypedDict): ip_range: pulumi.Input[str] diff --git a/sdk/python/pulumi_aws_native/workspacesweb/data_protection_settings.py b/sdk/python/pulumi_aws_native/workspacesweb/data_protection_settings.py new file mode 100644 index 0000000000..0f84761db7 --- /dev/null +++ b/sdk/python/pulumi_aws_native/workspacesweb/data_protection_settings.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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DataProtectionSettingsArgs', 'DataProtectionSettings'] + +@pulumi.input_type +class DataProtectionSettingsArgs: + def __init__(__self__, *, + additional_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + customer_managed_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + inline_redaction_configuration: Optional[pulumi.Input['DataProtectionSettingsInlineRedactionConfigurationArgs']] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a DataProtectionSettings resource. + """ + if additional_encryption_context is not None: + pulumi.set(__self__, "additional_encryption_context", additional_encryption_context) + if customer_managed_key is not None: + pulumi.set(__self__, "customer_managed_key", customer_managed_key) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if inline_redaction_configuration is not None: + pulumi.set(__self__, "inline_redaction_configuration", inline_redaction_configuration) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="additionalEncryptionContext") + def additional_encryption_context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "additional_encryption_context") + + @additional_encryption_context.setter + def additional_encryption_context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "additional_encryption_context", value) + + @property + @pulumi.getter(name="customerManagedKey") + def customer_managed_key(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "customer_managed_key") + + @customer_managed_key.setter + def customer_managed_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_managed_key", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="inlineRedactionConfiguration") + def inline_redaction_configuration(self) -> Optional[pulumi.Input['DataProtectionSettingsInlineRedactionConfigurationArgs']]: + return pulumi.get(self, "inline_redaction_configuration") + + @inline_redaction_configuration.setter + def inline_redaction_configuration(self, value: Optional[pulumi.Input['DataProtectionSettingsInlineRedactionConfigurationArgs']]): + pulumi.set(self, "inline_redaction_configuration", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + 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 DataProtectionSettings(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + additional_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + customer_managed_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + inline_redaction_configuration: Optional[pulumi.Input[Union['DataProtectionSettingsInlineRedactionConfigurationArgs', 'DataProtectionSettingsInlineRedactionConfigurationArgsDict']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + + :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: Optional[DataProtectionSettingsArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + + :param str resource_name: The name of the resource. + :param DataProtectionSettingsArgs 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(DataProtectionSettingsArgs, 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, + additional_encryption_context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + customer_managed_key: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + inline_redaction_configuration: Optional[pulumi.Input[Union['DataProtectionSettingsInlineRedactionConfigurationArgs', 'DataProtectionSettingsInlineRedactionConfigurationArgsDict']]] = 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__ = DataProtectionSettingsArgs.__new__(DataProtectionSettingsArgs) + + __props__.__dict__["additional_encryption_context"] = additional_encryption_context + __props__.__dict__["customer_managed_key"] = customer_managed_key + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["inline_redaction_configuration"] = inline_redaction_configuration + __props__.__dict__["tags"] = tags + __props__.__dict__["associated_portal_arns"] = None + __props__.__dict__["creation_date"] = None + __props__.__dict__["data_protection_settings_arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["additionalEncryptionContext.*", "customerManagedKey"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(DataProtectionSettings, __self__).__init__( + 'aws-native:workspacesweb:DataProtectionSettings', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DataProtectionSettings': + """ + Get an existing DataProtectionSettings 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__ = DataProtectionSettingsArgs.__new__(DataProtectionSettingsArgs) + + __props__.__dict__["additional_encryption_context"] = None + __props__.__dict__["associated_portal_arns"] = None + __props__.__dict__["creation_date"] = None + __props__.__dict__["customer_managed_key"] = None + __props__.__dict__["data_protection_settings_arn"] = None + __props__.__dict__["description"] = None + __props__.__dict__["display_name"] = None + __props__.__dict__["inline_redaction_configuration"] = None + __props__.__dict__["tags"] = None + return DataProtectionSettings(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="additionalEncryptionContext") + def additional_encryption_context(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "additional_encryption_context") + + @property + @pulumi.getter(name="associatedPortalArns") + def associated_portal_arns(self) -> pulumi.Output[Sequence[str]]: + return pulumi.get(self, "associated_portal_arns") + + @property + @pulumi.getter(name="creationDate") + def creation_date(self) -> pulumi.Output[str]: + return pulumi.get(self, "creation_date") + + @property + @pulumi.getter(name="customerManagedKey") + def customer_managed_key(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "customer_managed_key") + + @property + @pulumi.getter(name="dataProtectionSettingsArn") + def data_protection_settings_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "data_protection_settings_arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="inlineRedactionConfiguration") + def inline_redaction_configuration(self) -> pulumi.Output[Optional['outputs.DataProtectionSettingsInlineRedactionConfiguration']]: + return pulumi.get(self, "inline_redaction_configuration") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/workspacesweb/get_data_protection_settings.py b/sdk/python/pulumi_aws_native/workspacesweb/get_data_protection_settings.py new file mode 100644 index 0000000000..22aaff2137 --- /dev/null +++ b/sdk/python/pulumi_aws_native/workspacesweb/get_data_protection_settings.py @@ -0,0 +1,137 @@ +# 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 sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetDataProtectionSettingsResult', + 'AwaitableGetDataProtectionSettingsResult', + 'get_data_protection_settings', + 'get_data_protection_settings_output', +] + +@pulumi.output_type +class GetDataProtectionSettingsResult: + def __init__(__self__, associated_portal_arns=None, creation_date=None, data_protection_settings_arn=None, description=None, display_name=None, inline_redaction_configuration=None, tags=None): + if associated_portal_arns and not isinstance(associated_portal_arns, list): + raise TypeError("Expected argument 'associated_portal_arns' to be a list") + pulumi.set(__self__, "associated_portal_arns", associated_portal_arns) + if creation_date and not isinstance(creation_date, str): + raise TypeError("Expected argument 'creation_date' to be a str") + pulumi.set(__self__, "creation_date", creation_date) + if data_protection_settings_arn and not isinstance(data_protection_settings_arn, str): + raise TypeError("Expected argument 'data_protection_settings_arn' to be a str") + pulumi.set(__self__, "data_protection_settings_arn", data_protection_settings_arn) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if inline_redaction_configuration and not isinstance(inline_redaction_configuration, dict): + raise TypeError("Expected argument 'inline_redaction_configuration' to be a dict") + pulumi.set(__self__, "inline_redaction_configuration", inline_redaction_configuration) + 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="associatedPortalArns") + def associated_portal_arns(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "associated_portal_arns") + + @property + @pulumi.getter(name="creationDate") + def creation_date(self) -> Optional[str]: + return pulumi.get(self, "creation_date") + + @property + @pulumi.getter(name="dataProtectionSettingsArn") + def data_protection_settings_arn(self) -> Optional[str]: + return pulumi.get(self, "data_protection_settings_arn") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[str]: + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="inlineRedactionConfiguration") + def inline_redaction_configuration(self) -> Optional['outputs.DataProtectionSettingsInlineRedactionConfiguration']: + return pulumi.get(self, "inline_redaction_configuration") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + return pulumi.get(self, "tags") + + +class AwaitableGetDataProtectionSettingsResult(GetDataProtectionSettingsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDataProtectionSettingsResult( + associated_portal_arns=self.associated_portal_arns, + creation_date=self.creation_date, + data_protection_settings_arn=self.data_protection_settings_arn, + description=self.description, + display_name=self.display_name, + inline_redaction_configuration=self.inline_redaction_configuration, + tags=self.tags) + + +def get_data_protection_settings(data_protection_settings_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataProtectionSettingsResult: + """ + Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + """ + __args__ = dict() + __args__['dataProtectionSettingsArn'] = data_protection_settings_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:workspacesweb:getDataProtectionSettings', __args__, opts=opts, typ=GetDataProtectionSettingsResult).value + + return AwaitableGetDataProtectionSettingsResult( + associated_portal_arns=pulumi.get(__ret__, 'associated_portal_arns'), + creation_date=pulumi.get(__ret__, 'creation_date'), + data_protection_settings_arn=pulumi.get(__ret__, 'data_protection_settings_arn'), + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + inline_redaction_configuration=pulumi.get(__ret__, 'inline_redaction_configuration'), + tags=pulumi.get(__ret__, 'tags')) +def get_data_protection_settings_output(data_protection_settings_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataProtectionSettingsResult]: + """ + Definition of AWS::WorkSpacesWeb::DataProtectionSettings Resource Type + """ + __args__ = dict() + __args__['dataProtectionSettingsArn'] = data_protection_settings_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:workspacesweb:getDataProtectionSettings', __args__, opts=opts, typ=GetDataProtectionSettingsResult) + return __ret__.apply(lambda __response__: GetDataProtectionSettingsResult( + associated_portal_arns=pulumi.get(__response__, 'associated_portal_arns'), + creation_date=pulumi.get(__response__, 'creation_date'), + data_protection_settings_arn=pulumi.get(__response__, 'data_protection_settings_arn'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + inline_redaction_configuration=pulumi.get(__response__, 'inline_redaction_configuration'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/workspacesweb/get_portal.py b/sdk/python/pulumi_aws_native/workspacesweb/get_portal.py index 986aa4a9a3..37053646b1 100644 --- a/sdk/python/pulumi_aws_native/workspacesweb/get_portal.py +++ b/sdk/python/pulumi_aws_native/workspacesweb/get_portal.py @@ -25,7 +25,7 @@ @pulumi.output_type class GetPortalResult: - def __init__(__self__, authentication_type=None, browser_settings_arn=None, browser_type=None, creation_date=None, display_name=None, instance_type=None, ip_access_settings_arn=None, max_concurrent_sessions=None, network_settings_arn=None, portal_arn=None, portal_endpoint=None, portal_status=None, renderer_type=None, service_provider_saml_metadata=None, status_reason=None, tags=None, trust_store_arn=None, user_access_logging_settings_arn=None, user_settings_arn=None): + def __init__(__self__, authentication_type=None, browser_settings_arn=None, browser_type=None, creation_date=None, data_protection_settings_arn=None, display_name=None, instance_type=None, ip_access_settings_arn=None, max_concurrent_sessions=None, network_settings_arn=None, portal_arn=None, portal_endpoint=None, portal_status=None, renderer_type=None, service_provider_saml_metadata=None, status_reason=None, tags=None, trust_store_arn=None, user_access_logging_settings_arn=None, user_settings_arn=None): if authentication_type and not isinstance(authentication_type, str): raise TypeError("Expected argument 'authentication_type' to be a str") pulumi.set(__self__, "authentication_type", authentication_type) @@ -38,6 +38,9 @@ def __init__(__self__, authentication_type=None, browser_settings_arn=None, brow if creation_date and not isinstance(creation_date, str): raise TypeError("Expected argument 'creation_date' to be a str") pulumi.set(__self__, "creation_date", creation_date) + if data_protection_settings_arn and not isinstance(data_protection_settings_arn, str): + raise TypeError("Expected argument 'data_protection_settings_arn' to be a str") + pulumi.set(__self__, "data_protection_settings_arn", data_protection_settings_arn) if display_name and not isinstance(display_name, str): raise TypeError("Expected argument 'display_name' to be a str") pulumi.set(__self__, "display_name", display_name) @@ -128,6 +131,11 @@ def creation_date(self) -> Optional[str]: """ return pulumi.get(self, "creation_date") + @property + @pulumi.getter(name="dataProtectionSettingsArn") + def data_protection_settings_arn(self) -> Optional[str]: + return pulumi.get(self, "data_protection_settings_arn") + @property @pulumi.getter(name="displayName") def display_name(self) -> Optional[str]: @@ -259,6 +267,7 @@ def __await__(self): browser_settings_arn=self.browser_settings_arn, browser_type=self.browser_type, creation_date=self.creation_date, + data_protection_settings_arn=self.data_protection_settings_arn, display_name=self.display_name, instance_type=self.instance_type, ip_access_settings_arn=self.ip_access_settings_arn, @@ -294,6 +303,7 @@ def get_portal(portal_arn: Optional[str] = None, browser_settings_arn=pulumi.get(__ret__, 'browser_settings_arn'), browser_type=pulumi.get(__ret__, 'browser_type'), creation_date=pulumi.get(__ret__, 'creation_date'), + data_protection_settings_arn=pulumi.get(__ret__, 'data_protection_settings_arn'), display_name=pulumi.get(__ret__, 'display_name'), instance_type=pulumi.get(__ret__, 'instance_type'), ip_access_settings_arn=pulumi.get(__ret__, 'ip_access_settings_arn'), @@ -326,6 +336,7 @@ def get_portal_output(portal_arn: Optional[pulumi.Input[str]] = None, browser_settings_arn=pulumi.get(__response__, 'browser_settings_arn'), browser_type=pulumi.get(__response__, 'browser_type'), creation_date=pulumi.get(__response__, 'creation_date'), + data_protection_settings_arn=pulumi.get(__response__, 'data_protection_settings_arn'), display_name=pulumi.get(__response__, 'display_name'), instance_type=pulumi.get(__response__, 'instance_type'), ip_access_settings_arn=pulumi.get(__response__, 'ip_access_settings_arn'), diff --git a/sdk/python/pulumi_aws_native/workspacesweb/outputs.py b/sdk/python/pulumi_aws_native/workspacesweb/outputs.py index 8954569986..cad7dfd0db 100644 --- a/sdk/python/pulumi_aws_native/workspacesweb/outputs.py +++ b/sdk/python/pulumi_aws_native/workspacesweb/outputs.py @@ -17,11 +17,250 @@ from ._enums import * __all__ = [ + 'DataProtectionSettingsCustomPattern', + 'DataProtectionSettingsInlineRedactionConfiguration', + 'DataProtectionSettingsInlineRedactionPattern', + 'DataProtectionSettingsRedactionPlaceHolder', 'IpAccessSettingsIpRule', 'UserSettingsCookieSpecification', 'UserSettingsCookieSynchronizationConfiguration', ] +@pulumi.output_type +class DataProtectionSettingsCustomPattern(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "patternName": + suggest = "pattern_name" + elif key == "patternRegex": + suggest = "pattern_regex" + elif key == "keywordRegex": + suggest = "keyword_regex" + elif key == "patternDescription": + suggest = "pattern_description" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataProtectionSettingsCustomPattern. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataProtectionSettingsCustomPattern.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataProtectionSettingsCustomPattern.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + pattern_name: str, + pattern_regex: str, + keyword_regex: Optional[str] = None, + pattern_description: Optional[str] = None): + pulumi.set(__self__, "pattern_name", pattern_name) + pulumi.set(__self__, "pattern_regex", pattern_regex) + if keyword_regex is not None: + pulumi.set(__self__, "keyword_regex", keyword_regex) + if pattern_description is not None: + pulumi.set(__self__, "pattern_description", pattern_description) + + @property + @pulumi.getter(name="patternName") + def pattern_name(self) -> str: + return pulumi.get(self, "pattern_name") + + @property + @pulumi.getter(name="patternRegex") + def pattern_regex(self) -> str: + return pulumi.get(self, "pattern_regex") + + @property + @pulumi.getter(name="keywordRegex") + def keyword_regex(self) -> Optional[str]: + return pulumi.get(self, "keyword_regex") + + @property + @pulumi.getter(name="patternDescription") + def pattern_description(self) -> Optional[str]: + return pulumi.get(self, "pattern_description") + + +@pulumi.output_type +class DataProtectionSettingsInlineRedactionConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "inlineRedactionPatterns": + suggest = "inline_redaction_patterns" + elif key == "globalConfidenceLevel": + suggest = "global_confidence_level" + elif key == "globalEnforcedUrls": + suggest = "global_enforced_urls" + elif key == "globalExemptUrls": + suggest = "global_exempt_urls" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataProtectionSettingsInlineRedactionConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataProtectionSettingsInlineRedactionConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataProtectionSettingsInlineRedactionConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + inline_redaction_patterns: Sequence['outputs.DataProtectionSettingsInlineRedactionPattern'], + global_confidence_level: Optional[float] = None, + global_enforced_urls: Optional[Sequence[str]] = None, + global_exempt_urls: Optional[Sequence[str]] = None): + pulumi.set(__self__, "inline_redaction_patterns", inline_redaction_patterns) + if global_confidence_level is not None: + pulumi.set(__self__, "global_confidence_level", global_confidence_level) + if global_enforced_urls is not None: + pulumi.set(__self__, "global_enforced_urls", global_enforced_urls) + if global_exempt_urls is not None: + pulumi.set(__self__, "global_exempt_urls", global_exempt_urls) + + @property + @pulumi.getter(name="inlineRedactionPatterns") + def inline_redaction_patterns(self) -> Sequence['outputs.DataProtectionSettingsInlineRedactionPattern']: + return pulumi.get(self, "inline_redaction_patterns") + + @property + @pulumi.getter(name="globalConfidenceLevel") + def global_confidence_level(self) -> Optional[float]: + return pulumi.get(self, "global_confidence_level") + + @property + @pulumi.getter(name="globalEnforcedUrls") + def global_enforced_urls(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "global_enforced_urls") + + @property + @pulumi.getter(name="globalExemptUrls") + def global_exempt_urls(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "global_exempt_urls") + + +@pulumi.output_type +class DataProtectionSettingsInlineRedactionPattern(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "redactionPlaceHolder": + suggest = "redaction_place_holder" + elif key == "builtInPatternId": + suggest = "built_in_pattern_id" + elif key == "confidenceLevel": + suggest = "confidence_level" + elif key == "customPattern": + suggest = "custom_pattern" + elif key == "enforcedUrls": + suggest = "enforced_urls" + elif key == "exemptUrls": + suggest = "exempt_urls" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataProtectionSettingsInlineRedactionPattern. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataProtectionSettingsInlineRedactionPattern.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataProtectionSettingsInlineRedactionPattern.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + redaction_place_holder: 'outputs.DataProtectionSettingsRedactionPlaceHolder', + built_in_pattern_id: Optional[str] = None, + confidence_level: Optional[float] = None, + custom_pattern: Optional['outputs.DataProtectionSettingsCustomPattern'] = None, + enforced_urls: Optional[Sequence[str]] = None, + exempt_urls: Optional[Sequence[str]] = None): + pulumi.set(__self__, "redaction_place_holder", redaction_place_holder) + if built_in_pattern_id is not None: + pulumi.set(__self__, "built_in_pattern_id", built_in_pattern_id) + if confidence_level is not None: + pulumi.set(__self__, "confidence_level", confidence_level) + if custom_pattern is not None: + pulumi.set(__self__, "custom_pattern", custom_pattern) + if enforced_urls is not None: + pulumi.set(__self__, "enforced_urls", enforced_urls) + if exempt_urls is not None: + pulumi.set(__self__, "exempt_urls", exempt_urls) + + @property + @pulumi.getter(name="redactionPlaceHolder") + def redaction_place_holder(self) -> 'outputs.DataProtectionSettingsRedactionPlaceHolder': + return pulumi.get(self, "redaction_place_holder") + + @property + @pulumi.getter(name="builtInPatternId") + def built_in_pattern_id(self) -> Optional[str]: + return pulumi.get(self, "built_in_pattern_id") + + @property + @pulumi.getter(name="confidenceLevel") + def confidence_level(self) -> Optional[float]: + return pulumi.get(self, "confidence_level") + + @property + @pulumi.getter(name="customPattern") + def custom_pattern(self) -> Optional['outputs.DataProtectionSettingsCustomPattern']: + return pulumi.get(self, "custom_pattern") + + @property + @pulumi.getter(name="enforcedUrls") + def enforced_urls(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "enforced_urls") + + @property + @pulumi.getter(name="exemptUrls") + def exempt_urls(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "exempt_urls") + + +@pulumi.output_type +class DataProtectionSettingsRedactionPlaceHolder(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "redactionPlaceHolderType": + suggest = "redaction_place_holder_type" + elif key == "redactionPlaceHolderText": + suggest = "redaction_place_holder_text" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DataProtectionSettingsRedactionPlaceHolder. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DataProtectionSettingsRedactionPlaceHolder.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DataProtectionSettingsRedactionPlaceHolder.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + redaction_place_holder_type: 'DataProtectionSettingsRedactionPlaceHolderType', + redaction_place_holder_text: Optional[str] = None): + pulumi.set(__self__, "redaction_place_holder_type", redaction_place_holder_type) + if redaction_place_holder_text is not None: + pulumi.set(__self__, "redaction_place_holder_text", redaction_place_holder_text) + + @property + @pulumi.getter(name="redactionPlaceHolderType") + def redaction_place_holder_type(self) -> 'DataProtectionSettingsRedactionPlaceHolderType': + return pulumi.get(self, "redaction_place_holder_type") + + @property + @pulumi.getter(name="redactionPlaceHolderText") + def redaction_place_holder_text(self) -> Optional[str]: + return pulumi.get(self, "redaction_place_holder_text") + + @pulumi.output_type class IpAccessSettingsIpRule(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/workspacesweb/portal.py b/sdk/python/pulumi_aws_native/workspacesweb/portal.py index 2d6949a42a..921fe41f46 100644 --- a/sdk/python/pulumi_aws_native/workspacesweb/portal.py +++ b/sdk/python/pulumi_aws_native/workspacesweb/portal.py @@ -26,6 +26,7 @@ def __init__(__self__, *, authentication_type: Optional[pulumi.Input['PortalAuthenticationType']] = None, browser_settings_arn: Optional[pulumi.Input[str]] = None, customer_managed_key: Optional[pulumi.Input[str]] = None, + data_protection_settings_arn: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input['PortalInstanceType']] = None, ip_access_settings_arn: Optional[pulumi.Input[str]] = None, @@ -73,6 +74,8 @@ def __init__(__self__, *, pulumi.set(__self__, "browser_settings_arn", browser_settings_arn) if customer_managed_key is not None: pulumi.set(__self__, "customer_managed_key", customer_managed_key) + if data_protection_settings_arn is not None: + pulumi.set(__self__, "data_protection_settings_arn", data_protection_settings_arn) if display_name is not None: pulumi.set(__self__, "display_name", display_name) if instance_type is not None: @@ -154,6 +157,15 @@ def customer_managed_key(self) -> Optional[pulumi.Input[str]]: def customer_managed_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "customer_managed_key", value) + @property + @pulumi.getter(name="dataProtectionSettingsArn") + def data_protection_settings_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "data_protection_settings_arn") + + @data_protection_settings_arn.setter + def data_protection_settings_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_protection_settings_arn", value) + @property @pulumi.getter(name="displayName") def display_name(self) -> Optional[pulumi.Input[str]]: @@ -272,6 +284,7 @@ def __init__(__self__, authentication_type: Optional[pulumi.Input['PortalAuthenticationType']] = None, browser_settings_arn: Optional[pulumi.Input[str]] = None, customer_managed_key: Optional[pulumi.Input[str]] = None, + data_protection_settings_arn: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input['PortalInstanceType']] = None, ip_access_settings_arn: Optional[pulumi.Input[str]] = None, @@ -343,6 +356,7 @@ def _internal_init(__self__, authentication_type: Optional[pulumi.Input['PortalAuthenticationType']] = None, browser_settings_arn: Optional[pulumi.Input[str]] = None, customer_managed_key: Optional[pulumi.Input[str]] = None, + data_protection_settings_arn: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, instance_type: Optional[pulumi.Input['PortalInstanceType']] = None, ip_access_settings_arn: Optional[pulumi.Input[str]] = None, @@ -365,6 +379,7 @@ def _internal_init(__self__, __props__.__dict__["authentication_type"] = authentication_type __props__.__dict__["browser_settings_arn"] = browser_settings_arn __props__.__dict__["customer_managed_key"] = customer_managed_key + __props__.__dict__["data_protection_settings_arn"] = data_protection_settings_arn __props__.__dict__["display_name"] = display_name __props__.__dict__["instance_type"] = instance_type __props__.__dict__["ip_access_settings_arn"] = ip_access_settings_arn @@ -412,6 +427,7 @@ def get(resource_name: str, __props__.__dict__["browser_type"] = None __props__.__dict__["creation_date"] = None __props__.__dict__["customer_managed_key"] = None + __props__.__dict__["data_protection_settings_arn"] = None __props__.__dict__["display_name"] = None __props__.__dict__["instance_type"] = None __props__.__dict__["ip_access_settings_arn"] = None @@ -491,6 +507,11 @@ def customer_managed_key(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "customer_managed_key") + @property + @pulumi.getter(name="dataProtectionSettingsArn") + def data_protection_settings_arn(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "data_protection_settings_arn") + @property @pulumi.getter(name="displayName") def display_name(self) -> pulumi.Output[Optional[str]]: